Agent-Versionierung
Experimentieren Sie sicher mit Agentenkonfigurationen über Branches, Versionen und Traffic-Bereitstellung
Mit der Agent-Versionierung können Sie mit verschiedenen Konfigurationen Ihres Agenten experimentieren, ohne Ihre Produktionsumgebung zu gefährden. Erstellen Sie isolierte Branches, testen Sie Änderungen und führen Sie Updates schrittweise über die Traffic-Bereitstellung nach Prozentanteil ein.
Möchten Sie A/B-Tests durchführen? Unter Experimente finden Sie den empfohlenen Workflow zum Testen von Agentenänderungen mit Live-Traffic.
Überblick
Das Versionierungssystem bietet:
- Unveränderliche Snapshots Ihrer Agentenkonfiguration zu jedem Zeitpunkt
- Isolierte Branches zum Testen von Änderungen vor der Live-Schaltung
- Traffic-Aufteilung, um Änderungen schrittweise für einen Prozentsatz der Nutzer einzuführen
- Merging, um Änderungen aus einem beliebigen Branch in einen anderen zu übernehmen
- Rebasing, um die neuesten Änderungen des Main-Branches in einen Branch zu übernehmen
Sobald die Versionierung für einen Agenten aktiviert ist, kann sie nicht mehr deaktiviert werden. Berücksichtigen Sie dies, bevor Sie die Versionierung für bestehende Agenten aktivieren.
Grundkonzepte
Versionen
Eine Version ist ein unveränderlicher Snapshot der Konfiguration eines Agenten zu einem bestimmten Zeitpunkt. Jede Version hat eine eindeutige ID (Format: agtvrsn_xxxx) und enthält:
conversation_config– System-Prompt, LLM-Einstellungen, Stimmenkonfiguration, Tools, Wissensdatenbankplatform_settings– Versionierte Teilmenge mit Einstellungen für Auswertung, Widget, Datenerfassung und Sicherheitworkflow– Vollständige Workflow-Definition mit Knoten und Kanten
Versionen werden automatisch erstellt, wenn Sie Änderungen an einem versionierten Agenten speichern. Nach der Erstellung kann eine Version nicht mehr geändert werden.
Branches
Branches sind benannte Entwicklungszweige, ähnlich wie Git-Branches. Sie ermöglichen es Ihnen, isoliert an Änderungen zu arbeiten, bevor Sie sie zurück in den Main-Branch mergen.
- Jeder versionierte Agent hat einen Main-Branch, der nicht gelöscht oder archiviert werden kann
- Zusätzliche Branches können von jeder Version eines bestehenden Branches erstellt werden, nicht nur von Main
- Branches können in jeden anderen Branch gemergt werden. Nicht-Main-Branches können auf Main rebasiert werden, um dessen neueste Änderungen zu übernehmen
- Jeder Branch hat: ID (
agtbrch_xxxx), Name, Beschreibung und eine Liste von Versionen - Branch-Namen können Buchstaben, Zahlen und
() [] {} - / .enthalten (max. 140 Zeichen)
Traffic-Bereitstellung
Traffic kann prozentual auf mehrere Branches aufgeteilt werden. Das ermöglicht schrittweise Rollouts und A/B-Tests.
- Die Prozentwerte müssen immer genau 100 % ergeben
- Das Traffic-Routing ist anhand der Konversations-ID deterministisch (derselbe Nutzer wird konsistent zum selben Branch geleitet)
- Nur nicht archivierte Branches mit 0 % Traffic können archiviert werden
Entwürfe
Nicht gespeicherte Änderungen werden als Entwürfe gespeichert, sodass Sie an Änderungen arbeiten können, ohne sofort eine neue Version zu erstellen.
- Entwürfe sind pro Nutzer und pro Branch (jedes Teammitglied hat einen eigenen Entwurf)
- Entwürfe werden automatisch verworfen, wenn eine neue Version festgeschrieben wird
- Entwürfe werden auch beim Mergen in einen Branch verworfen
Versionierung aktivieren
Die Versionierung ist optional und muss ausdrücklich aktiviert werden. Sie können sie beim Erstellen eines neuen Agenten oder für einen bestehenden Agenten aktivieren.
Nach der Aktivierung kann die Versionierung nicht mehr deaktiviert werden. Dies ist eine dauerhafte Änderung an Ihrem Agenten.
Beim Erstellen eines Agenten aktivieren
Über das Dashboard aktivieren
Über die API aktivieren
Öffnen Sie Ihren Agenten im Dashboard, wechseln Sie zu Einstellungen und aktivieren Sie die Versionierung. Nach der Aktivierung steht der Tab Versionierung zur Verwaltung von Branches, Entwürfen, Versionen und der Traffic-Bereitstellung zur Verfügung.
Für einen bestehenden Agenten aktivieren
Über das Dashboard aktivieren
Über die API aktivieren
Öffnen Sie Ihren Agenten im Dashboard, navigieren Sie zu Einstellungen und aktivieren Sie die Versionierung.
Durch das Aktivieren der Versionierung wird der erste Branch „Main“ mit der ersten Version erstellt, die die aktuelle Agentenkonfiguration enthält.
Mit Branches arbeiten
Einen Branch erstellen
Branches können von jeder Version eines beliebigen Branches erstellt werden, nicht nur von Main. Optional können Sie Konfigurationsänderungen einbeziehen, die auf die erste Version des neuen Branches angewendet werden.
Branches auflisten
Branch-Details abrufen
Änderungen festschreiben
Wenn Sie einen Agenten mit aktivierter Versionierung aktualisieren, geben Sie branch_id an, um eine neue Version in diesem Branch zu erstellen.
Über das Dashboard aktualisieren
Über die CLI aktualisieren
Über die API aktualisieren
Öffnen Sie den Tab Versionierung Ihres Agenten, wechseln Sie zum Ziel-Branch, bearbeiten Sie die Konfiguration und speichern Sie sie, um eine neue Version zu erstellen.
Im angegebenen Branch wird automatisch eine neue Version erstellt. Ein vorhandener Entwurf dieses Nutzers in diesem Branch wird verworfen.
Traffic bereitstellen
Verwenden Sie den Deployments-Endpunkt, um Traffic auf Branches zu verteilen. Dies ermöglicht schrittweise Rollouts und A/B-Tests.
Das Traffic-Routing ist anhand der Konversations-ID deterministisch. Dadurch erreicht derselbe Nutzer über verschiedene Sitzungen hinweg konsistent denselben Branch.
Branches mergen
Wenn Sie mit den Änderungen in einem Branch zufrieden sind, mergen Sie sie in einen anderen Branch. Jeder nicht archivierte Branch kann in jeden anderen nicht archivierten Branch gemergt werden, nicht nur in Main.
Wenn Änderungen eines Branches vor dem Mergen geprüft werden sollen oder Sie einen Branch erreichen möchten, für den Sie keine Schreibberechtigung haben, erstellen Sie einen Merge-Vorschlag, statt direkt zu mergen.
Beim Mergen:
- Wird eine neue Version im Ziel-Branch mit der Konfiguration des Quell-Branches erstellt
- Wird der Quell-Branch optional archiviert (Standardverhalten)
- Wird Traffic automatisch vom Quell-Branch auf den Ziel-Branch übertragen
Das Mergen schlägt mit no_new_changes_to_merge fehl, wenn der Quell-Branch vom Ziel-Branch erstellt wurde (und keine
neuen Commits darüber hinaus enthält), und mit branch_already_merged, wenn er bereits in dieses Ziel
gemergt wurde.
Merge-Konflikte auflösen
Wenn eine Einstellung seit der Abspaltung sowohl im Quell- als auch im Ziel-Branch geändert wurde, wird standardmäßig der Wert des zuletzt aktualisierten Branches beibehalten. Setzen Sie force=True, um unabhängig von Zeitstempeln immer den Wert des Quell-Branches zu übernehmen.
Sehen Sie sich das Ergebnis eines Merges einschließlich aller Felder, die überschrieben würden, an, bevor Sie ihn festschreiben:
Branches auf Main rebasen
Beim Rebasing werden die neuesten Änderungen aus dem Main-Branch in einen anderen Branch übernommen, ähnlich wie bei einem Git-Rebase. So bleibt ein langfristig genutzter Branch auf dem Stand von Main, ohne die eigenen Änderungen des Branches bereits zurückzumergen.
Beim Rebasing:
- Wird eine neue Version im Branch erstellt, die die neuesten Änderungen von Main enthält
- Bleiben die eigenen Änderungen des Branches erhalten: Wenn eine Einstellung sowohl im Branch als auch in Main bearbeitet wurde, bleibt immer der Wert des Branches erhalten
- Schlägt der Vorgang mit
branch_already_up_to_datefehl, wenn der Branch bereits alle Änderungen von Main enthält
Nur Nicht-Main-Branches können und nur auf Main rebasiert werden. Ein Rebase des Main-Branches selbst
gibt den Fehler cannot_rebase_main zurück.
Sehen Sie sich das Ergebnis eines Rebase an, bevor Sie ihn festschreiben:
Branches archivieren
Archivieren Sie Branches, die Sie nicht mehr benötigen. So bleibt Ihre Branch-Liste übersichtlich.
Sie können keinen Branch archivieren, dem Traffic zugewiesen ist. Entfernen Sie vor dem Archivieren den gesamten Traffic.
Archivierte Branches können durch Setzen von archived=False wiederhergestellt werden.
Einen versionierten Agenten duplizieren
Beim Duplizieren eines Agenten wird ein neuer Agent erstellt, der eine Kopie jedes nicht archivierten Branches des Quell-Agenten enthält, nicht nur des Main-Branches.
Im duplizierten Agenten:
- Wird der Main-Branch aus der neuesten Version im Main-Branch des Quell-Agenten erstellt
- Wird jeder andere nicht archivierte Branch mit demselben Namen und derselben Beschreibung neu erstellt, ausgehend von der neuesten Version in diesem Branch
- Beginnt jeder Branch mit einer einzelnen Version, da der Versionsverlauf nicht kopiert wird
- Werden archivierte Branches und Entwürfe nicht kopiert
- Werden Traffic-Bereitstellungen nicht kopiert. Daher wird der gesamte Traffic an den Main-Branch geleitet, bis Sie Traffic für andere Branches bereitstellen
Branch- und Versions-IDs im Duplikat sind neu. Aktualisieren Sie daher alle Verweise auf die IDs des Quell-Agenten.
Bestimmte Versionen abrufen
Sie können einen Agenten mit einer bestimmten Version oder an der Spitze eines Branches abrufen.
Agenten mit bestimmter Version abrufen
Agenten an der Branch-Spitze abrufen
Entwurfsänderungen einbeziehen
Einstellungsreferenz
Versionierte Einstellungen
Diese Einstellungen können sich zwischen Versionen und Branches unterscheiden:
Einstellungen pro Agent
Diese Einstellungen gehören zum Agenten und nicht zu einer Version. Daher teilen sie sich alle Branches:
Einstellungen pro Agent können nur im Main-Branch geändert werden. In anderen Branches zeigt das Dashboard sie schreibgeschützt an. Wenn Sie eine Version in einem Nicht-Main-Branch veröffentlichen, werden Änderungen daran verworfen. Auch ein anschließendes Mergen des Branches in Main übernimmt sie nicht. Wechseln Sie zum Main-Branch, um sie zu ändern. Nach der Veröffentlichung dort gilt die Änderung für jeden Branch.
Best Practices
Tests vor dem Erstellen eines Branches anlegen
Richten Sie automatisierte Tests ein, die das erwartete Verhalten abbilden, bevor Sie einen neuen Branch erstellen. Dadurch entsteht eine Ausgangsbasis und Sie erkennen Regressionen früh, wenn Sie Ihr Experiment weiterentwickeln.
Aussagekräftige Branch-Namen verwenden
Wählen Sie Branch-Namen, die den Zweck des Experiments klar vermitteln. Fügen Sie den Funktions-
namen, die Hypothese oder die Ticketnummer zur einfachen Referenz hinzu, z. B. feature/new-greeting-flow oder
experiment/shorter-responses.
Zweck von Branches dokumentieren
Verwenden Sie das Beschreibungsfeld des Branches, um zu erläutern, welche Hypothese Sie testen, welche Metriken Erfolg definieren und welche Abhängigkeiten oder Aspekte zu beachten sind. So verstehen Teammitglieder aktive Experimente besser.
Entwürfe für laufende Arbeiten verwenden
Speichern Sie Entwürfe regelmäßig, während Sie Änderungen weiterentwickeln. Dadurch bleibt Ihre Arbeit erhalten, ohne unnötige Versionen zu erstellen. Schreiben Sie Änderungen erst fest, wenn Sie bereit zum Testen oder Bereitstellen sind.
Mit kleinen Traffic-Anteilen beginnen
Wenn Sie einen neuen Branch bereitstellen, beginnen Sie mit 5–10 % des Traffics. Das begrenzt die Auswirkungen bei Problemen, liefert aber dennoch aussagekräftige Daten.
Wichtige Metriken vor der Erhöhung des Traffics überwachen
Verwenden Sie das Analytics-Dashboard, um die Performance von Branches zu vergleichen. Achten Sie auf Anrufabschlussraten, durchschnittliche Konversationsdauer, Erfolgsbewertungen und Tool-Ausführungsraten. Erhöhen Sie den Traffic nur, wenn die Metriken Ihre Main-Branch- Ausgangsbasis erreichen oder übertreffen.