Agent-Delegation aus dem Chat freischalten
AdminDas Chat-LLM (der allgemeine Chat-Assistent) kann admin-freigeschaltete Spezial-Agenten als benannte Tools aufrufen — eine Recherche an einen Research-Agenten delegieren, durch einen Review-Agenten verifizieren lassen oder einen Agenten Schreibaktionen vorbereiten lassen, die der Benutzer im Chat bestätigt. Dieser Artikel erklärt, wie Sie das freischalten und absichern.
Abgrenzung — nicht „Agents in Chat”
Section titled “Abgrenzung — nicht „Agents in Chat””Es gibt zwei ähnlich benannte Features, die leicht verwechselt werden:
| Feature | Was es ist | Schicht |
|---|---|---|
| Agents in Chat | Ein Agent bekommt einen eigenen Kontakt im Benutzer-zu-Benutzer-Messaging und wird wie ein Kollege per DM angesprochen. | Messaging (Mode = ChatMessage) |
| Agent-Delegation aus dem Chat (dieser Artikel) | Das Chat-LLM ruft Spezial-Agenten als Tools im normalen Chat-Assistenten auf. | LLM-Chat-View (Mode = ChatDelegated) |
Beide nutzen denselben Agent-Runner, sind aber unterschiedliche Einstiegspunkte.
Globaler Killswitch — Agents:ChatDelegationEnabled
Section titled “Globaler Killswitch — Agents:ChatDelegationEnabled”Schaltet die Chat-Delegation instanzweit an oder aus. Setzbar über die Umgebungsvariable Agents__ChatDelegationEnabled oder Administration → Systemeinstellungen.
- Mode-abhängiger Default: Desktop = an, Web = aus. Web-Deployments müssen die Delegation also bewusst aktivieren.
- Ist der Killswitch aus, wird kein Delegations-Tool materialisiert (auch
verified_researchnicht).
Web zuerst aktivieren: Im Web-Modus passiert ohne diesen Schalter nichts, egal wie die Agenten konfiguriert sind.
Pro Agent freischalten
Section titled “Pro Agent freischalten”Im Agenten-Detail (Administration → Agenten, Reiter Werkzeuge) im Block „Im Chat verfügbar”:
| Feld | Bedeutung | Default |
|---|---|---|
ExposeInChat | Schaltet den Agenten als Chat-Delegations-Tool frei. | aus |
ChatToolName | Tool-Name, Slug-Form ^[a-z0-9_]+$, vaultweit eindeutig. Leer ⇒ automatisch slug(Agentenname). | leer |
ChatToolDescription | Tool-Beschreibung, die das LLM sieht — sie steuert, wann das LLM delegiert. | leer |
Ablauf:
- Killswitch prüfen (Web: auf an).
ExposeInChataktivieren.ChatToolNamesetzen (z. B.research_pharma) — oder leer lassen für den Auto-Slug.ChatToolDescriptionpräzise formulieren — das LLM entscheidet anhand dieser Beschreibung, ob es delegiert.- Speichern. Das Tool ist sofort im Chat verfügbar.
Slug-Form und Eindeutigkeit werden serverseitig in allen Schreibpfaden erzwungen — ein doppelter ChatToolName wird abgelehnt.
Sync-Cap — Agents:ChatDelegationCapSeconds
Section titled “Sync-Cap — Agents:ChatDelegationCapSeconds”Wie lange eine Delegation synchron auf das Ergebnis des Sub-Laufs wartet, bevor sie auf Nachhol-Betrieb umschaltet. Default 75 s.
- Innerhalb des Caps fertig ⇒ Ergebnis kommt direkt in die Antwort.
- Cap überschritten ⇒ der Lauf läuft im Hintergrund weiter; das LLM holt das Ergebnis später per internem Re-Poll (
check_agent_run) ab.
Der Wert wird intern gegen das Chat-Tool-Timeout geklemmt, damit der Wait sein „läuft noch”-Handle zurückgibt, bevor der Tool-Dispatcher den Aufruf abräumt.
Write-Bestätigung (Zwei-Phasen)
Section titled “Write-Bestätigung (Zwei-Phasen)”Enthält ein delegierter Agent Write-Tools, erscheint im Agent-Detail ein Hinweis-Banner: Jeder Write-Tool-Call eines delegierten Laufs wird im Chat bestätigungspflichtig.
- Phase 1 (Default, Trockenlauf): Reads werden ausgeführt, Writes werden unterdrückt und gesammelt. Wurden Writes geplant, legt der Assistent dem Benutzer eine Plan-Liste vor und fragt nach Zustimmung. Wurde nichts geschrieben, ist das Trockenlauf-Ergebnis bereits das Endergebnis (reine Lese-Delegation läuft ohne Rückfrage durch).
- Phase 2 (nach „Ja”): Der Lauf läuft scharf, Writes werden ausgeführt.
Ein delegierter Agent kann also nie unbestätigt schreiben.
verified_research
Section titled “verified_research”Ein optionales Configured-Tool vom Typ VerifiedResearch: Es verkettet ein admin-gewähltes Research-/Review-Agentenpaar deterministisch (Research → Review → ggf. Revision). Der Review-Schritt ist nicht überspringbar. Wird wie andere konfigurierbare Werkzeuge angelegt. → Konfigurierbare Werkzeuge
Sicherheit & Grenzen
Section titled “Sicherheit & Grenzen”- Identität: Der Sub-Lauf läuft mit der Identität und den Rechten des Chat-Benutzers (
RunAsUserIdOverride == chatUser), nie erhöht. Ein delegierter Agent kann nichts sehen oder tun, was der auslösende Benutzer nicht selbst darf — die nicht verhandelbare Kern-Absicherung. - Opt-in pro Agent:
ExposeInChatist per Default aus; kein Agent wird versehentlich exponiert. - Feste Limits (Code-Konstanten, kein Setting): maximale Delegationstiefe 2 (ein delegierter Agent kann selbst noch eine Ebene delegieren) und maximal 3 Delegationen pro Chat-Schritt — Bremse gegen Rekursion und Kostenexplosion.
Jeder delegierte Lauf erscheint unter Administration → Agenten → Läufe mit Mode = ChatDelegated, Origin = chat-delegation und dem ParentRunId des auslösenden Laufs. → Audit-Log
Bekannte Grenzen
Section titled “Bekannte Grenzen”- Kein automatisches Nachliefern (Async-Push): Bei langen Läufen muss das Ergebnis im Chat nachgefragt werden; es erscheint (noch) nicht von selbst.
- Cap-Exceeded im Trockenlauf: Reißt ein Trockenlauf den Cap, kommt das Ergebnis als Text — die maschinenlesbare Plan-Liste geht in diesem Randfall verloren. Sicherheit bleibt gewahrt, da im Trockenlauf ohnehin kein Write ausgeführt wird.
Verwandt
Section titled “Verwandt”- Agent-Delegation im Chat (für Benutzer) — was Endbenutzer davon sehen
- Admin-Tab: Agenten · Konfigurierbare Werkzeuge
- Agenten (Feature) · Agenten-Modell