Umgebungen¶
Einen Agent zu veröffentlichen prägt eine Version. Eine
Umgebung ist ein Name, der auf eine davon zeigt — production, staging,
dev —, sodass Sie eine neue Version irgendwo ausprobieren können, bevor alle
ihr begegnen.
Ohne Umgebungen sind Veröffentlichen und Ausliefern ein und dieselbe Handlung. Mit ihnen sind es zwei Entscheidungen: die Version zu prägen, und sie irgendwohin zu stellen.
Was eine Umgebung ist¶
Ein Name, eine Version, an die sie geheftet ist, und optional ein eigenes Ziel für das Tracing. Jeder Agent hat eine Standardumgebung, und die bekommt eine schlichte Oberfläche, wenn niemand etwas anderes gesagt hat.
| Name | Kleingeschrieben, mit Bindestrichen, bis zu 64 Zeichen — er taucht in URLs auf und wird zum Tracing-Tag, Production (EU) und production-eu dürfen also nicht zwei Dinge sein |
| Version | Welche veröffentlichte Version hier antwortet. Einen ungehefteten Zustand gibt es nicht |
| Tracks latest | Ob eine Veröffentlichung diese Umgebung von sich aus umhängt. Standardmäßig aus |
| Tracing | Ein Logfire-Write-Token aus dem Vault, damit die Runs dieser Umgebung in ihrem eigenen Projekt landen |
Es gibt keine Umgebung ohne Version
Eine ungeheftete Umgebung wäre ein Name, der mit nichts antwortet, und die erste dorthin geleitete Nachricht würde weit entfernt von dem Formular fehlschlagen, das sie angelegt hat. Legen Sie eine an, ohne eine Version zu nennen, startet sie bei dem, was die Standardumgebung ausliefert.
Der Ablauf, für den sie da ist¶
flowchart LR
D[Draft in the Builder] -->|publish| V[Version 7]
V -->|pin| S[staging]
S -->|somebody tries it| OK{Good?}
OK -->|yes| P[promote to production]
OK -->|no| D
- Den Draft bearbeiten, veröffentlichen. Das prägt eine Version und ändert nichts, was irgendjemand gerade benutzt.
stagingdarauf zeigen lassen und Ihren Test-Slack-Bot oder einen privaten Link anstagingbinden.- Sie gegen echte Fragen ausprobieren.
productionauf dieselbe Version promoten — eine Änderung, kein erneutes Veröffentlichen.
Ein Rollback ist derselbe Zug rückwärts: production wieder auf die Version
zeigen lassen, die funktioniert hat. Die alte Version ist noch da, noch lesbar,
noch ausführbar.
tracks_latest, und warum es aus ist¶
Eine Umgebung mit eingeschaltetem tracks latest wird von jeder
Veröffentlichung umgehängt. Das ist die richtige Einstellung für dev und fast
nie die richtige für production.
Aus ist absichtlich die Voreinstellung: Veröffentlichen prägt eine Version, und zu entscheiden, wo diese Version läuft, ist eine eigene Handlung. Beides zu koppeln heißt, dass eine unfertige Änderung einen Kunden erreicht, weil jemand auf Publish geklickt hat, um seine Arbeit zu sichern.
Eine Oberfläche an eine binden¶
Eine Exposure — ein Slack-Bot, ein Widget, eine gehostete Seite, eine API-Zielgruppe — kann die Umgebung nennen, der sie dient. Lässt sie das weg, bekommt sie die Standardumgebung.
Das macht die Trennung nützlich: ein Dev-Bot, der an dev gebunden ist, dient
dem, was dev heftet, während das Widget auf Ihrer Website auf production
bleibt, bis Sie es bewegen. Ein Agent, zwei Zielgruppen, zwei Versionen, eine
Buchführung.
Tracing pro Umgebung¶
Eine Umgebung kann ihr eigenes Logfire-Write-Token tragen, versiegelt im Vault, dazu einen Dienstnamen. Ihre Runs tracen in dieses Projekt, getaggt mit dem Namen der Umgebung.
Das hält ein Staging-Experiment aus dem Dashboard heraus, das jemand auf Produktionsvorfälle hin beobachtet — und es geht pro Umgebung statt pro Deployment, weil die beiden wirklich verschiedene Projekte sind.
Wohin die Traces gehen, gehört der Umgebung; wie viel sie tragen, dem Agent.
Der observability-Block eines Agents hat einen
content-Modus: full zeichnet die Nachricht, die Ausgabe des Modells und jedes
Tool-Argument auf, none nur Zeit, Tokens, Kosten und Tool-Namen. Bei einem
Projekt über Gesundheits-, Rechts- oder HR-Daten ist none das, was eine Kopie
der geschützten Inhalte davon abhält, die Maschine zu verlassen. Das Token der
Umgebung leitet den Run um, überschreibt diese Wahl aber nicht.
Was die Standardumgebung nicht ist¶
Die Standardumgebung wird vom Veröffentlichen verwaltet, nicht von dieser API. Sie können sie nicht löschen, keine andere Umgebung auf sie umbenennen und nicht von Hand umschalten, welche die Standardumgebung ist.
"Was bekommt eine schlichte Oberfläche" in zwei Hände zu legen heißt, dass die beiden irgendwann uneins sind, und die Uneinigkeit zeigt sich darin, dass ein Kunde einer Version begegnet, die niemand ausgeliefert hat.
Zusammenfassung¶
- Eine Umgebung ist ein Name, der an eine Version geheftet ist; jeder Agent hat eine Standardumgebung.
- Veröffentlichen prägt eine Version. Sie irgendwohin zu stellen ist eine
eigene Entscheidung — deshalb ist
tracks_lateststandardmäßig aus. - Eine Oberfläche kann ihre Umgebung nennen, sodass ein Dev-Bot und ein öffentliches Widget verschiedene Versionen eines Agents ausliefern können.
- Ein Rollback ist ein Umhängen, weil alte Versionen lesbar und ausführbar bleiben.
- Die Standardumgebung wird vom Veröffentlichen verwaltet und ist hier bewusst nicht bearbeitbar.