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.
Note
Dit artikel beschrijft de kenmerken en het gedrag van het standaardharnas. Lees hoe je toegang krijgt tot standaardfuncties in Standaardagenten en agentstromen openen.
Generatieve orkestratie is de evolutie van de ontwikkeling van conversationele agenten in Copilot Studio. Het introduceert een grootschalig taalmodel (LLM) dat wordt aangestuurd door een planningslaag die gebruikersintentie interpreteert, complexe verzoeken ontleedt, de juiste tools en kennis selecteert en meerstapsplannen uitvoert met waarborgen voor veiligheid en naleving. 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 biedt het inschakelen van generatieve orkestratie betere antwoorden met minder handmatige scripting. 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 agent die wordt aangedreven door het standaardharnas uit verschillende sleutelcomponenten die samenwerken:
Standard harness (planner): Het door LLM aangestuurde brein van de agent dat een input, zoals een gebruikersbericht of gebeurtenis, omzet in een gestructureerd plan. De harness 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. Het harnas 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 in alleen-lezen-modus en voorziet van 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 input, aangezien het harnas 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 worden uitgevoerd binnen de context van de hoofdagent en voeren afgebakende taken uit, zodat de harness die details niet expliciet hoeft te scripten.
Gebeurtenistriggers (autonomie): Mechanismen die het harnas 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 productiegerichte 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 het harnas zo instellen dat deze stromen niet worden overgeschreven of veranderd. 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 het systeem functioneren binnen vastgestelde grenzen, waarbij menselijke of op regels gebaseerde tussenkomst mogelijk is. 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-harnaslaag: Deze laag is volledig generatief. De LLM-planner heeft de vrijheid (binnen de beperkingen) om plannen op te stellen en uit te voeren voor lagere-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?")
- Offline goedkeuring vereist (bijvoorbeeld moet een beheerder bevestigen door middel van een goedkeuringsworkflow)
Handhaaf deze grenzen via je onderwerpontwerp, bijvoorbeeld door een bevestigingsnode toe te voegen, via de goedkeuring functies van het platform, of middels 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.
Beste praktijken voor instructies voor agents
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. Het harnas 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.
Geef uitvoer op voor onderwerpen waar van toepassing: Een onderwerp kan uitvoervariabelen genereren die de harness gebruikt om het uiteindelijke antwoord samen te stellen. Bijvoorbeeld kan een onderwerp zoals "Store Finder"
NearestStoreLocationproduceren. Door informatie uit te voeren in plaats van direct een bericht naar de gebruiker te sturen, kun je het harnas die informatie soepel combineren met andere stappen. Als de inhoud van een onderwerp in een groter antwoord wordt gebruikt, vang het dan als outputvariabele en laat het harnas 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 kabel deze opnemen, in plaats van een instructie te schrijven als "Het resultaat van de actie zegt {samenvatting}." Deze aanpak voorkomt dat het model inhoud overgenereert of herhaalt. Outputs moeten waar mogelijk definitieve datapunten zijn.
Acties, onderwerpen en kennis aan elkaar koppelen
Omdat het harnas 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, met mate: Zodra de componenten duidelijk gedefinieerd zijn, laat het testharnas ze naar behoefte combineren. 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 er al vroeg op dat er goede keuzes worden gemaakt.
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 meerdere 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 hulpmiddelen aanvullen: Het harnas 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. Bijvoorbeeld systeemthema's zoals "Meerdere onderwerpen gematcht" worden niet gebruikt in de generatiemodus, omdat de planner ambivalenties anders oplost. 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 activiteitskaart die de stappen toont die het harnas 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 de output van de agent bijvoorbeeld te uitgebreid en gedetailleerd is of niet in het gewenste formaat, pas dan de instructies betreffende stijl en formaat aan en test het 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:
| Trigger | Wanneer het wordt geactiveerd | Purpose |
|---|---|---|
| Op aanvraag van kennis | Vlak voordat de agent een kennisbankquery uitvoert | Met deze trigger kun je het moment onderscheppen vlak voordat de harness de kennisbronnen doorzoekt. Het biedt alleen-leestoegang tot de SearchPhrase of trefwoorden die de agent wil gebruiken, en een systeemvariabele die aangepaste zoekresultaten levert. 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 om de reactie te overriden. 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 processen na 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 uw kennis van het indelingsmodel van Copilot Studio met geavanceerde mogelijkheden waarmee u kunt uitbreiden hoe agents plannen, handelen en samenwerken:
- 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.
- Beheer context in het standaardharnas: Begrijp hoe context wordt verdeeld, ontwerp zo dat dubbele berichten en gemiste antwoorden worden voorkomen, beheer context tussen verschillende subagenten en los problemen op.
-
Verbinding maken met aangepaste kennisbronnen: gebruik de
OnKnowledgeRequestedtrigger om uw eigen zoek-API's en gegevensbronnen te integreren in het proces voor het ophalen van kennis van de agent.