Wersjonowanie agenta
Bezpiecznie eksperymentuj z konfiguracjami agenta, używając gałęzi, wersji i wdrażania ruchu
Wersjonowanie agenta pozwala eksperymentować z różnymi konfiguracjami agenta bez ryzyka dla konfiguracji produkcyjnej. Twórz odizolowane gałęzie, testuj zmiany i stopniowo wdrażaj aktualizacje przez procentowy podział ruchu.
Chcesz uruchomić testy A/B? Zobacz Eksperymenty, aby poznać zalecany workflow testowania zmian agenta na rzeczywistym ruchu.
Omówienie
System wersjonowania oferuje:
- Niezmienne migawki konfiguracji agenta w dowolnym momencie
- Odizolowane gałęzie do testowania zmian przed wdrożeniem
- Podział ruchu, aby stopniowo wdrażać zmiany dla części użytkowników
- Scalanie, aby przenosić zmiany z dowolnej gałęzi do każdej innej
- Rebase, aby pobierać najnowsze zmiany z gałęzi głównej do gałęzi
Po włączeniu wersjonowania dla agenta nie można go wyłączyć. Weź to pod uwagę przed włączeniem wersjonowania w istniejących agentach.
Kluczowe pojęcia
Wersje
Wersja to niezmienna migawka konfiguracji agenta w określonym momencie. Każda wersja ma unikalne ID (format: agtvrsn_xxxx) i zawiera:
conversation_config- Prompt systemowy, ustawienia LLM, konfigurację głosu, narzędzia, bazę wiedzyplatform_settings- Wersjonowany podzbiór obejmujący ustawienia oceny, widgetu, zbierania danych i zabezpieczeńworkflow- Pełną definicję workflow z węzłami i krawędziami
Wersje są tworzone automatycznie, gdy zapisujesz zmiany w wersjonowanym agencie. Po utworzeniu wersji nie można jej zmodyfikować.
Gałęzie
Gałęzie to nazwane linie rozwoju, podobne do gałęzi git. Pozwalają pracować nad zmianami w izolacji przed scaleniem z powrotem do gałęzi głównej.
- Każdy wersjonowany agent ma gałąź Main, której nie można usunąć ani zarchiwizować
- Dodatkowe gałęzie można tworzyć z dowolnej wersji w dowolnej istniejącej gałęzi, nie tylko z main
- Gałęzie można scalać z każdą inną gałęzią, a gałęzie inne niż main można rebazować na main, aby pobrać jej najnowsze zmiany
- Każda gałąź ma: id (
agtbrch_xxxx), nazwę, opis i listę wersji - Nazwy gałęzi mogą zawierać: litery, cyfry oraz
() [] {} - / .(maks. 140 znaków)
Wdrażanie ruchu
Ruch można dzielić procentowo między wiele gałęzi, co umożliwia stopniowe wdrożenia i testy A/B.
- Suma wartości procentowych musi zawsze wynosić dokładnie 100%
- Kierowanie ruchu jest deterministyczne na podstawie ID rozmowy (ten sam użytkownik zawsze trafia do tej samej gałęzi)
- Można archiwizować tylko niezarchiwizowane gałęzie z 0% ruchu
Szkice
Niezapisane zmiany są przechowywane jako szkice, dzięki czemu możesz pracować nad zmianami bez natychmiastowego tworzenia nowej wersji.
- Szkice są na użytkownika i gałąź (każdy członek zespołu ma własny szkic)
- Szkice są automatycznie odrzucane po zatwierdzeniu nowej wersji
- Szkice są też odrzucane podczas scalania do gałęzi
Włączanie wersjonowania
Wersjonowanie jest opcjonalne i trzeba je włączyć ręcznie. Możesz je włączyć podczas tworzenia nowego agenta lub dla istniejącego agenta.
Po włączeniu nie można wyłączyć wersjonowania. To trwała zmiana w agencie.
Włączanie podczas tworzenia agenta
Włączanie w panelu
Włączanie przez API
Otwórz agenta w panelu, przejdź do Ustawień i włącz wersjonowanie. Po włączeniu pojawi się karta Wersjonowanie, na której możesz zarządzać gałęziami, szkicami, wersjami i wdrażaniem ruchu.
Włączanie dla istniejącego agenta
Włączanie w panelu
Włączanie przez API
Otwórz agenta w panelu, przejdź do Ustawień i włącz wersjonowanie.
Włączenie wersjonowania tworzy początkową gałąź „Main” z pierwszą wersją zawierającą aktualną konfigurację agenta.
Praca z gałęziami
Tworzenie gałęzi
Gałęzie można tworzyć z dowolnej wersji w dowolnej gałęzi, nie tylko z main. Opcjonalnie możesz uwzględnić zmiany konfiguracji, które zostaną zastosowane w początkowej wersji nowej gałęzi.
Lista gałęzi
Pobieranie szczegółów gałęzi
Zatwierdzanie zmian
Gdy aktualizujesz agenta z włączonym wersjonowaniem, podaj branch_id, aby utworzyć nową wersję w tej gałęzi.
Aktualizacja w panelu
Aktualizacja przez CLI
Aktualizacja przez API
Otwórz kartę Wersjonowanie agenta, przejdź do docelowej gałęzi, zmień konfigurację i zapisz ją, aby utworzyć nową wersję.
Nowa wersja jest automatycznie tworzona w podanej gałęzi, a istniejący szkic tego użytkownika w tej gałęzi zostaje odrzucony.
Kierowanie ruchu
Użyj endpointu wdrożeń, aby rozdzielić ruch między gałęzie. Pozwala to na stopniowe wdrożenia i testy A/B.
Kierowanie ruchem jest deterministyczne na podstawie ID rozmowy, dzięki czemu ten sam użytkownik konsekwentnie trafia do tej samej gałęzi w kolejnych sesjach.
Scalanie gałęzi
Gdy jesteś zadowolony ze zmian w gałęzi, scal je z inną gałęzią. Każdą niearchiwalną gałąź można scalić z dowolną inną niearchiwalną gałęzią, nie tylko z main.
Aby zmiany w gałęzi zostały sprawdzone przed scaleniem lub aby dotrzeć do gałęzi, do której nie masz uprawnień do zapisu, otwórz propozycję scalenia zamiast scalać bezpośrednio.
Scalanie:
- Tworzy nową wersję w docelowej gałęzi z konfiguracją gałęzi źródłowej
- Opcjonalnie archiwizuje gałąź źródłową (domyślne zachowanie)
- Automatycznie przenosi ruch z gałęzi źródłowej do docelowej
Scalanie kończy się błędem no_new_changes_to_merge, jeśli gałąź źródłowa została utworzona z gałęzi docelowej
(i nie ma commitów nowszych od niej), oraz błędem branch_already_merged, jeśli została już scalona
z tą gałęzią docelową.
Rozwiązywanie konfliktów scalania
Jeśli ustawienie zostało zmienione zarówno w gałęzi źródłowej, jak i docelowej od ich rozdzielenia, domyślnie zachowana zostaje wartość z gałęzi aktualizowanej później. Ustaw force=True, aby zawsze użyć wartości z gałęzi źródłowej, niezależnie od znaczników czasu.
Przed zatwierdzeniem podejrzyj wynik scalenia, w tym pola, które zostałyby nadpisane:
Rebase gałęzi na main
Rebase pobiera najnowsze zmiany z gałęzi main do innej gałęzi, podobnie jak git rebase. Pozwala to aktualizować długo działającą gałąź względem main bez scalania z powrotem jej własnych zmian.
Rebase:
- Tworzy nową wersję w gałęzi, która zawiera najnowsze zmiany z main
- Zachowuje własne zmiany gałęzi: jeśli ustawienie zmieniono zarówno w gałęzi, jak i w main, zawsze zachowana zostaje wartość z gałęzi
- Kończy się błędem
branch_already_up_to_date, jeśli gałąź zawiera już wszystkie zmiany z main
Rebase można wykonać tylko dla gałęzi innych niż main i tylko na main. Rebase samej gałęzi main
zwraca błąd cannot_rebase_main.
Przed zatwierdzeniem podejrzyj wynik rebase:
Archiwizowanie gałęzi
Archiwizuj gałęzie, których już nie potrzebujesz. Dzięki temu lista gałęzi pozostaje uporządkowana.
Nie możesz zarchiwizować gałęzi, do której przypisano ruch. Usuń cały ruch przed archiwizacją.
Zarchiwizowane gałęzie możesz przywrócić, ustawiając archived=False.
Pobieranie konkretnych wersji
Możesz pobrać agenta w konkretnej wersji lub na końcu gałęzi.
Pobieranie agenta w konkretnej wersji
Pobieranie agenta na końcu gałęzi
Uwzględnianie zmian w szkicu
Ustawienia — informacje
Ustawienia wersjonowane
Te ustawienia mogą różnić się między wersjami i gałęziami:
Ustawienia agenta
Te ustawienia są wspólne dla wszystkich wersji:
Zmiany nazwy i tagów w gałęziach innych niż main nie są zapisywane w agencie, dopóki nie zostaną scalone z main.
Dobre praktyki
Twórz testy przed utworzeniem gałęzi
Skonfiguruj automatyczne testy, które odzwierciedlają oczekiwane działanie przed utworzeniem nowej gałęzi. Zapewnia to punkt odniesienia i pomaga wcześnie wykrywać regresje podczas pracy nad eksperymentem.
Używaj opisowych nazw gałęzi
Wybieraj nazwy gałęzi, które jasno określają cel eksperymentu. Dodaj nazwę funkcji,
hipotezę lub numer zgłoszenia, aby łatwo się do nich odwoływać (np. feature/new-greeting-flow lub
experiment/shorter-responses).
Dokumentuj cele gałęzi
W polu opisu gałęzi wyjaśnij testowaną hipotezę, metryki określające sukces oraz zależności i kwestie do uwzględnienia. Ułatwia to członkom zespołu zrozumienie aktywnych eksperymentów.
Używaj szkiców dla pracy w toku
Często zapisuj szkice podczas wprowadzania zmian. Zachowasz w ten sposób pracę bez tworzenia niepotrzebnych wersji. Zatwierdzaj zmiany tylko wtedy, gdy jesteś gotowy na testy lub wdrożenie.
Zacznij od małego udziału ruchu
Przy wdrażaniu nowej gałęzi zacznij od 5–10% ruchu. Ogranicza to skutki ewentualnych problemów, a jednocześnie dostarcza wartościowych danych.
Monitoruj kluczowe metryki przed zwiększeniem ruchu
Użyj panelu analitycznego, aby porównać wydajność gałęzi. Sprawdzaj wskaźniki ukończenia połączeń, średni czas rozmowy, wyniki oceny sukcesu i wskaźniki wykonania narzędzi. Zwiększaj ruch tylko wtedy, gdy metryki osiągają lub przewyższają poziom bazowy gałęzi main.