Unified Chat
Ein Chat, der dynamisch zwischen Assistants wechselt.
Normalerweise startet ein Benutzer einen spezifischen Assistant. Im Unified Chat startet er stattdessen einen freien Chat — und das Modell entscheidet selbst, welche „Rolle" es gerade spielt.
Warum?
Nicht jede Anfrage passt in einen einzigen Assistant. Ein Benutzer fragt:
- „Zeig mir die aktuellen Bestellungen" → Bestellungs-Kontext
- „Lege ein neues Produkt an" → Inventur-Kontext
Im Unified-Modus muss er dafür nicht zwischen Assistants hin- und herwechseln. Er schreibt einfach, das Modell aktiviert intern den passenden Assistant.
Setup
In deinem Workspace:
// typischerweise in unified.php oder config.php
'unified' => [
'prompt' => <<<PROMPT
Du bist der zentrale Assistent für $workspace.
Je nach Anfrage aktivierst du einen passenden Assistant
mit activateTask. Verfügbare Assistants:
- bestellungen: alles rund um Bestellungen
- inventur: Bestände und Produkte
- support: Kundenanfragen
PROMPT,
'greeting' => 'Hi! Was kann ich heute für dich tun?',
],
Hinweis: Das activateTask-Tool heißt historisch so, hängt nicht mit
„Task" als Konzept zusammen — es aktiviert einen Assistant.
Wichtig: In der Unified-Prompt beschreibst du das Routing-Verhalten. Das Modell nutzt dann automatisch das eingebaute activateTask-Tool, wenn es einen passenden Assistant erkennt.
Wie es funktioniert
- Benutzer stellt Frage im Unified-Chat.
- Modell analysiert: passt das zu einem der bekannten Assistants?
- Falls ja: Aufruf von
activateTaskmit dem Slug. Das Modell bekommt danach den Assistant-Prompt und die Assistant-Tools zusätzlich. - Modell antwortet im Kontext des aktivierten Assistants.
Der Switch ist transparent — der Benutzer sieht nur die Antwort, nicht den Assistant-Wechsel.
Im CLI
tm chat # = Unified Chat (default)
tm test-chat "frage" # Unified, ohne --task
tm history # Verlauf des Unified Chats
Wann einsetzen?
Gut für:
- Kompakte Setups mit 3–5 verwandten Assistants
- Benutzer, die nicht in einer Assistant-Hierarchie denken wollen
- „Chat-Assistent für das ganze Unternehmen"
Weniger gut für:
- Assistants mit sehr unterschiedlichen Tools, wo falsche Aktivierungen teuer wären
- Situationen, wo klare Trennung (Compliance, Rollen) wichtiger ist als UX
- Wenn Tool-Listen groß werden — zu viele Tools im Kontext führen zu schlechterem Routing
Guardrails
Du kannst in der Unified-Prompt explizite Regeln setzen:
Aktiviere NIE storno-Assistant ohne explizite Storno-Anfrage.
Bei unklarer Zuordnung: frage zurück, bevor du aktivierst.
Das spart dir Fehlaktivierungen.
Unterschied zu Assistant-Chat
| Aspekt | Assistant-Chat | Unified Chat |
|---|---|---|
| Einstieg | Benutzer wählt Assistant | Benutzer schreibt direkt |
| Tools sichtbar | Nur die des Assistants | Anfangs Unified-Tools, nach activateTask zusätzlich Assistant-Tools |
| Prompt | Assistant-Prompt | Unified-Prompt, ggf. Assistant-Prompt dazu |
| Chat-ID | task_<slug>_<user> (historisch) |
unified_<user> |