Darstellung
ADR-0003 – WhatsApp-Agent-Rebuild (Queue-basiert, Capabilities-Pattern)
Status
Accepted (2026-06-21), Umsetzung laufend (Capabilities noch Stubs).
Kontext
Der ursprüngliche WhatsApp-Agent (Multi-Agent mit LangChain/LangGraph + zentralem MCP-Server, Azure OpenAI gpt-4o-mini) war eng gekoppelt, schwer zu erweitern und hatte einen eigenen Schreibpfad. WhatsApp ist der USP von Work7 und braucht eine wartbare, erweiterbare Basis.
Entscheidung
Neuaufbau als @work7/agent (eigener Prozess):
- Queue-basiert mit BullMQ (Queues
wa-inbound,scheduler; Redis-Prefixwork7:bull). Next.js nimmt Webhooks entgegen und enqueued; der Agent-Worker verarbeitet asynchron. - Capabilities-Pattern: Tools via
defineTool()incapabilities/*, zentral registriert incapabilities/index.ts– Loop/Registry/Channel bleiben unberührt. - OpenAI-SDK gegen Azure OpenAI (Default-Deployment
gpt-5-mini, Fallbackgpt-4o-mini) statt LangChain; Tool-Calling mitAGENT_MAX_STEPS(8). - Persistenz für Reminder (
agent_schedules) und Medien (agent_media), Migration 033. - Geschäftslogik kommt aus
@work7/domain(siehe adr-0002-shared-domain-layer).
Konsequenzen
- ➕ Klare Erweiterung über Capabilities; robuste Async-Verarbeitung mit Retries; gemeinsame Domain-Logik; Sprache (Whisper) + Medien (Tenant-Blob) integriert.
- ➖ Business-Capabilities sind noch Stubs (
_example.*); End-to-End-Flows müssen die Domain-Tools noch anbinden. Agent + App releasen gemeinsam.
Status der Bausteine
✅ Infrastruktur (Queues, Worker, D360-Client, Session/History, Media/Transcribe, Scheduler) · 🧪 Capabilities (project-context, rapport-draft, reminder) als Referenz-Stubs.
Verwandte Notes
- 11-whatsapp-agent · 12-ai-speech-realtime · adr-0002-shared-domain-layer
- work7-agent-infra-rebuild · work7-agent-architecture