BlogAgenci AI
Co wersjonować, żeby wynik agenta dało się później wyjaśnić
Wersjonuj wszystko, co może zmienić to, jak agent obsługuje sprawę: model i jego ustawienia, prompty i przykłady, opisy narzędzi i ich kod, reguły biznesowe, dane do wyszukiwania i sam kod workflow. Połącz je w jeden manifest wydania, oznaczaj jego identyfikatorem każdą sprawę i każdy ślad wykonania i przechowuj zapis tego, co agent przeczytał i zdecydował. Gdy ktoś po miesiącach zapyta o wynik, wyjaśniasz go na podstawie tego zapisu. Ponowne uruchomienie sprawy rzadko jest możliwe i nie pokazałoby, co stało się wtedy.
Zachowanie zmienia nie tylko prompt
Zespoły zwykle wersjonują kod, a czasem prompt. Pozostałe elementy zmieniają się niezauważenie, choć każdy może zmienić wynik sprawy:
- Identyfikator modelu i ustawienia, takie jak effort albo limity odpowiedzi
- Opisy narzędzi, w których według przewodnika Anthropic o pisaniu narzędzi nawet drobne zmiany sformułowań potrafią wyraźnie przesunąć wyniki
- Implementacja narzędzia, na przykład serwer MCP wdrażany według własnego harmonogramu
- Reguły biznesowe i progi, często trzymane w tabeli konfiguracyjnej edytowanej przez zespół operacyjny
- Indeks wyszukiwania przebudowywany co noc
- Kod workflow, wersja frameworka i oceniacze w ewaluacjach
Jeden manifest na wydanie
Zbierz te odwołania w jednym pliku generowanym przy wydaniu i przechowywanym razem z kodem. Jego identyfikator staje się wersją agenta. Przykład jest hipotetyczny; odwołania do commitów i wersje to wartości zastępcze.
agent: invoice-matching
release: 2026.10.3
model:
id: claude-sonnet-5-5 # exact ID sent to the provider
settings: {effort: medium, max_tokens: 4000}
prompt: prompts/invoice-agent.md@3f2a91c
examples: examples/invoice-fewshot.jsonl@3f2a91c
tool_descriptions: tools/descriptions.yaml@3f2a91c
tool_servers:
erp-mcp: 1.8.2
policy: ap-tolerance-policy v4
retrieval_index: supplier-terms build 2026-10-20
workflow_code: 3f2a91c
lockfile: uv.lock@3f2a91c
test_set: invoice-cases v12, passed 2026-10-21Oznaczaj wydaniem każdy rekord sprawy i każdy span. Konwencje semantyczne OpenTelemetry dla spanów agentów zawierają do tego atrybut gen_ai.agent.version, wciąż ze statusem Development. Zapisuj dokładny identyfikator modelu, który wysyłasz. Przegląd modeli Anthropic mówi na przykład, że każdy aktualny identyfikator modelu Claude to przypięty snapshot, a jednocześnie podaje daty wycofania, co jest kolejnym powodem, by nie liczyć na późniejsze uruchomienie starej wersji.
Rekonstrukcja to nie odtworzenie
Żeby później wyjaśnić sprawę, potrzebujesz wydania, danych wejściowych w postaci, w jakiej przeczytał je agent, każdego wywołania narzędzia z wynikiem, odpowiedzi modelu i wszystkich decyzji ludzi. Checkpointy w tym pomagają. W LangGraph każdy checkpoint zawiera wartości stanu, metadane, znacznik czasu i odwołanie do poprzedniego checkpointu, a get_state_history wymienia je dla danego wątku.
Odtworzenie to coś innego. Ta sama dokumentacja wyjaśnia, że wznowienie od wcześniejszego checkpointu ponownie uruchamia późniejsze węzły, w tym wywołania modelu i żądania API, więc powstaje nowy przebieg na dzisiejszych systemach. Zapisany rekord służy do wyjaśniania przeszłości, a ponowne uruchomienia na bieżącym wydaniu do testów regresji. Zauważ też, że dokumentacja persistence w LangGraph zaleca czyszczenie checkpointów albo politykę retencji, więc retencję potrzebną do wyjaśnień trzeba ustalić świadomie.
Sprawy, które obejmują zmianę wydania
Sprawa wstrzymana w poniedziałek do akceptacji może zostać wznowiona po środowym wydaniu. Silniki trwałych workflow traktują to jako znany problem. Dokumentacja Temporal wyjaśnia, że kod workflow musi być deterministyczny na potrzeby odtwarzania, że dodanie, usunięcie albo przestawienie niektórych kroków bez wersjonowania powoduje w działających workflow błąd niedeterminizmu i że do obsługi takich zmian służą worker versioning i patching.
Niezależnie od frameworka wybierz regułę: sprawy w toku albo kończą się na wydaniu, na którym się zaczęły, albo przechodzą na nowe przez jawną migrację zapisanego stanu. Zapisuj wydanie przy każdym kroku, nie tylko przy sprawie, żeby dało się wyjaśnić także sprawę mieszaną.
Typowe luki
Luki zwykle leżą poza głównym repozytorium: prompt edytowany w konsoli dostawcy, serwer narzędzi wdrażany przez inny zespół, próg zmieniony w bazie danych, indeks odświeżany w nocy. Każdą z nich trzeba albo włączyć do manifestu, albo zapisywać przy każdej sprawie z użytą wartością. Traktuj każdą zmianę wpisu w manifeście jako wydanie, które przechodzi przez zestaw testowy. Przydatny pierwszy krok to spisanie manifestu dla agenta, którego dziś uruchamiasz, i zaznaczenie każdego pola, którego nie umiesz wypełnić.
Pytania
Czy musimy umieć dokładnie powtórzyć starą sprawę?
Zwykle się nie da: odpowiedzi modeli się różnią, modele są wycofywane, a systemy, które czytał agent, się zmieniły. Celem jest wyjaśnienie sprawy na podstawie zapisanego rekordu i ponowne uruchomienie jej na bieżącym wydaniu, gdy chcesz wiedzieć, jak agent zachowuje się dziś.
Czy każda drobna zmiana promptu naprawdę wymaga nowego wydania?
Wymaga nowej wersji i przebiegu zestawu testowego, a oba kroki da się zautomatyzować i utrzymać tanio. Proces nie musi być ciężki. Ważne, żeby żadna zmiana nie trafiła do prawdziwych spraw bez identyfikatora, który później da się odnaleźć.
Jak długo przechowywać te zapisy?
Tak długo, jak możesz musieć wyjaśnić decyzję, a to zależy od procesu i twoich obowiązków. Zapisy często zawierają dane osobowe, więc okres ustal z doradcami do spraw zgodności i ochrony danych, zamiast zdawać się na domyślne ustawienie narzędzia.
Powiązane usługi
Agenci AI i automatyzacja procesów
Agenci, którzy przejmują rutynowe kroki złożonych spraw i przekazują decyzje ludziom, z kosztem każdej obsłużonej sprawy.
Inżynieria i architektura AI
Asystenci, interfejsy głosowe i agenci w produktach, które sprzedajesz, razem z serwowaniem modeli i wyszukiwaniem pod spodem.
Więcej z bloga
Monitorowanie agenta procesowego na produkcji
Sygnały, które pokazują, że agent procesowy na produkcji drożeje albo gorzej obsługuje sprawy, mierzone na sprawę i powiązane z celami ustalonymi z góry.
Ocena wyniku czy śladu wykonania
Dlaczego przebieg agenta może skończyć się bez błędów, a mimo to źle obsłużyć sprawę, i jak sprawdzać wynik biznesowy niezależnie od śladów wykonania.
Przegląd wyjątków agenta
Jak przeglądać wyjątki agenta na produkcji w stałym budżecie czasu, przypisywać je właścicielom i zamieniać właściwe z nich w przypadki regresyjne.
Źródła
- Dokumentacja LangGraph: checkpointers
- Dokumentacja LangGraph: persistence
- Konwencje semantyczne OpenTelemetry: GenAI agent and framework spans
- Dokumentacja Temporal: Workflow Definition i ograniczenia deterministyczne
- Dokumentacja Claude Platform: Models overview
- Anthropic: Writing effective tools for agents (wrzesień 2025)
Porozmawiaj z inżynierem
Przyjdź z jednym zadaniem, które chcesz usprawnić. Rozmowa trwa 30 minut i nie wymaga dostępu do twoich systemów ani danych.
Rezerwacja odbywa się w Kalendarzu Google.
Wolisz najpierw napisać? Zostaw adres e-mail i kilka zdań, a odpowiemy, proponując terminy.
Sprawdź wersję roboczą w swoim programie pocztowym
Wyślij ją stamtąd, a inżynier odpowie ci osobiście, proponując terminy 30-minutowej rozmowy. Jeśli wersja robocza się nie otworzyła, napisz do nas na adres miki@cloudsail.com.