Je agents zijn prima. De handoff tussen hen niet.

De meeste multi-agent demo's laten je één enkele agent in een kostuum zien. Ze laten Agent A een taak uitvoeren en daarna Agent B een andere. Ze laten niet zien wat er gebeurt als Agent A er niet in slaagt Agent B te geven wat hij nodig heeft.

Ik heb dit jaar drie multi-agent systemen in productie gebracht. De agents waren niet het moeilijke deel. De handoffs wel.

Een handoff is meer dan alleen het doorgeven van tekst. Je moet het volgende beheren:

  • Schema-alignement: Agent B moet de output van Agent A elke keer kunnen parsen.
  • Foutpropagatie: Het systeem moet weten wanneer één agent faalt.
  • Context-hygiëne: Elke handoff voegt ruis toe aan je context window.

De grootste fout is het behandelen van agents als black boxes die met een touwtje aan elkaar verbonden zijn. Je geeft een prompt aan Agent A, krijgt een resultaat en duwt het in Agent B. Dit werkt totdat het kapot gaat. Wanneer het kapot gaat, zul je niet weten waarom.

Vermijd deze drie veelvoorkomende foutmodi:

  1. Stille afkorting (silent truncation): Agent A produceert te veel data. Agent B kapt het einde ervan af. Agent B verwerkt vervolgens gedeeltelijke data en geeft je onzin terug. Meet je token-aantallen bij elke stap.

  2. Schema drift: Je verandert een prompt voor Agent A. Nu geeft deze een ander formaat terug. Agent B gaat kapot omdat deze het oude formaat verwacht. Gebruik gestructureerde output zoals Pydantic in plaats van te vertrouwen op prompts.

  3. Race conditions: Je draait vijf workers tegelijk. Drie zijn klaar, maar twee zijn nog bezig. Je aggregator start te vroeg met gedeeltelijke data. Dit werkt in tests, maar faalt in productie. Gebruik een barrier om te wachten op alle taken.

Mijn eerste systeem was slim maar rommelig. Het maakte gebruik van dynamische routing en impliciete handoffs. Het werkte totdat het echt verkeer kreeg en stilletjes faalde.

Mijn tweede systeem was lelijk maar correct. Elke handoff gebruikte een getypeerd contract. Elke fout was expliciet. Elke agent was geïsoleerd.

Mijn huidige systeem combineert beide. Het gebruikt de discipline van de tweede versie, maar verbergt de saaie code achter een framework.

Als je multi-agent systemen bouwt, begin dan met de lelijke en correcte versie. Probeer niet eerst slim te zijn. Zorg dat het in productie werkt, en maak het daarna pas elegant.

Het handoff-probleem wordt niet makkelijker. Maar je wordt er niet meer door verrast.

Bron: https://dev.to/mrclaw207/your-agents-are-fine-the-handoff-between-them-isnt-2dij

Optionele leercommunity: https://t.me/GyaanSetuAi