Zarządzanie ryzykiem dostawcy — testuj ciągłość, nie logo
Zarządzanie ryzykiem dostawcy AI to bezpieczne utrzymanie krytycznej pracy inżynierskiej, gdy dostawca zmienia model, limit, trasę, cenę, warunki albo cały produkt. Maksimum w pytaniu Q25 CTO Scorecard wymaga przetestowanego fallbacku i trybu ograniczonego, eksportowalnych artefaktów, przeglądu umów i lokalizacji danych, nazwanego właściciela oraz ćwiczenia odtworzenia. Sam drugi dostawca tego wyniku nie daje.
Ta strona jest dla CTO lub VP Engineering, który odpowiada za dostarczanie, gdy dostawca coś zmienia, oraz dla tech leada, który prowadzi ćwiczenie odtworzenia. Przed tą stroną: zarządzanie kosztami użycia AI. Ostatnie tygodnie pokazują, po co. Pod koniec sierpnia (31.08.2026) Codex wycofał GPT-5.4 i przeniósł użytkowników na GPT-6 Sol. 4 września 2026 domyślnym modelem Codeksa została GPT-6 Astra. 22 września 2026 kanał latest Claude Code przełączył domyślny model na Claude Opus 5.5. Żadna z tych zmian nie czekała na twój kalendarz wydań, a każda przesunęła koszt zmiany i punkt odniesienia dla review.
Co zyskujesz z przeglądu ciągłości
Dział zatytułowany „Co zyskujesz z przeglądu ciągłości”- Rejestr ciągłości usług, który dla każdej zależności AI wskazuje właściciela, cel odtworzenia i fallback.
- Konfigurację fallbacku dla Claude Code i Codeksa, która przy awarii kończy się błędem i blokuje merge (tzw. fail closed): brak review agenta nigdy nie liczy się jako review zaliczone.
- Ćwiczenie odtworzenia na danych syntetycznych, które przeprowadzisz w dwie godziny, razem z listą dowodów, które ma wytworzyć.
- Obserwację zmian, która wyłapuje wycofania modeli i zmiany modeli domyślnych, zanim dotrą do twojego potoku.
- Kryteria akceptacji, które zespoły bezpieczeństwa i finansów podpiszą bez czytania każdego przebiegu.
Która odpowiedź daje pełny wynik w Q25?
Dział zatytułowany „Która odpowiedź daje pełny wynik w Q25?”Scorecard CTO pyta: „Jak zarządzasz vendor risk (Anthropic / OpenAI / Cursor / Google)?” i punktuje cztery odpowiedzi.
| Odpowiedź | Wynik | Czego nadal nie udowodniono |
|---|---|---|
| Jeden dostawca, brak planu B | 0 | Niczego: nikt nie wie, co stanie, gdy stanie dostawca |
| Jeden dostawca, ale śledzimy konkurencję | 1 | Świadomość to nie fallback; nic nie zostało uruchomione |
| Udokumentowany fallback lub tryb ograniczony przetestowany na reprezentatywnych workflow | 2 | Artefaktów, umów, lokalizacji danych i powtarzalnego ćwiczenia |
| Przetestowany fallback i tryb ograniczony, eksportowalne artefakty, przegląd umów i lokalizacji danych, nazwany właściciel, ćwiczenie odtworzenia | 3 | Niczego strukturalnego, o ile ćwiczenie się powtarza |
Konfiguracja z jednym dostawcą może dostać 3 punkty. Liczy się to, czy zapisany cel odtworzenia wytrzymuje test, a nie liczba logotypów na fakturze. Konfiguracja z wieloma dostawcami, której nikt nie przećwiczył, dostaje co najwyżej 1.
Co liczy się jako zmiana u dostawcy?
Dział zatytułowany „Co liczy się jako zmiana u dostawcy?”Awaria jest najmniej prawdopodobnym zdarzeniem. Większość zakłóceń przychodzi jako zwykła zmiana produktu. Każdy wiersz z datą wydarzył się albo został ogłoszony w tygodniach przed datą lastUpdated tej strony; ostatni wiersz opisuje przypadek ogólny.
| Rodzaj zmiany | Przykład z datą (sprawdzone 2026-09-26) | Co psuje | Sygnał do obserwacji |
|---|---|---|---|
| Wycofanie modelu | Codex wycofał GPT-5.4 2026-08-31 i przeniósł użytkowników na GPT-6 Sol | Przypięte zadania CI, bazowe wyniki ewaluacji | Strona wycofań dostawcy, katalog modeli Codeksa |
| Zmiana modelu domyślnego | 2026-09-04 domyślnym modelem Codeksa została GPT-6 Astra; w Claude Code od v2.1.280 (kanał latest; stable 2.1.274 jeszcze do niej nie doszedł 2026-09-26) domyślny jest Opus 5.5 | Koszt zmiany, punkt odniesienia review, ustawienia poziomu wysiłku (effort) | Informacje o wydaniach (release notes), kanał stable a latest |
| Model usunięty z platformy | GitHub Copilot wycofuje 2026-10-02 cztery modele, w tym Claude Opus 4.7 | Konfiguracje, które wybierały te modele po nazwie | Historia wycofań modeli w Copilocie |
| Cichy fallback w żądaniu | Żądania do Opus 5.5 oznaczone jako dotyczące cyberbezpieczeństwa Claude Code przekierowuje na Opus 4.8, a dotyczące biologii — na Opus 5; tak jest od premiery Opus 5.5 (2026-09-22) | Jakość pracy nad bezpieczeństwem, bez widocznego błędu | Nazwa modelu w logach przebiegu |
| Zamknięcie produktu | Rozszerzenie Roo Code zostało zamknięte 15 maja 2026, według jego README | Cały workflow i zapisana w nim konfiguracja | Status repozytorium, komunikaty dostawcy |
| Limity i plany | Anthropic podniósł 2026-09-22 pięciogodzinne limity użycia w Pro, Max, Team i Enterprise z licencjami na stanowisko | Planowanie pojemności, w obie strony | Strony planów, konsola administracyjna |
| Trasa, region lub warunki | Każda zmiana retencji, podprocesorów lub regionu przetwarzania | Zgoda compliance dla danej klasy danych | Powiadomienia umowne, lista podprocesorów |
Anthropic zobowiązuje się do co najmniej 60 dni wyprzedzenia przed wycofaniem modelu (strona model deprecations, sprawdzone 2026-09-26). Sześćdziesiąt dni wystarczy tylko wtedy, gdy ktoś przeczyta powiadomienie i ma gotową, przetestowaną ścieżkę. Aktualne nazwy modeli, ceny i daty wycofań są na jednej stronie: w hubie modeli.
Zbuduj plan ciągłości w sześciu krokach
Dział zatytułowany „Zbuduj plan ciągłości w sześciu krokach”-
Spisz każdą zależność, nie tylko API. Dla każdego workflow AI wypisz tożsamość (SSO, licencje), model, trasę (bezpośrednie API, platforma chmurowa, bramka), integracje (serwery MCP, aplikacje GitHub), przechowywane artefakty, rozliczenia i warunki prawne. Asystent kodowania, który działa, ale nikogo nie zaloguje, jest niedostępny.
-
Ustal cel odtworzenia dla każdego workflow. Zapisz dopuszczalny czas niedostępności, akceptowalny spadek jakości, dopuszczalny wzrost kosztu i pracę ręczną, którą zespół udźwignie. Opcjonalny asystent w edytorze zniesie dzień przerwy. Bramka review w CI, która blokuje każdy merge, nie zniesie.
-
Wybierz najmniejszy fallback, który spełnia cel. Opcje od najtańszej do najdroższej: praca ręczna według spisanej procedury, kolejka czekająca na powrót usługi, okrojona funkcja, inny zatwierdzony model tego samego dostawcy, ten sam model przez inną trasę i inny dostawca. Wybierz pierwszą opcję, która spełnia cel.
-
Zatwierdź każdy fallback dla tej samej klasy danych. Trasa zapasowa ma własne warunki retencji, regionu i podprocesorów. Przeprowadź ją przez ten sam przegląd co trasę główną w polityce danych i compliance AI, zanim będzie potrzebna. Dostępność nigdy nie wygrywa z compliance.
-
Skonfiguruj fallback tak, by awaria blokowała merge. Gdy niedostępne są i trasa główna, i zapasowa, workflow ma zgłosić „incomplete” i przekazać sprawę człowiekowi, a nie przejść po cichu. Konfiguracja dla każdego narzędzia jest niżej.
-
Przećwicz to i powtarzaj według harmonogramu. Przeprowadzaj poniższe ćwiczenie odtworzenia raz na kwartał i po każdym powiadomieniu dostawcy, które dotyka krytycznego workflow. Dowody dołącz do rejestru.
Szablon rejestru ciągłości usług
Dział zatytułowany „Szablon rejestru ciągłości usług”Skopiuj tę tabelę do polityki narzędziowej i prowadź jeden wiersz na każdy krytyczny workflow. Dwa wiersze to wypełnione przykłady.
| Workflow | Krytyczność | Trasa główna (narzędzie, model, trasa) | Fallback | Tryb ograniczony | Cel odtworzenia | Klasa danych zatwierdzona dla fallbacku | Eksportowalne artefakty | Właściciel | Ostatnie ćwiczenie |
|---|---|---|---|---|---|---|---|---|---|
| Agent review PR w CI | Blokuje merge | Claude Code, Opus 5.5, API Anthropic | Sonnet 5 na tej samej trasie | Zadanie oznacza „incomplete”, wymagane review CODEOWNERS | 1 godzina do trybu ograniczonego, bez cichego przejścia | Kod wewnętrzny (tak) | REVIEW.md, prompty, zestaw ewaluacji | Lider platformy | 2026-09-12 |
| Kodowanie interaktywne | Opcjonalne | Codex, GPT-6 Astra | Profil GPT-6 Sol; Claude Code z AGENTS.md | Praca ręczna | 1 dzień roboczy | Kod wewnętrzny (tak) | AGENTS.md, umiejętności (skills), specyfikacje | Szef inżynierii | 2026-08-29 |
Kolumna Eksportowalne artefakty to miejsce, w którym przenośność staje się konkretna. AGENTS.md, Agent Skills, konfiguracja MCP, specyfikacje i zestawy ewaluacji przechodzą między narzędziami. To, co zostaje u dostawcy, i jak przećwiczyć pełną zmianę narzędzia, opisuje strona jak uniknąć uzależnienia od dostawcy.
Skonfiguruj fallback w każdym narzędziu
Dział zatytułowany „Skonfiguruj fallback w każdym narzędziu”Narzędzia różnią się w jednym ważnym punkcie. Claude Code ma wbudowaną flagę modelu zapasowego. Codex 0.157.1 jej nie ma (sprawdzone w codex --help i codex exec --help), więc fallbackiem jest drugi profil wywoływany przez twój skrypt. Dla Cursora ta strona nie podaje żadnego modelu ani ustawienia domyślnego, bo 2026-09-26 nie dało się ich zweryfikować na cursor.com.
Dodaj model zapasowy do zadań CI. Claude Code v2.1.283 przyjmuje --fallback-model, który przełącza na wskazany model lub modele, gdy model domyślny jest przeciążony albo niedostępny („when the default model is overloaded or not available”), i na początku każdej tury użytkownika ponawia próbę z modelem głównym. Opakuj zadanie tak, by całkowita porażka blokowała merge:
# Krok CI (terminal). Klucz API pochodzi z magazynu sekretów CI.if ! claude -p "Review the diff against origin/main using the rules in REVIEW.md. Report findings as JSON." \ --model claude-opus-5-5 --fallback-model claude-sonnet-5 \ --allowedTools "Bash(git diff *)" "Bash(git log *)" Read Grep Glob \ --output-format json --max-budget-usd 5 > review.json; then echo "agent-review: INCOMPLETE - agent run failed (model unavailable or budget exhausted), human review required" >&2 exit 1fiWyczerpanie budżetu też blokuje merge: gdy skończy się --max-budget-usd, claude -p kończy się kodem 1 z podtypem wyniku error_max_budget_usd, dlatego komunikat wymienia obie przyczyny.
Przebieg claude -p startuje w trybie Manual, który bez zezwolenia odmawia edycji i poleceń powłoki. Tryb Manual z tą listą dozwolonych narzędzi pozwala zadaniu czytać diff, ale nie edytować plików. Zapisuj w logu zadania, który model odpowiedział: fallback, którego nikt nie widzi, staje się nowym punktem odniesienia bez żadnej ewaluacji.
Miej gotową drugą trasę. Te same modele Claude działają przez Amazon Bedrock, Agent Platform w Google Cloud (dawniej Vertex AI) i Microsoft Foundry. Aliasy rozwiązują się tam inaczej: 2026-09-26 alias sonnet oznaczał Sonnet 5 w API Anthropic, ale Sonnet 4.5 w Bedrock, Google Cloud i Foundry. Na każdej trasie przypinaj pełne identyfikatory modeli. Konfigurację tras i kontrolę regionów opisuje strona gdzie działa model.
Spowolnij zmiany modeli domyślnych. Ustaw całej flocie "autoUpdatesChannel": "stable". Kanał stable jest mniej więcej tydzień za latest, co daje ci tydzień na ewaluacje, zanim nowy model domyślny trafi do wszystkich. 2026-09-26 stable to v2.1.274, w której Opus 5.5 jest niedostępny (wymaga v2.1.280+, czyli kanału latest). Przypnij runner CI do sprawdzonej wersji z kanału latest (na przykład npm @anthropic-ai/claude-code@2.1.283) albo zostań przy stable i przypnij claude-opus-5, dopóki stable nie dojdzie do 2.1.280.
Utwórz profil zapasowy. --profile NAZWA (-p) nakłada $CODEX_HOME/NAZWA.config.toml na konfigurację bazową:
model = "gpt-6-sol"Wywołaj go, gdy zawiedzie trasa główna, a gdy zawiodą obie, zakończ zadanie błędem i zablokuj merge:
# Krok CI (terminal). Dane uwierzytelniające pochodzą z magazynu sekretów CI.PROMPT="Review the diff against origin/main using the rules in AGENTS.md. Report findings as JSON."codex exec --json -m gpt-6-astra -c default_permissions=':read-only' "$PROMPT" > review.jsonl \ || codex -p fallback exec --json -c default_permissions=':read-only' "$PROMPT" > review.jsonl \ || { echo "agent-review: INCOMPLETE - model unavailable, human review required" >&2; exit 1; }Profile uprawnień są w Codeksie 0.157.1 w wersji beta. Profil :read-only nie pozwala zadaniu review pisać do checkoutu.
Obserwuj katalog modeli. Codex ma katalog modeli wbudowany w plik binarny, razem z następcą i datą wycofania każdego modelu. Uruchom to w terminalu po każdej aktualizacji Codeksa i porównaj wynik z kopią z poprzedniego miesiąca:
codex debug models --bundled \ | jq -c '.models[] | select(.upgrade != null) | {slug, replacement: .upgrade.model, retirement_at: .upgrade.retirement_at}'W wersji 0.157.1 polecenie zwraca pięć modeli z wyznaczonym następcą. Datę wycofania ma tylko GPT-5.4 (2026-08-31).
Fallbackiem jest inne zatwierdzone narzędzie albo praca ręczna. Listy modeli, ustawień domyślnych i warunków planów Cursora nie dało się 2026-09-26 zweryfikować na cursor.com, więc ta strona żadnych nie podaje. Sprawdź je we własnej konsoli administracyjnej i wpisz do rejestru.
Trzymaj kontekst pracy w przenośnych plikach. Specyfikacje, zestawy ewaluacji i konfiguracja serwerów MCP przechodzą do Claude Code lub Codeksa bez konwersji. Claude Code potrafi też zaimportować konfigurację z Cursora poleceniem claude import cursor --dry-run, które pokazuje, co zostałoby przeniesione, niczego nie zapisując.
Przećwicz to tak samo. Poniższe ćwiczenie odtworzenia obowiązuje bez zmian. Pytanie brzmi: czy użytkownik Cursora dokończy reprezentatywne zadanie w narzędziu zapasowym w ramach celu odtworzenia.
Przeprowadź ćwiczenie odtworzenia
Dział zatytułowany „Przeprowadź ćwiczenie odtworzenia”Ćwiczenie odtworzenia dowodzi, że rejestr mówi prawdę. Przeprowadzaj je na gałęzi albo w repozytorium testowym z danymi syntetycznymi, nigdy na produkcji.
| Scenariusz | Jak go bezpiecznie zasymulować | Oczekiwany wynik | Dowód do zapisania |
|---|---|---|---|
| Model główny niedostępny | Ustaw w zadaniu CI --model lub -m na identyfikator modelu, do którego twój klucz nie ma uprawnień, albo który nie istnieje | Codex: uruchamia się profil zapasowy. Claude Code: w v2.1.285 nierozpoznany identyfikator modelu głównego uruchamia fallback; log pokazuje unrecognized_model, a pole modelUsage w wyniku JSON wskazuje model zapasowy. Powtórz to po każdej aktualizacji | Log zadania, czas do zielonego wyniku |
| Wszystkie modele niedostępne | Unieważnij klucz API zadania testowego | Zadanie kończy się błędem „incomplete” i blokuje merge; wymagane jest review człowieka | Log zadania, zablokowany PR |
| Zmiana modelu domyślnego | Uruchom zestaw ewaluacji na nowym modelu domyślnym, zanim przejdzie na niego flota | Wyniki w uzgodnionej tolerancji albo przypięcie zostaje | Raport z ewaluacji |
| Narzędzie niedostępne przez tydzień | Jeden inżynier kończy reprezentatywne zadanie w narzędziu zapasowym | Zadanie przechodzi zwykłe bramki w ramach celu | Link do PR, czas pracy |
| Zmiana trasy lub warunków | Usuń w rejestrze zatwierdzenie trasy zapasowej | Nikt nie może jej wybrać, dopóki nie zostanie ponownie zatwierdzona | Zaktualizowany wiersz rejestru |
| Eksport artefaktów | Wyeksportuj przenośne pliki i odtwórz je w czystym klonie | Narzędzie zapasowe czyta instrukcje i umiejętności (skills) | Odtworzone repozytorium |
Zmierz czas odtworzenia, zmianę jakości, zmianę kosztu, pracę ręczną i każdą utraconą możliwość. Nazwany właściciel podpisuje wynik. Nieudany scenariusz to przydatne ustalenie: dopisz go do roadmapy narzędzi AI z budżetem i datą.
Jak udowodnić, że fallback nadal spełnia poprzeczkę?
Dział zatytułowany „Jak udowodnić, że fallback nadal spełnia poprzeczkę?”Fallback, który się uruchamia, to jeszcze nie fallback, który działa. Udowadniasz to tymi samymi dowodami co dla trasy głównej, bez czytania każdego diffa:
- Bramki zostają identyczne. Testy, sprawdzanie typów, lint, skany bezpieczeństwa i wymagani recenzenci obowiązują bez zmian na ścieżce zapasowej. Fallback, który pomija bramkę, to naruszenie polityki, a nie tryb ograniczony.
- Ewaluacje działają na modelu zapasowym. Uruchom zestaw ewaluacji na fallbacku, zanim go zatwierdzisz, i ponownie po każdej zmianie u dostawcy. Procedura jest taka sama jak w 48-godzinnym playbooku nowego modelu. Sam zestaw ewaluacji opisuje strona ewaluacja agentów kodujących.
- Akceptację się mierzy, a nie zakłada. Porównaj odsetek zmian z fallbacku, które przechodzą bramki, z odsetkiem dla trasy głównej w tym samym okresie.
- Koszt pozostaje widoczny. Fallback na droższą trasę pojawia się w miesięcznym przeglądzie wydatków opisanym w zarządzaniu kosztami użycia AI.
- Podpisuje konkretna osoba. Właściciel workflow podpisuje dowody z ćwiczenia; bezpieczeństwo podpisuje zatwierdzenie klasy danych dla każdej trasy.
Prompty do przeglądu ciągłości
Dział zatytułowany „Prompty do przeglądu ciągłości”Wklej je do Claude Code lub Codeksa w katalogu głównym repozytorium z polityką narzędziową. Działają tak samo w obu narzędziach.
Co psuje się w planach ciągłości dostawców?
Dział zatytułowany „Co psuje się w planach ciągłości dostawców?”Abstrakcja bez równoważności. Bramka czy router przełączy endpoint, ale nie wyrówna modeli, okien kontekstu, wywołań narzędzi ani warunków regionalnych. Przykład aliasu sonnet wyżej pokazuje, że ta sama nazwa może oznaczać inny model na innej trasie. Wyjście: przypinaj pełne identyfikatory modeli i zatwierdzaj każdą trasę osobnym przebiegiem ewaluacji.
Cichy fallback staje się punktem odniesienia. Automatyczny fallback utrzymuje zadanie na zielono, jakość spada, a zespół kalibruje się do słabszego modelu. Wyjście: zapisuj w każdym przebiegu model, który odpowiedział, i alarmuj, gdy fallback obsłuży w tygodniu więcej niż uzgodniony odsetek przebiegów.
Bramka agenta przepuszcza kod przy awarii. Zadanie review, które kończy się kodem 0, gdy model jest nieosiągalny, wpuszcza do merge niezrecenzowany kod. Wyjście: zastosuj opisane wyżej opakowanie, które przy awarii blokuje merge, i włącz scenariusz „wszystkie modele niedostępne” do każdego ćwiczenia.
Fallback łamie politykę danych. Drugi dostawca lub region nigdy nie został zatwierdzony dla kodu, który teraz widzi. Wyjście: usuń go z rejestru, dopóki nie przejdzie kwestionariusza dla dostawców, i sprawdź w logach, jakie dane już wysłano.
Prywatne konta stają się fallbackiem w cieniu. W czasie awarii inżynierowie przechodzą na prywatne plany, których nie obejmują twoje warunki danych. Wyjście: zapewnij z góry zatwierdzoną licencję zapasową i wymuś logowanie przez organizację, jak opisano w kontach zespołu.
Ćwiczenie odbyło się raz. Ćwiczenie sprzed roku nic nie mówi o modelach domyślnych z tego miesiąca. Wyjście: powiąż ćwiczenie z przeglądem kwartalnym i z każdym powiadomieniem dostawcy, które dotyka krytycznego workflow. Jeśli zmiana u dostawcy wywoła incydent, poprowadź go procesem obsługi incydentów agentów.
Dokąd dalej z ryzykiem dostawcy
Dział zatytułowany „Dokąd dalej z ryzykiem dostawcy”Wszystkie odpowiedzi ze scorecardu znajdziesz w przewodniku po scorecardzie CTO.