Konfigurer instruksjoner av høy kvalitet for generativ iverksetting

Denne artikkelen gir veiledning om hvordan du skriver de beste instruksjonene for agenten din når agenten bruker generativ iverksetting. Du definerer instruksjoner på agentens Oversikt-side.

Skjermbilde av en agents Oversikt-side, med uthevet instruksjonsfelt.

Instruksjoner brukes av agenten på følgende måter:

  • For å bestemme hvilket verktøy eller hvilken kunnskapskilde som skal brukes for å løse en brukerspørring eller en autonom utløser.
  • For å fylle inn inndata for et hvilket som helst verktøy basert på tilgjengelig kontekst.
  • For å generere et svar til sluttbrukeren.

Språk for å skrive instruksjoner

Bruk verb som Hent eller Bruk for å hente og analysere data, og ord som Fra og Med for å agere på resultatene.

Følgende ord brukes ofte til å lage enkle instruksjoner:

Mål Ordforråd
Betingelser når, hvis, sørg for, sammenligne
Filtre fra, inkluder, utelat, sammenlign, identifiser
Data oppgi, hent, få, bruk, analyser, trekk ut
Verktøy varsle, dirigere, spørre, tilordne

Forankre instruksjoner i kunnskapskilder og verktøy

Agenter kan ikke følge instruksjonene for å bruke verktøy eller kunnskapskilder hvis agenten ikke har disse verktøyene eller kunnskapskildene. Du må først konfigurere agenten med de riktige verktøyene og kunnskapskildene. Hvis du for eksempel gir en instruksjon til agenten din om å søke i vanlige spørsmål om et nettsted, kan ikke agenten følge denne instruksjonen med mindre du legger til vanlige spørsmål om nettstedet som en kunnskapskilde i et emne. Sørg for at eventuelle instruksjoner du gir agenten, er grunnfestet i verktøy og kunnskap du har konfigurert for agenten.

Notat

For at generativ iverksetting skal kunne søke i bestemte kunnskapskilder, må disse kunnskapskildene innlemmes i en generativ svar-node i et emne. Ellers søker generativ iverksetting gjennom alle kunnskapskildene på agentnivå, noe som betyr kunnskapskildene som er oppført på siden Kunnskap.

Hjelp agenten med å finne nødvendige verktøyene og nødvendig kunnskap som skal kalles opp

Før du legger til instruksjoner for å kalle opp de riktige verktøyene og kunnskapskildene for agenten, må du kontrollere at hvert verktøy og hver kunnskapskilde følger de anbefalte fremgangsmåtene for redigering av beskrivelser. For best resultat må navnet og beskrivelsen være nøyaktig og spesifikk, fordi disse feltene er det agenten bruker disse feltene for å bestemme hva som skal kalles opp. Bruk beskrivelsen til å angi hva du ikke må gjøre hvis du ser at agenten kaller dem opp på feil tidspunkt.

Du trenger ikke å definere tilgjengelige verktøy eller tilgjengelig kunnskapskilder i instruksjonene, siden denne informasjonen allerede er tilgjengelig for agenten. Du kan bruke / mens du skriver instruksjoner for å angi bestemt verktøy, emne eller variabel, eller Power Fx-uttrykk for agenten. Agenten bruker imidlertid også navn og beskrivelser for verktøy eller kunnskapskilde for å finne ut hvilken du skal bruke, slik at du ikke trenger å angi bestemte for agenten.

Fokuser i stedet på å legge til instruksjoner bare for tilfeller der du vil gi agenten tips når riktig verktøy eller kunnskapskilde kan være tvetydig. Du kan også gi en instruksjon som henviser til flere verktøy eller kunnskapskilder.

Use the FAQ documents only if the question is not relevant to Hours, Appointments, or Billing.
Only use the ticket creation topic for creating tickets.
For other requests related to fixing issues, use the troubleshooting topic.

Hjelp agenten med å velge de riktige kunnskapskildene

For å sikre at agenten din lykkes med å hente informasjon fra kunnskapskilder, spesifiser hvilke dokumenter den skal lete etter i instruksjonene. Eksempelsvis: «Søk i kunnskapsbasen din etter dokumentet for ansattinnføring.» Selv om denne typen presisjon ikke er strengt nødvendig, kan det være nyttig for å veilede agenten din. Denne typen spesifiseringen er nyttig når det er mange dokumenter agenten trenger å søke i.

Hjelp agenten med å velge riktig rekkefølge med verktøy

Agenten prøver å velge riktig verktøy og lykkes vanligvis, men det hjelper å være eksplisitt i instruksjonene. Hvis du for eksempel vil at agenten skal opprette en bestillingsoppføring i Dataverse ved hjelp av create order-verktøyet, kan du bruke / og legge til det bestemte verktøyet i instruksjonene. I dette scenarioet gir du en klar instruksjon: «Når brukeren har gitt detaljer om den foretrukne bærbare datamaskinen, oppretter du en bestilling ved å bruke /Bestilling». Denne spesifikasjonen er nyttig der mange verktøy (mer enn fem) er lagt til i agenten.

Bruk nummerert liste (ved hjelp av punktliste) for instruksjonene, og angi at agenten må følge dem i rekkefølge. Du kan også bruke Markdown-format for å forbedre lesbarheten av instruksjonene dine og hjelpe generativ kunstig intelligens med å forstå og behandle dem.

Notat

Hvis du ikke vil at agenten skal kontakte brukeren, oppgi det eksplisitt i instruksjonene. Eksempel: «Ikke be brukeren om informasjon.»

Når du gir navn til et verktøy i instruksjonene, må du kontrollere at du bruker nøyaktig samme navn som selve verktøyet. Små forskjeller i navngivning kan påvirke resultatene negativt. Sørg også for at du bruker / i utformingen av det spesifikke verktøynavnet (/"Tool_Name").

Hvis du krever at agenten din skal være svært spesifikk når du svarer på brukerinndata, kan du vurdere å opprette et emne for å håndtere dette bestemte brukstilfellet. Du kan for eksempel opprette et emne som gjenkjenner uttrykk som ligner på "er det noen andre tilgjengelige alternativer?" Agenten svarer deretter spesifikt: "Ingen andre alternativer er tilgjengelige for øyeblikket, velg fra den tilgjengelige listen."

Agenten bruker verktøyets beskrivelse til å forstå hvorfor verktøyet skal brukes. Hvis du fyller ut verktøyets beskrivelse, hjelper det agenten med å velge riktig verktøy. Legg til en beskrivels som informerer agenten når den skal kalle opp et bestemt verktøy, for eksempel «kall opp dette verktøyet når brukeren ber om å hente kundebestillingsloggen».

Utløsere kan være sårbar for jailbreak-angrep. Denne typen angrep er der en angriper sender instruksjoner som agenten skal følge, i utløsernyttelasten. Angriperen kan for eksempel be agenten om å sende informasjonen agenten har tilgang til, til seg selv på e-post.

Hvis du vil beskytte agenten mot denne risikoen, må du sørge for at instruksjonene inneholder følgende informasjon:

  • Begrens hvilke verktøy agenten skal bruke når den henviser til kunnskapskilder. Eksempel: Kun e-postinformasjon etter å ha kontrollert en kunnskapskilde for kontekst.

  • Begrens hvilke parametere som agenten skal bruke til verktøy. Send for eksempel e-post bare til en spesifisert liste over enkeltpersoner.

Hvis du legger merke til at agenten blokkerer normal virkemåte ved hjelp av innholdsfiltrering, kan du oppdatere agentinstruksjonene for å indikere at virkemåten forventes å fungere.

Hjelp agenten med å fylle inndata for verktøy

Agenten kan kalle opp et verktøy som har inndataparametere som må fylles ut. I dette tilfellet bruker agenten samtaleloggen og tidligere oppkalte verktøy og kunnskapskilder for å avgjøre hva inndataene skal være. Hvis agenten ikke identifiserer alle inndataene, ber den brukeren om å hjelpe til å fylle ut den manglende informasjonen.

I dette scenarioet må du først sørge for å konfigurere inndata for agenten basert typene samhandlinger du forventer at agenten skal håndtere. Deretter bruker den instruksjonene for å fylle ut inndata, men bare i situasjoner der agenten skal fylle ut de beste tilgjengelige inndataene.

Use the email address from the contact field of the lead when helping the user to draft an email to follow-up on a lead.

Hjelp agenten med å generere et svar

Først kan du bruke instruksjoner til å gi agenten din retningslinjer for når den ikke skal svare. Agenten genererer et svar etter at det foretar oppkall til verktøy eller kunnskapskilder som er relevante for det nåværende scenarioet. Hvis du aktiverer innstillingen Tillat ujordede svar i kunnskapskilde-delen av agentens generativ kunstig intelligens-innstillinger, kan agenten generere et svar uten å bruke noen verktøy eller kunnskapskilder.

Her er et eksempel på hvordan du bruker instruksjoner som beskyttelsessperrer:

Only respond to messages that are relevant to Contoso corporation and ordering coffee. 
Otherwise, tell the user you can't help with their inquiry.

Hvis du har et bestemt emne du ikke vil at agenten skal diskutere, kan du legge til et emne for dette scenarioet med et svar som er skrevet manuelt. Denne metoden forhindrer at du bare trenger å stole på instruksjoner for å unngå det emnet.

For det andre kan du gi agenten instruksjoner om hvordan den skal formatere eller strukturere svar. Eksempel:

Always give responses about order status in a table format.

Hvis du vil at agenten skal være profesjonell og snakke høflig, er det ikke nødvendig å gi instruksjoner for denne tonen, siden det er agentens standardoppførsel. Gi bare toneinstruksjoner for spesifikke brukstilfeller.

Samtalebaserte instruksjoner

Eksemplet nedenfor viser hvordan du formaterer samtalebaserte instruksjoner ved hjelp av en konstruksjon av begrensninger, svarformat og veiledning. Kombiner disse tre elementene til én for å gi et komplett sett med instruksjoner for agenten.

Begrensninger

Only respond to requests to provide information about educational, legal, wellness, wellbeing, health, dental care, and newborn benefits for employees and dependents. 
Respond to benefit types with details, health plan comparisons available for employees and dependents in tabular format.
Answer in bold and underline fonts as necessary.

Svarformat

Respond to inquiries by providing benefit types along with details, health plan comparisons available for employees and dependents in tabular format. 
Add a column for available options. 
Include insurance provider details and provide a link for enrollment. 
Answer in bold and underline fonts as necessary.

Veiledning

Search only within specific country folders relevant to the employee's country.

Automone instruksjoner

Følgende grafikk illustrerer trinnene som en agent tar basert på autonome instruksjoner:

Illustrasjon av en firetrinnsprosess i et eksempel med en innkjøpsagent for enheter der bestillingsprosessen for enheten automatiseres.

Agentinstruksjoner og -virkemåte

Bruk agentinstruksjoner i Copilot Studio til å påvirke svaroppsummering etter dokumenthenting. Følgende vanlige misforståelser og anbefalte fremgangsmåter hjelper deg med å utforme pålitelige agentopplevelser.

Notat

Systemet behandler agentinstruksjoner omtrent som om de var kode. Feil kode kan ødelegge systemet ditt, spesielt når det gjelder sitater og valg om du skal vise svar. Hvis du har kompliserte instruksjoner og ikke får svar, prøv å fjerne agentinstruksjonene dine og legg til individuelle instruksjoner sakte. Test mellom hver tillegg for å sikre at instruksjonene dine fungerer.

Virkemåte for dynamisk kort

Agentinstruksjoner kan ikke endre hvordan dynamiske kort utløses.

I stedet, hvis du bruker dynamiske kort:

  • Rediger det dynamiske kortet direkte.
  • Juster utløseruttrykk i kortkonfigurasjonen for å kontrollere når den vises.

Bruk oppfølgingsspørsmål

Bruk oppfølgingsspørsmål for å klargjøre intensjon, samle manglende input og fremheve relevante handlinger eller kunnskap. Når du bruker denne tilnærmingen, stiller agenten det riktige neste spørsmålet basert på hva den kan gjøre og hva den vet under kjøring.

Følgende forbehold gjelder ved bruk av oppfølgingsspørsmål:

  • Hvis innstillingen Tillat ubegrunnede svar er deaktivert, fungerer ikke oppfølgingsspørsmål.
  • Hvis du deaktiverer denne innstillingen, vurderer orkestratoren å klargjøre spørsmål som ikke har en kilde uten grunnlag, og undertrykker dem. Agenten gir som standard følgende svar: «Beklager, jeg vet ikke hvordan jeg kan hjelpe med det. Kan du prøve å omformulere?»

Agenter kan forutse brukerbehov og foreslå neste logiske trinn basert på verktøyene og kunnskapen de har tilgjengelig. Eksempelsvis kan en agent som svarer «Hva er været i Roma i dag?» tilby «Vil du også vite værmeldingen for i morgen?» og deretter handle på brukerens «ja» uten ekstra presisering.

Skjermbilde av en samtale mellom en agent og en bruker hvor agenten stiller et oppfølgingsspørsmål.

Denne tilnærmingen reduserer hardkodede dialogstier. I stedet overføres ansvaret fra å definere alle mulige dialogforløp til å veilede agentens resonnement med instruksjoner som refererer til agentens evner.

Skjermbilde av agentens instruksjoner, som fremhever tilgjengelige verktøy og eksempler på oppfølgingsspørsmål.

Når du bruker oppfølgingsspørsmål, følg denne strategien:

  • Referer til verktøy, kunnskap og variabler i instruksjonene slik at agenten kan bruke dem til å generere konteksttilpassede oppfølgingsspørsmål. Instruksjoner støtter henvisning til agenter, variabler, verktøy, kunnskap og Power Fx-uttrykk.

  • Be agenten om å avslutte svarene med relevante oppfølgingsspørsmål i den aktuelle konteksten og med agentens aktive verktøy. Denne tilnærmingen muliggjør adaptiv atferd i stedet for faste, sprø strømmer.

  • Sørg for at eksempler og begrunnelse er synlige i instruksjonene slik at agenten lærer det forventede mønsteret (hva man skal spørre om og hvorfor). Å liste opp tilgjengelige verktøy forbedrer relevansen og naturligheten til oppfølgingsspørsmålene, selv om orkestratoren allerede vet hvilke verktøy som er aktive.

Endre standard basismelding

Egendefinerte instruksjoner kan ikke overstyre standard basismelding.

Standardmeldingen er: «Beklager, jeg vet ikke hvordan jeg kan hjelpe deg med dette. Kan du prøve å omformulere?»

Slik endrer du standardmeldingen:

  1. Gå til Basisemne: EmnerSystemBasisemne.

  2. I basisemnet redigerer du teksten Melding.

Tvetydige termer

Unngå vage uttrykk, for eksempel «skriveboks», i instruksjoner. Disse begrepstypene er tvetydige for språkmodellen og kan føre til uforutsigbar virkemåte.

Søk etter henting

Agentinstruksjoner kan ikke endre søkehentingslogikk. Fjern alle instruksjoner som forsøker å påvirke dokumenthenting.

Del hentede dokumenter

Du kan ikke endre hvordan hentede dokumenter deles. Systemet kontrollerer denne oppførselen.

Inkluder en utløser

Endre standard utløsernyttelast for å hjelpe agenten med å forstå hva som skal gjøres når utløseren aktiveres. Bruk variabler for å redusere størrelsen på nyttelasten. Opprett utløseren, og rediger den deretter i Power Automate for å velge bestemte variabler. Send for eksempel bare emnefeltet i en mottatt e-postmelding, i stedet for hele meldingsnyttelasten.

Notat

Triggers kan kun redigeres i Power Automate, ikke direkte i Copilot Studio.

Det kan være nyttig å fortelle agenten hva den skal gjøre med utløsernyttelasten i utløserinstruksjonene. Hvis agenten din for eksempel hjelper nye ansatte å komme i gang i firmaet, definerer du utløsernyttelasten som «Gi følgende ansatt en innføring.» Denne instruksjonen blir deretter fulgt av brødteksten i utløseren, som inneholder detaljene for den nye ansatte. Når agenten mottar nyttelasten, følger den deretter de definerte agentinstruksjonene for innføring av ansatt.

Flere utløsere

Du kan legge til flere utløsere, hver med sine egne instruksjoner. Disse instruksjonene kan supplere de generelle agentinstruksjonene, eller brukes til ulike brukstilfeller i samme agent, for eksempel håndtering av ansattes innføring og hendelsesrapporter. Det kan være nyttig å sikre at hver utløsernyttelast instruerer agenten om hva den skal gjøre når utløseren utløses.

Formater e-poster

Be agenten din om å "sende e-post med rik tekstformatering for innholdet i e-posten" eller lignende ordlyd. Du kan også legge til denne forespørselen i verktøybeskrivelsen for ekstra utheving.

Skjermbilde av et agentverktøy som illustrerer hvordan du formaterer e-posten i rikt tekstformat i et automatisk generert e-postsvar.

Flerspråklig støtte

Instruksjoner som ber om flerspråklig støtte, kan fungere, men de er ikke garantert. Flerspråklig funksjon er ikke testet eller offisielt støttet.

Viktige punkter

  • Hold agentinstruksjonene så enkle og korte som mulig.
  • Bruk agentinstruksjoner for oppsummering og samtaleflyt, ikke for virkemåter på systemnivå.
  • Bruk emnekonfigurasjon som reserve og tilpasning av dynamiske kort i stedet for instruksjoner.
  • Valider funksjoner som flerspråklig støtte før du lover dem til brukere.