Gelijktijdige indeling gebruiken

Voltooid

Met gelijktijdige indeling kunnen meerdere agents tegelijkertijd aan dezelfde taak werken. Elke agent verwerkt de taak onafhankelijk en vervolgens worden de uitvoer ervan verzameld en gecombineerd. Deze methode werkt vooral goed wanneer u diverse benaderingen of oplossingen wilt, zoals tijdens brainstormen, groepsbeslissing of stem.

Diagram van gelijktijdige indelingsstroom.

Dit patroon is handig wanneer u verschillende benaderingen of ideeën nodig hebt om hetzelfde probleem op te lossen. In plaats van agents één na elkaar te laten werken, werken ze allemaal tegelijkertijd. Dit versnelt het proces en behandelt het probleem vanuit veel hoeken.

Meestal worden de resultaten van elke agent gecombineerd om een definitief antwoord te maken, maar dit is niet altijd nodig. Elke agent kan ook een eigen afzonderlijk resultaat produceren, zoals het aanroepen van hulpprogramma's voor het voltooien van taken of het afzonderlijk bijwerken van verschillende gegevensarchieven.

Agenten werken zelfstandig en delen geen resultaten met elkaar. Een agent kan echter andere AI-agents aanroepen door een eigen indeling uit te voeren als onderdeel van het proces. Agents moeten weten welke andere agents beschikbaar zijn om aan taken te werken. Met dit patroon kunt u alle geregistreerde agents elke keer aanroepen of kiezen welke agents moeten worden uitgevoerd op basis van de specifieke taak.

Wanneer gelijktijdige indeling te gebruiken

In deze situaties kunt u overwegen om het patroon voor gelijktijdige indeling te gebruiken:

  • Wanneer taken tegelijkertijd kunnen worden uitgevoerd, hetzij met behulp van een vaste groep agents of door AI-agents dynamisch te selecteren op basis van wat de taak nodig heeft.
  • Wanneer de taak profiteert van verschillende gespecialiseerde vaardigheden of benaderingen (bijvoorbeeld technisch, zakelijk of creatief) die allemaal onafhankelijk werken, maar bijdragen aan het oplossen van hetzelfde probleem.

Dit soort teamwerk is gebruikelijk in besluitvormingsmethoden met meerdere agents, zoals:

  • Ideeën brainstormen
  • Verschillende redeneringsmethoden combineren (ensembleredenering)
  • Beslissingen nemen op basis van stemmen of consensus (quorum)
  • Taken afhandelen waarbij snelheid van belang is en actieve agents parallel de wachttijd vermindert

Wanneer moet u gelijktijdige indeling voorkomen

U kunt het gebruik van het gelijktijdige indelingspatroon in de volgende scenario's voorkomen:

  • Agents moeten op elkaars werk bouwen of afhankelijk zijn van gedeelde context in een specifieke volgorde.
  • De taak vereist een strikte reeks stappen of voorspelbare, herhaalbare resultaten.
  • Resourcelimieten, zoals quota voor modelgebruik, maken actieve agents parallel inefficiënt of onmogelijk.
  • Agents kunnen wijzigingen in gedeelde gegevens of externe systemen niet betrouwbaar coördineren terwijl ze tegelijkertijd worden uitgevoerd.
  • Er is geen duidelijke manier om conflicten of tegenstrijdigheden tussen resultaten van verschillende agenten op te lossen.
  • Het combineren van resultaten is te ingewikkeld of vermindert uiteindelijk de algehele kwaliteit.

Gelijktijdige indeling implementeren

Implementeer het gelijktijdige orkestratiepatroon met het Microsoft Agent Framework.

  1. Uw chatclient maken
    Stel een chatclient (bijvoorbeeld AzureOpenAIChatClient) in met de juiste referenties om verbinding te maken met uw AI-serviceprovider.

  2. Uw agents definiëren
    Agentexemplaren maken met behulp van de chatclientmethode create_agent. Elke agent moet specifieke instructies en een naam hebben die de rol en het expertisegebied definieert.

  3. De gelijktijdige werkstroom bouwen
    Gebruik de ConcurrentBuilder klasse om een werkstroom te maken die meerdere agents parallel kan uitvoeren. Voeg uw agentexemplaren toe als deelnemers met behulp van de participants() methode en roep build() vervolgens aan om de werkstroom te maken.

  4. De werkstroom uitvoeren
    Roep de methode van run de werkstroom aan met de taak of invoer waaraan u de agents wilt laten werken. De werkstroom voert alle agents gelijktijdig uit en retourneert gebeurtenissen die de resultaten bevatten.

  5. De resultaten verwerken
    Haal de output uit de workflow-gebeurtenissen met behulp van get_outputs(). De resultaten bevatten de gecombineerde gesprekken van alle agents, waarbij het antwoord van elke agent is opgenomen in de uiteindelijke uitvoer.

  6. De geaggregeerde antwoorden verwerken
    De samengevoegde berichten van alle agents verwerken. Elk bericht bevat de naam en inhoud van de auteur, zodat u kunt bepalen welke agent elk antwoord heeft geleverd.

Gelijktijdige indeling is een krachtig patroon voor het gelijktijdig gebruik van meerdere AI-agents, waardoor sneller en diverser probleemoplossing mogelijk is. Door agents parallel uit te voeren, kunt u verschillende benaderingen tegelijk verkennen, de efficiëntie verbeteren en uitgebreidere inzichten verkrijgen. Het is echter belangrijk om dit patroon te kiezen wanneer taken echt onafhankelijk kunnen worden uitgevoerd en rekening houden met resourcebeperkingen en coördinatieproblemen. Wanneer deze zorgvuldig wordt geïmplementeerd met de Microsoft Agent Framework SDK, kan gelijktijdige indeling uw AI-werkstromen en besluitvormingsprocessen aanzienlijk verbeteren.