Delen via


Ontdek multi-agent orkestratiepatronen

Generatieve orkestratie ondersteunt ook multi-agent systemen, waarbij de ene agent een andere agent oproept. Het opsplitsen van problemen in meerdere gespecialiseerde agenten kan modulariteit, schaalbaarheid en beheersbaarheid verbeteren.

Inline-agenten

Inline agents, ook wel child agents genoemd, zijn kleine, herbruikbare workflows binnen dezelfde agent. Het zijn vaak gewoon onderwerpen die de hoofdagent als subroutines gebruikt. De hoofdagent kan bijvoorbeeld een onderwerp "Tekst vertalen" aanroepen als één stap in een groter plan. Inline agenten delen context met de hoofdagent, dus het uitwisselen van data tussen hen is eenvoudig.

Best practice: Houd inline agenten gericht op één verantwoordelijkheid en goed getest.

Verbonden agenten

Verbonden agenten zijn aparte agenten met hun eigen orkestratie, tools en kennis. De hoofdagent delegeert een deel van een verzoek aan een kindagent. Bijvoorbeeld een IT-medewerker die een verkoopmedewerker belt voor prijzen. Verbonden agenten maken modulariteit, domeinseparatie mogelijk en kunnen planlimieten omzeilen. Ze kunnen andere privileges of kennis hebben, dus pas governance- en auditcontroles toe.

Het gebruik van verbonden agenten vereist echter zorgvuldig bestuur:

  • Orkestratie: De hoofdorkestrator moet duidelijke criteria hebben voor wanneer hij moet overdragen aan een verbonden agent. Deze overdracht vindt meestal plaats wanneer de intentie van de gebruiker overeenkomt met het domein van de verbonden agent. Om dit proces te ondersteunen, beschrijf je het doel van de verbonden agent duidelijk in de configuratie van de ouder. Behandel de hele verbonden agent als een "hulpmiddel" met een beschrijving, vanuit het perspectief van de ouder.

  • Data-overdracht: Je moet de overdracht van data beheren. Bepaal welke context van de ouder je doorgeeft aan de verbonden agent. Copilot Studio geeft standaard de gespreksgeschiedenis door wanneer een agent een andere belt, zodat de verbonden agent weet wat er al besproken is. Maar je moet misschien ook aan specifieke criteria voldoen. Als de hoofdagent bijvoorbeeld de naam van de gebruiker al van eerder kent, kan hij die naar de verbonden agent sturen om te voorkomen dat er opnieuw wordt gevraagd.

  • Beveiliging: De verbonden agent kan toegang hebben tot dingen die de ouderagent niet heeft. Zorg ervoor dat het bellen van de connected agent niet per ongeluk beperkingen omzeilt. Als bijvoorbeeld de ouderagent geen records mag verwijderen maar de verbonden agent wel, zou de ouderagent de verbonden agent niet moeten bellen in scenario's waarin verwijdering mogelijk plaatsvindt zonder juiste goedkeuring. Behandel een connected agent-oproep als elke andere krachtige actie. Als het iets gevoeligs doet, onderwerp het dan aan de nodige controles of gebruikerstoestemming.

  • Audit en monitoring: Log wanneer een verbonden agent werd aangeroepen en wat deze deed. Omdat het een aparte agent is, heb je aparte transcripties ervoor. Het is belangrijk om bij debugging de ouder- en verbonden sessies te correleren. Typisch verbinden de identificaties in de telemetrie de twee.

Wanneer agenten gescheiden moeten worden

Maak niet voor elke subtaak een aparte agent. Gebruik aparte agenten als de subtaak:

  • Is complex genoeg om een eigen set van tools of kennis te hebben (ander expertisegebied)
  • Vereist andere governance-regels of toegangscontroles dan de hoofdagent
  • Je bent van plan die mogelijkheid opnieuw te gebruiken in veel verschillende hoofdagenten (dus het is als een serviceagent)

Als geen van deze voorwaarden van toepassing is, kan een eenvoudig onderwerp (inline) volstaan in plaats van een volledig verbonden agent. Aparte agents brengen overhead met zich mee—een iets langere uitvoeringstijd door contextwisseling en complexiteit bij het onderhouden van meerdere bots. Gebruik ze dus met verstand. Een praktische aanpak is om te beginnen met één agent en pas op te splitsen in meerdere agenten wanneer je duidelijk een behoefte ziet aan modulariteit of een grens die niet door één agent overschreden mag worden.