Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
En underordnet agent er en letvægtsagent, der findes inden for konteksten af din hovedagent. Underordnede agenter giver dig mulighed for logisk at gruppere værktøjer, instruktioner og viden i klart definerede underagenter i en større agent. De er ideelle til sager med enkelt brug, der reagerer på en enkelt hensigt eller fuldfører en enkelt opgave. I denne artikel forklares det, hvordan du opretter og administrerer en underordnet agent.
Oprette en underordnet agent
Gå til siden Agenter for din hovedagent, og vælg Tilføj en agent.
Vælg Ny underordnet agent.
Angiv et karakteristisk navn til den nye underordnede agent.
Afgør, hvornår din agent skal bruges. Agenter reagerer som standard på brugere eller udløsere baseret på deres beskrivelse.
- Hvis du vil bruge standardfunktionsmåden (Agenten vælger – baseret på beskrivelse), skal du angive en kort beskrivelse af agentens formål.
- Ellers skal du udvide listen under Hvornår skal dette bruges? og vælge den ønskede funktionsmåde. Du kan finde flere oplysninger om de understøttede funktionsmåder under Bestem, hvornår du skal bruge din agent.
Angiv en tydelig vejledning, som agenten skal følge, når den aktiveres. Hvis du vil referere til værktøjer, variabler eller tilføje Power Fx-formler i dine instruktioner, skal du angive en skråstreg (/) og vælge den ønskede indstilling i den menu, der vises.
Vigtigt
Når du refererer til eksisterende værktøjer i dine subagentinstruktioner, skal du beslutte, om værktøjet skal være direkte tilgængeligt for din hovedagent eller kun når det eksplicit kaldes inden for subagentinstruktionerne. At begrænse et værktøjs brug til eksplicitte instruktionsreferencer hjælper med at forhindre forvirring blandt orkestratorerne, når lignende værktøjer eller agenter eksisterer. Hvis du f.eks. har agenten "Kontrollér kontosaldo" og et lignende værktøj til "Hent kontosaldo", skal du begrænse værktøjet til kun at blive kaldt af agenten for at undgå overlapning. Hvis du vil begrænse et værktøj til kun at være tilgængeligt, når der refereres fra en anden agent, skal du fjerne markeringen af egenskaben Tillad agent at beslutte dynamisk, hvornår du vil bruge dette værktøj i afsnittet Yderligere oplysninger på værktøjets detaljeside.
Eventuelt kan du tilføje viden og værktøjer, som kun denne child agent kan bruge:
- I afsnittet Viden skal du vælge Tilføj og fortsætte på samme måde, som når du føjer viden til din hovedagent.
- I afsnittet Værktøjer skal du vælge Tilføj og fortsætte på samme måde, som når du føjer værktøjer til din hovedagent.
Hvis du ikke ønsker, at denne agent skal være aktiv endnu, skal du deaktivere Aktiveret. Du kan aktivere din underordnede agent senere.
Vælg Gem.
Administrer inputs og outputs
En underordnet agent modtager som standard en opgave på naturligt sprog, der skal fuldføres af hovedagenten, når agenten kalder den. Når den fuldfører sin opgave, returnerer den et naturligt sprogligt resumé af, hvad der skete under udførelsen. I nogle tilfælde kan det være en god idé at angive mere eksplicitte input- og outputværdier for agenten.
Konfigurér input og input-indsamling
Fra din overordnede agent Agents side vælger du din barneagent.
Scroll til afsnittet Inputs .
Hvis du vil tilføje et input, skal du vælge Tilføj input. Definer et vist navn og en beskrivelse, som hjælper agenten med at forstå formålet med inputtet, så den kan udfylde inputtet med en relevant værdi, når denne agent kaldes.
Vælg en Datatype.
Du kan også vælge Gør dette input påkrævet for at kræve, at inputtet har en værdi, før agenten kan kaldes.
Vælg Gem.
Avancerede indgangskonfigurationer
Vælg Avanceret for at udvide sektionen og se de andre indstillinger, du kan konfigurere for inputtet.
Avancerede indstillinger inkluderer følgende indstillinger relateret til, hvordan agenten udfylder inputværdien, når den kalder børneagenten:
- Bør spørge brugeren: Hvis denne indstilling er slået til, beder agenten eksplicit slutbrugeren om en værdi for inputtet, hvis agenten ikke kan finde værdien ud fra tilgængelig kontekst. Dette er nyttigt, når du vil sikre, at agenten får en værdi for dette input, selvom den kaldende agent ikke giver en eller ikke har relevant kontekst til at udfylde den. Når denne indstilling er aktiveret, genererer barneagenten en prompt for at bede brugeren om de nødvendige oplysninger, hvilket kan hjælpe med at forbedre nøjagtigheden af agentens svar.
- Prompt - Tilpass: Vælg at tilpasse en specifik prompttekst til samling for mere deterministisk kontrol.
- Hvor mange reprompts: Angiv hvor mange gange agenten skal reprompte brugeren for en værdi for denne input, hvis den angivne værdi ikke er gyldig. Dette er nyttigt for at sikre, at agenten får en gyldig værdi for dette input. Du kan vælge op til to gentagelser.
- Prøv igen prompt - Tilpass: Vælg at tilpasse specifik prompt-ordlyd for reprompts, når den angivne værdi ikke opfylder de specificerede betingelser, for mere deterministisk kontrol.
- Betingelse: Angiv betingelser, som det givne input skal opfylde for at blive betragtet som gyldigt.
- Betingelse ikke opfyldt prompt: Tilpas en specifik promptformulering til at bede brugeren om en anden værdi, når den angivne værdi ikke opfylder de angivne betingelser.
- Handling hvis ingen enhed findes: Angiv den handling, agenten skal tage, hvis agenten ikke kan finde en værdi for dette input fra den tilgængelige kontekst eller fra prompting. Vælg om du vil eskalere, sætte variablen til en bestemt værdi, eller lade værdien stå tom.
- Ingen entitet fundet-besked: Hvis du vælger at lade agenten eskalere, når der ikke findes nogen værdi for dette input, skal du tilpasse beskeden, agenten sender til brugeren.
Konfigurer børneagent-output og fuldførelsesadfærd
Under Output kan du konfigurere de outputværdier, som din child agent returnerer til parent agenten, når den er færdig. Du kan også konfigurere forældreagentens adfærd, efter at barneagenten er færdig.
Konfigurer forældreagentens adfærd efter børneagentens færdiggørelse
Du kan specificere forældreagentens adfærd, efter at barneagenten er færdig med at køre under Efter kørsel i Outputs-sektionen :
- Svar ikke: Som standard fortsætter forældreagenten med næste trin i sin orkestreringsplan, efter at barneagenten er færdig, og returnerer eventuelle output til moderagenten. Du kan også vælge, at forældreagenten sender en besked til brugeren straks efter, at barneagenten er færdig, før du fortsætter med næste trin i orkestreringsplanen ved at vælge en af de andre muligheder.
- Skriv svaret med generativ AI: Forældreagenten sender en besked til brugeren med et generativt AI-svar umiddelbart efter, at barneagenten er færdig, og bruger børneagentens output som kontekst for svaret.
- Send specifikt svar: Forældreagenten sender en specifik besked til brugeren straks efter, at barneagenten er færdig, uanset barnets output. Når du vælger denne mulighed, kan du tilpasse beskedens indhold.
- Send et adaptivt kort: Forældreagenten sender et adaptivt kort til brugeren straks efter, at barneagenten er færdig. Når du vælger denne mulighed, kan du tilpasse indholdet af det adaptive kort.
Konfigurér output
Gå til oplysninger om den underordnede agent.
Scroll til afsnittet Outputs .
Hvis du vil se den aktuelle liste over output, skal du udvide sektionen Avanceret i afsnittet Outputs.
Hvis du vil tilføje et output, skal du vælge Tilføj output. Definer et vist navn og en beskrivelse, som hjælper agenten med at forstå formålet med outputtet, så den kan udfylde det med en relevant værdi, når der returneres værdier til den kaldende agent.
Vælg en Datatype.
Vælg Gem.
I afsnittet Outputs kan du også vælge at få en meddelelse sendt til brugeren, umiddelbart efter at din underordnede agent er færdig. Hvis du vil sende meddelelsen, skal du ændre markeringen Efter kørsel.
Find ud af, hvornår du skal bruge din agent
Underordnede agenter reagerer som standard på en brugerforespørgsel baseret på dens beskrivelse. Du kan også konfigurere underordnede agenter til at opfange andre hændelser og reagere på dem under Hvornår vil dette blive brugt?.
| Hændelse | Beskrivelse |
|---|---|
| Der blev modtaget en sms | Kaldes, når en meddelelsesaktivitet – den mest almindelige type aktivitet – modtages. Modtages, når en bruger skriver eller siger noget til agenten. Agenten reagerer som standard på alle meddelelser. Hvis du vil begrænse agentens svar til en bestemt type meddelelse, skal du bruge listen Aktivitetstype under Flere oplysninger. |
| Der forekommer en brugerdefineret klienthændelse | Kaldes, når der modtages en hændelsesaktivitet. Agenten reagerer som standard på alle hændelser. Hvis du vil begrænse agentens svar til en bestemt hændelse, skal du bruge egenskaben Hændelsesnavn under Flere oplysninger. |
| Der vises en aktivitet | Kaldes, når der modtages en hvilken som helst aktivitetstype. Hvis du vil begrænse agentens svar til en bestemt type aktivitet, skal du bruge listen Aktivitetstype under Flere oplysninger. |
| Samtalen skifter | Kaldes, når der modtages en samtaleopdateringsaktivitet. For eksempel sender Teams en aktivitet af denne type, når en bruger deltager i en samtale. |
| Det aktiveres | Kaldes, når der modtages en aktiveringsaktivitet. Modtages oftest fra Teams-kanalen, f.eks. når brugeren interagerer med en meddelelse eller en søgeudvidelse i Teams. |
| Det omdirigeres til | Kaldes, når agenten kaldes eksplicit fra et emne. |
| Brugeren er inaktiv i et stykke tid | Kaldes, når brugeren ikke har interageret med hovedagenten efter en konfigureret tidsperiode. Vælg den ønskede grænse for inaktivitet på listen Inaktivitetsvarighed under Flere oplysninger. |
| En plan fuldføres | Kaldes, når hovedagenten afslutter udførelsen af alle planlagte trin for at reagere på en brugerforespørgsel eller en autonom udløser. |
| Et AI-genereret svar er ved at blive sendt | Kaldes, når hovedagenten genererer et svar til en bruger efter at have kaldt et eller flere emner, værktøjer eller videnkilder. Brug Response.FormattedText systemvariablen til at se det genererede svar. Angiv ContinueResponse variablen til falsk, hvis du vil forhindre, at der sendes orkestreringssvar (dvs. hvis du ændrer meddelelsen og sender din egen ved hjælp af en meddelelsesnode). |
Andre detaljer
Afhængigt af dit valg af Hvornår vil dette blive brugt?, kan der være flere tilgængelige egenskaber. Følgende egenskaber er altid tilgængelige.
Betingelse
Angiv betingelser, der skal være opfyldt, for at agenten kan kaldes. Det kan f.eks. være, at agenten kun kaldes, hvis den kanal, der bruges af en medarbejder, er Microsoft Teams.
Hvis du har brug for mere komplekse betingelser, kan du skifte til Power Fx-formeleditoren: Vælg Builder, vælg derefter Formel.
Prioritet
Mere end én agent kan udløses for en enkelt indgående aktivitet, f.eks. en meddelelse. Som standard bestemmer den indstilling, du vælger for Hvornår vil dette blive brugt? den rækkefølge, som agenterne udløses i.
Underordnede agenter og emner deler det samme sæt udløsere eller hændelser, som de kan reagere på. Hvis en agent og et emne er konfigureret til at reagere på den samme hændelse, f.eks. brugeraktivitet, skal du bruge egenskaben Prioritet til at bestemme, hvilken der udløses først.
Rækkefølge for udførelse:
- Der vises en aktivitet
- Der modtages en meddelelse / Der forekommer en brugerdefineret klienthændelse / Samtalen skifter / Det aktiveres
- Agenten vælger
Hvis flere agenter eller emner skal kaldes på baggrund af den samme type hændelse, kaldes de i oprettelsesrækkefølgen (ældste først).
Du kan angive egenskaben Prioritet eksplicit. Et lavere tal angiver en højere prioritet.
Børneagenter og værktøjsbrug
Copilot Studio-agenter, der bruger generativ orkestrering, har begrænsninger i det maksimale og anbefalede antal værktøjer, de kan bruge. For mere information, se Begrænsninger på værktøjer i agenter.
Når en barneagent kaldes, bruger den sine egne værktøjer og viden til at svare på brugeren eller hændelsen. Fordi børneagenter har deres egen orkestrering, har de deres egne grænser for antallet af værktøjer, adskilt fra grænserne for forældreagenten.
Den separate grænse er en af fordelene ved at bruge børneagenter: du kan logisk gruppere værktøjer og viden i mindre agenter, der fokuserer på specifikke opgaver, uden at påvirke hovedagentens samlede grænser. Der er dog en afvejning i latenstiden, som det ekstra lag af orkestrering tilføjer.