Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Generatieve orkestratie is de evolutie van de ontwikkeling van conversatieagenten in Copilot Studio. Het introduceert een large language model (LLM) gedreven planningslaag die gebruikersintentie interpreteert, complexe verzoeken ontleedt, de juiste tools en kennis selecteert en meerstapsplannen uitvoert met vangrails voor veiligheid en compliance. In plaats van uitsluitend te vertrouwen op handgemaakte gespreksonderwerpen, zet generatieve orkestratie herbruikbare bouwstenen samen—acties, onderwerpen, kennisbronnen, kindagenten en autonome triggers—tot intelligente workflows.
In Copilot Studio levert generatieve orkestratie betere antwoorden op met minder handmatig scripten. In dit artikel leer je over de architectuur achter generatieve orkestratie, en hoe je effectieve instructies kunt maken en je georkestreerde agents kunt testen en afstemmen.
Waarom is generatieve orkestratie belangrijk?
Traditionele thema-gedreven ontwerpen vereisen meerdere handgemaakte onderwerpen, rigide vertakkingen en handmatig invullogica. Deze aanpak kan leiden tot:
- Grote onderwerpeninventarissen met overlappende logica.
- Moeite met het omgaan met dubbelzinnige of meervoudige intenties.
- Inconsistente ervaringen wanneer gebruikers vragen anders formuleren.
- Hoge onderhoudskosten wanneer API's of bedrijfsregels veranderen.
Generatieve orkestratie lost deze uitdagingen op door:
- Het verminderen van onderwerpverspreiding door het samenstellen van herbruikbare bouwstenen.
- Automatisering van slotvulling op basis van invoerdefinities.
- Dynamisch aanpassen van responsstijl en planstructuur.
- Relevantie verbeteren door semantische kennisopvraging.
- Suggesties voor proactieve volgende stappen mogelijk maken.
Architectuur en onderdelen
Op een hoog niveau bestaat een generatieve orkestrator agent uit verschillende sleutelcomponenten die samenwerken:
Orchestrator (planner): Het door LLM gedreven brein van de agent dat een input, zoals een gebruikersbericht of gebeurtenis, omzet in een gestructureerd plan. De orkestrator identificeert de intenties, kiest welke tools, onderwerpen of agenten voor elke stap worden aangeroepen, en definieert de volgorde en datastroom tussen de stappen. Het geeft een geordende lijst van stappen (een "plan") die de runtime uitvoert, en zorgt ervoor dat elke stap binnen het beleid valt. Zo zoekt het bijvoorbeeld goedkeuring voor gevoelige handelingen.
Kennislaag: Een set opzoekbronnen, zoals interne kennisbanken, documenten, databases en meer, die de agent kan doorzoeken om zijn antwoorden te onderbouwen. De orkestrator gebruikt deze laag om feitelijke informatie of richtlijnen op te halen. Resultaten bevatten vaak citaties en metadata, die de agent kan opnemen in antwoorden voor transparantie. De kennislaag is alleen-lezen en levert bewijs of context.
Tools en connectors: Externe acties, API's of automatiseringsstromen die de agent kan oproepen als onderdeel van een plan. Elke tool heeft een gedefinieerde interface: invoerparameters (met verwachte types), uitvoervariabelen en mogelijk foutcondities. Het zijn in feite de "vaardigheden" van de agent om operaties uit te voeren, zoals het opzoeken van een bestelling, het versturen van een e-mail of het uitvoeren van een script. Je moet tools grondig testen en ervoor zorgen dat ze zich deterministisch gedragen bij dezelfde inputs, aangezien de orkestrator ze als betrouwbare functies beschouwt.
Onderwerpen en inline agenten: Herbruikbare gespreksonderwerpen of mini-dialogen die specifieke logica samenvatten. Bij generatieve orkestratie kan de planner onderwerpen niet alleen oproepen via triggerzinnen, maar ook wanneer hun beschreven doel overeenkomt met de behoefte van de gebruiker. Inline agenten verwijzen naar kleine, gerichte onderwerpen of routines die als substappen binnen een groter plan worden gebruikt. Ze draaien binnen de context van de hoofdagent en behandelen afzonderlijke taken zodat de hoofdorkestrator die details niet expliciet hoeft te scripten.
Gebeurtenistriggers (autonomie): Mechanismen die de orchestrator starten zonder een gebruikersbericht. Deze mechanismen kunnen geplande triggers of gebeurtenisgebaseerde triggers zijn, zoals een databaserecord-update, die ervoor zorgen dat de agent autonoom een plan start. Elke trigger kan zijn eigen voorwaarden en instructies hebben. Autonome triggers stellen de agent in staat proactief te handelen door workflows te starten wanneer aan bepaalde voorwaarden is voldaan, in plaats van alleen te reageren op gebruikerschatinput.
Besturingslagen en beslissingsgrenzen
Laat bij een productie-agent niet elke beslissing aan de AI over. Typisch bestaan er drie controlelagen:
Deterministische laag: Deze laag gebruikt traditionele, op regels gebaseerde logica die je nog steeds handhaaft voor missie-kritische of onomkeerbare acties. Bijvoorbeeld, bij het verwerken van een betaling of het verwijderen van een record, kun je een strikt geschreven onderwerp of flow gebruiken dat stap voor stap wordt uitgevoerd zonder enige AI-interpretatie. Deze laag kan ook expliciete controles of validaties voor gevoelige gegevens bevatten. Als iets precies zoals gespecificeerd moet gebeuren, behandel het dan deterministisch. Je kunt de generatieve orchestrator zo instellen dat deze flows niet worden overgeschreven of gewijzigd. In de praktijk kun je zulke acties misschien niet aan de AI-planner blootstellen of ze altijd verpakken in een onderwerp dat bevestiging door de gebruiker vereist.
Hybride (interceptie) laag: Deze laag voegt wat AI-flexibiliteit toe rond voornamelijk deterministische structuren. Je laat de orkestrator opereren binnen bepaalde grenzen met de mogelijkheid van menselijke of regelgebaseerde onderschepping. Een agent kan bijvoorbeeld automatisch een reactie opstellen of een actie uitvoeren, maar je kunt een goedkeuringsstap invoegen zodat een manager het kan beoordelen. Of de agent kan een taak tot een bepaalde limiet afhandelen en dan moeten escaleren. De hybride laag bepaalt vooraf punten waar het autonome plan van de AI wordt gecontroleerd. Gebruik deze aanpak voor processen met gemiddeld risico: laat de AI het zware werk doen, maar houd een mens op de hoogte voor het toezicht.
AI-orkestratorlaag: Deze laag is volledig generatief. De LLM-planner heeft de vrijheid (binnen de vangrails) om plannen op te stellen en uit te voeren voor lager-risico zoekopdrachten. De meeste Q&A-interacties, informatie-opzoekingen of eenvoudige meerstapsverzoeken vallen in deze categorie. Voor de meeste gebruikersvragen kan de agent autonoom beslissen hoe ze worden opgelost en actie ondernemen. Deze laag biedt de aanpasbaarheid en kracht van generatieve AI. Het is gebonden aan beleidsregels. Bijvoorbeeld, de AI weet misschien dat het niet is toegestaan bepaalde beheerderstools aan te roepen of bepaalde informatie te onthullen. De agent hoeft niet te stoppen en toestemming te vragen voor routinetaken.
Gezien deze lagen, definieer expliciet beslissingsgrenzen. Kijk naar welke acties en onderwerpen:
- Kan worden uitgevoerd zonder bevestiging (de AI kan ze gewoon doen).
- Vraag om bevestiging van de gebruiker binnen het gesprek (bijvoorbeeld: "Weet je zeker dat je alle records wilt verwijderen?")
- Vereis offline goedkeuring (bijvoorbeeld een beheerder moet bevestigen via een goedkeuringsworkflow)
Handvol deze grenzen via je onderwerpontwerp, bijvoorbeeld door een bevestigingsknoop toe te voegen, via de goedkeuringsfuncties van het platform, of via logica in de triggers. Door controle te layeren zorg je ervoor dat de agent veilig opereert—de AI regelt waar hij goed in is, terwijl mensen of strikte regels bepalen wat de AI niet alleen zou moeten beslissen.
Best practices voor agentinstructies
Goed geschreven agentinstructies beïnvloeden de kwaliteit van het opstellen van plannen.
Contextuele relevantie
- Zorg ervoor dat instructies alleen de tools en kennis verwijzen die de makelaar heeft.
- Gebruik de exacte toolnamen, variabelennamen en Power Fx-identificaties.
Gespreksrichtlijnen
- Specificeer het responsformaat (lijsten, tabellen, vetgedrukt).
- Geef stilistische richtlijnen ("beknopt," "vermelding van citaties," "stel volgende stappen voor").
- Vermijd het direct benoemen van specifieke kennisbronnen. Beschrijf ze in plaats daarvan.
Bepalen wanneer je gereedschap of kennis moet gebruiken
- Ik geef de voorkeur aan het gebruik van toolnamen. Namen wegen zwaarder dan beschrijvingen.
- Beschrijf kennismogelijkheden in het algemeen om onjuiste informatie te voorkomen.
Autonome uitvoeringsinstructies
- Definieer de verwachte volgorde van acties voor meerstapsworkflows.
- Combineer procesinstructies met specifieke prompts.
Lees meer in Configureer hoogwaardige instructies voor generatieve orkestratie.
Ontwerpen van onderwerpinvoer en -uitvoer
Let bij het schrijven van onderwerpen extra op hun input- en outputparameters in generatieve orkestratiemodus:
Definieer duidelijke invoerparameters met beschrijvingen: Als een onderwerp of actie bepaalde informatie vereist (zoals "Gebruikersnaam" voor een wachtwoord-resetonderwerp), maak dan een onderwerpinvoer daarvoor en geef het een beschrijvende naam en voorbeeld. De orkestrator gebruikt deze namen en beschrijvingen om automatisch aan de gebruiker te vragen of de waarde ontbreekt. Het gebruik van een lijst van geaccepteerde waarden of een Power Fx-validatieformule voor invoer kan helpen om ervoor te zorgen dat de bot geldige gegevens verzamelt (bijvoorbeeld het beperken van een landcode tot twee letters).
Gebruik automatische prompting: In de generatieve modus genereert de agent zelf vragen in plaats van dat je handmatig vraagknopen moet toevoegen om te vragen naar ontbrekende informatie. Deze aanpak is een grote verandering ten opzichte van klassieke bots. Het belangrijkste is dat je invoernamen mensvriendelijk moeten zijn (bijvoorbeeld "startdatum", "e-mailadres") zodat de AI een natuurlijke vraag kan vormen. Als de automatisch gegenereerde vraag van de AI niet ideaal is geformuleerd, overweeg dan om de beschrijving of naam van de invoer te verfijnen. Deze functie stroomlijnt dialogen aanzienlijk, maar is afhankelijk van goed gespecificeerde inputs.
Specificeer uitvoeren voor onderwerpen waar passend: Een onderwerp kan outputvariabelen produceren die de orkestrator gebruikt om het uiteindelijke antwoord samen te stellen. Bijvoorbeeld, een onderwerp "Store Finder" kan
NearestStoreLocation. Door informatie uit te voeren in plaats van direct een bericht naar de gebruiker te sturen, stel je de orkestrator in staat die informatie soepel te combineren met andere stappen. Als de inhoud van een onderwerp wordt gebruikt in een groter antwoord, vang deze dan als outputvariabele en laat de orkestrator de uiteindelijke boodschap afhandelen. Meer informatie over het orchestrate agentgedrag met generatieve AI.Vermijd "dubbel afhandelen" van gegevens in prompts: Als je outputs configureert, voer die outputs dan niet ook in de LLM als open context in. Als een actie bijvoorbeeld een samenvattende tekst teruggeeft, geef die samenvatting dan als een gestructureerde output door en laat de orkestrator deze opnemen, in plaats van een instructie te schrijven als "Het resultaat van de actie zegt {samenvatting}." Deze aanpak voorkomt dat het model te veel inhoud genereert of herhaalt. Outputs moeten waar mogelijk definitieve datapunten zijn.
Acties, onderwerpen en kennis aan elkaar koppelen
Omdat de orkestrator meerdere mogelijkheden in één beurt kan gebruiken, ontwerp met composability in gedachten:
Geef alles intuïtieve namen en beschrijvingen: De planner besluit grotendeels een tool of onderwerp te gebruiken op basis van hoe goed de naam en beschrijving aansluiten bij het verzoek van de gebruiker. Gebruik actieve zinnen die aansluiten bij de intenties van de gebruikers. Bijvoorbeeld, een tool genaamd "TranslateText" met de beschrijving "Vertaalt tekst naar een bepaalde taal" wordt waarschijnlijker gekozen wanneer de gebruiker vraagt naar vertalen, in tegenstelling tot een generiek genaamde "Flow1." Namen zijn belangrijker dan wat dan ook. Vermijd cryptische namen. Als de agent het verkeerde onderwerp kiest, bekijk dan die namen en beschrijvingen opnieuw.
Bied een rijke "toolkit" maar zorg deze samen: verbind alle nuttige acties die je scenario nodig heeft (API's, flows, enzovoort), en schrijf onderwerpen voor belangrijke flows. Deze aanpak geeft de AI meer opties om queries op te lossen. Verwijder of schakel echter tools en onderwerpen uit waarvan je weet dat ze irrelevant of risicovol zijn voor de agent, zodat ze de planner niet in de war brengen. Een kleinere set hoogwaardige keuzes is beter dan een uitputtende set met overlappende opties. Overlappende beschrijvingen kunnen ervoor zorgen dat de agent meerdere dingen tegelijk probeert, wat misschien niet gewenst is.
Vertrouw op de planner, binnen redelijke grenzen: zodra de componenten goed zijn gedefinieerd, laat de orkestrator de mix en matching maken. Als de gebruiker bijvoorbeeld iets vraagt dat behandeld kan worden door een kennisartikel of een live data-API, kan de planner ervoor kiezen beide te gebruiken—de kennis ophalen voor achtergrondinformatie en de API aanroepen voor actuele informatie. Deze aanpak kan een beter antwoord opleveren. Omarm deze autonomie, maar let vroeg in de film om goede keuzes te maken.
Behandel meerdere intenties: Als een gebruikersquery inherent om twee afzonderlijke dingen vraagt (zoals "open een nieuw account en stuur me de details"), probeert de generatieve planner beide te vervullen door de relevante sequenties achter elkaar aan te roepen. Je hoeft de vertakking niet handmatig te scripten voor multi-intenties. Jouw taak als ontwikkelaar is ervoor te zorgen dat elke subtaak (accountopening, verzendgegevens) wordt behandeld door een tool of onderwerp, en dat hun output en input met elkaar verbonden zijn indien nodig.
Laat kennis onderwerpen en tools aanvullen: De orkestrator kan proactief kenniszoektocht aanroepen, niet alleen als een fallback. Als je een uitgebreide kennisbasis hebt opgebouwd, kan de agent een deel van een query beantwoorden met een kennisartikelfragment, zelfs als een actie een ander deel behandelt. Dit gedrag is opzettelijk ontworpen. Houd je kennisbasis up-to-date met informatie die niet gemakkelijk via tools beschikbaar is.
Let op de reikwijdte van kennisgebruik: Op dit moment kun je de agent niet dwingen om een specifiek kennisartikel op aanvraag te gebruiken. De AI kiest relevante artikelen op basis van de query. Let ook op beperkingen. Systeemonderwerpen zoals "Meerdere onderwerpen gematcht" worden bijvoorbeeld niet gebruikt in de generatieve modus, omdat de planner verduidelijking anders behandelt. Lees meer over andere bekende beperkingen van generatieve orkestratie.
Testen en afstemmen van het georkestreerde agent
Generatieve orkestratie verschuift een deel van de logica van expliciet ontwerp naar het "brein" van de AI. Iteratief testen zorgt ervoor dat het zich gedraagt zoals bedoeld. Hier zijn best practices voor het testen en verbeteren van je georkestreerde agent:
Gebruik de activiteitenkaart: Copilot Studio biedt tijdens het testen een activiteitenkaart die de stappen toont die de orkestrator heeft gekozen. Na het stellen van een complexe vraag aan je agent, bekijk dan het plan: Welke onderwerpen of acties werden opgeroepen? In welke volgorde? Stelde het een passende vervolgvraag? Als de agent het verkeerde onderwerp heeft gekozen of een tool heeft gemist, moet je mogelijk componentbeschrijvingen verfijnen of instructies aanpassen.
Bekijk transcripties: Zodra de agent is gepubliceerd, bekijk regelmatig gesprekstranscripties of logboeken. Let op hallucinaties of onjuistheden in antwoorden. Als gebruikers feedback geven zoals "dat klopt niet", volg dan terug om te zien waarom de medewerker dacht dat het zo was. Pak problemen aan door ontbrekende feiten aan de kennisbank toe te voegen, instructies aan te scherpen, of in sommige gevallen een nieuw onderwerp toe te voegen om een leemte op te lossen. Lees meer in Extractie en analyseer transcripties van agentengesprekken (referentiearchitectuur).
Itereren met kleine aanpassingen: Je kunt een generatief agent vaak verbeteren door subtiele aanpassingen aan te brengen. Als bijvoorbeeld de agentoutput te uitgebreid is of niet in het gewenste formaat, pas dan de instructies over stijl en formaat aan en test opnieuw. Als het elke keer een onnodig hulpmiddel oproept, is de beschrijving van het hulpmiddel misschien te breed en kun je het zo verfijnen dat het alleen wordt aangeroepen wanneer het passend is. Maak één wijziging tegelijk en merk het effect op de beslissingen van de makelaar.
Geef voorbeelduitingen (voorzichtig): Je zult merken dat het toevoegen van een paar voorbeeldgebruikersqueries in de beschrijving van een onderwerp de LLM kan helpen begrijpen wanneer dat onderwerp moet worden gebruikt. Bijvoorbeeld: "Doel: Reset het wachtwoord van een gebruiker. Bijvoorbeeld, de gebruiker kan zeggen 'Ik ben mijn wachtwoord vergeten' of 'Reset mijn Contoso-accounttoegang.'" Deze voorbeelden geven het model extra hints. Overdrijf het niet, en houd beschrijvingen bondig en gefocust. Het model heeft al veel context—zorg er gewoon voor dat je metadata duidelijk is.
Monitor prestatie-indicatoren: Naarmate het gebruik groeit, houd je belangrijke indicatoren in de gaten zoals slagingspercentage (heeft de agent daadwerkelijk het verzoek van de gebruiker opgelost?), de fallback-rate (hoe vaak er stond "Sorry, ik kan daar niet mee helpen") en gebruikerstevredenheid indien beschikbaar. Zelfs tijdens het testen kunnen eenvoudige tellingen van hoe vaak elk onderwerp en hulpmiddel wordt gebruikt wijzen op noodzakelijke aanpassingen. Als bijvoorbeeld een triviaal smalltalk-onderwerp te vaak wordt aangeroepen en ruis toevoegt, schakel het dan uit of beperk de beschrijving. Bekijk de richtlijnen over hoe je de prestaties van je makelaars kunt testen.
Generatieve systemen leren impliciet van jouw configuraties en oplossingen. Elke verbetering van instructies of metadata maakt de volgende beslissing van de AI beter. Na verloop van tijd wordt je georkestreerde agent nauwkeuriger en efficiënter in het afhandelen van zoekopdrachten.
Aangepaste triggers in generatieve orkestratie
Topic-triggers zijn specifiek beschikbaar voor generatieve orkestratie. Door deze triggers te gebruiken, kun je aansluiten op de levenscyclus van de agent en aangepaste logica injecteren op kritieke punten in het orkestratieproces. Er zijn drie hoofdtriggers beschikbaar:
| Aanleiding | Wanneer het triggert | Purpose |
|---|---|---|
| Op kennis gevraagd | Vlak voordat de agent een kennisbankquery uitvoert | Deze trigger laat je het moment onderscheppen waarop de orkestrator op het punt staat de kennisbronnen te doorzoeken. Het biedt alleen-lezen toegang tot de SearchPhrase of trefwoorden die de agent wil gebruiken, en een systeemvariabele om aangepaste zoekresultaten te leveren. Je zou bijvoorbeeld de query kunnen opvangen en routeren naar een propriëtaire index of meer data in de resultaten kunnen injecteren.Dit is een geavanceerde ("geheime") trigger—deze is standaard niet zichtbaar in de UI en moet momenteel worden ingeschakeld via een YAML-bewerking (door een onderwerp exact OnKnowledgeRequestedte noemen). Gebruik het als je de kennisopvragingsstap moet uitbreiden of aanpassen, zoals het filteren van bepaalde resultaten of het samenvoegen van externe data in de kennisrespons. |
| AI-respons gegenereerd | Nadat de AI een conceptantwoord heeft samengesteld, maar voordat het naar de gebruiker wordt gestuurd | De agent activeert deze trigger zodra hij de uiteindelijke antwoordtekst heeft opgebouwd (gebaseerd op alle tool- en topic-outputs) en net voordat deze wordt afgeleverd. Deze stap geeft je de mogelijkheid om het antwoord of de citaties programmatisch aan te passen. Je kunt bijvoorbeeld de tekst nabewerken om eventuele opmaak te corrigeren, of ruwe URL's vervangen door vriendelijke trackinglinks. Je kunt zelfs besluiten de reactie te overrulen. De trigger kan een eigen eigen bericht opleveren, en je kunt een ContinueResponse vlag gebruiken om aan te geven of het oorspronkelijke AI-antwoord nog steeds verzonden moet worden of niet.Gebruik deze trigger voor last-minute aanpassingen of verbeteringen aan het antwoord van de AI, zoals het toevoegen van een enquêteprompt of het redigeren van iets dat de AI heeft toegevoegd maar je wilt laten verwijderen. Intensief gebruik van deze trigger kan wijzen op logica die in de hoofdinstructies zat. Gebruik het voor fijnmazige controle wanneer dat nodig is. |
| Op Plan voltooid | Nadat het hele plan is uitgevoerd en de reactie is verzonden | Zodra een plan is afgerond, wat betekent dat alle stappen zijn afgerond en de gebruiker het antwoord ziet, wordt deze trigger geactiveerd. Gebruik het meestal om het einde van het gesprek te starten. Een veelvoorkomend gebruik is om het gesprek te leiden naar een specifiek eindonderwerp of naar een enquête. Je kunt bijvoorbeeld een onderwerp aan het einde van de chat hebben dat de gebruiker bedankt of de volgende stappen geeft. Door On Plan Complete te gebruiken, kun je dat onderwerp automatisch aanroepen. Wees echter voorzichtig: je wilt waarschijnlijk het gesprek niet beëindigen na elke vraag van de gebruiker, vooral als een gebruiker vervolgvragen kan stellen. Voeg alleen logica toe als een bepaalde contextvariabele is ingesteld of als het plan een bepaald type verzoek oplost. Gebruik in wezen On Plan Complete voor opruimacties of voor een elegante afsluiting wanneer dat passend is. |
Meer generatieve orkestratiemogelijkheden
Verdiep je begrip van het orkestratiemodel van Copilot Studio met geavanceerde mogelijkheden die de manier waarop agenten plannen, handelen en samenwerken uitbreiden:
- Ontwerp autonome agentcapaciteiten: Bouw agenten die proactief handelen door gebruik te maken van triggers, beslissingsgrenzen en vangrails.
- Verken multi-agent orkestratiepatronen: Leer hoe meerdere agenten coördineren, taken delegeren en context uitwisselen om complexe workflows op te lossen.