Hoppa till navigering

Procedurer

Uppgiftsspecifika instruktioner som agenten laddar när de är relevanta

Översikt

En procedur innehåller instruktioner för en specifik uppgift. Varje procedur har en utlösare som beskriver när den gäller och innehåll som beskriver vad som ska göras. När en konversation matchar utlösaren laddar agenten proceduren.

Använd procedurer när din agent behöver hantera många olika uppgifter. Ett exempel är en kundtjänstagent, där varje procedur täcker en typ av förfrågan: återbetalningar, identitetsverifiering, kontoåterställning eller felsökning av anslutningar.

Fliken Procedurer i agentens
dashboard

Typer av procedurer

Det finns två typer av procedurer:

  • Friformsprocedurer skrivs som instruktioner på naturligt språk som agenten tolkar och anpassar till situationen.
  • Strukturerade procedurer är en ordnad lista med typade steg som agenten kör på samma sätt varje gång.

Du kan använda båda typerna för samma agent. Agenten väljer relevant procedur utifrån dess utlösare, oavsett typ.

Procedurer kan anropa varandra. En friformsprocedur anropar en annan procedur med en inline- referens, och en strukturerad procedur anropar en annan strukturerad procedur med steget underprocedur. Ett vanligt mönster är att behålla öppen hantering i en friformsprocedur och lämna över de delar som måste köras på samma sätt varje gång till en strukturerad procedur.

En agent kan ha procedurer, ett workflow eller båda. När båda finns är varje procedur tillgänglig från varje punkt i workflowet. En procedur kan inte begränsas till specifika workflow-noder. De flesta agenter byggs kring antingen det ena eller det andra, men de två kan kombineras.

När du ska använda procedurer

Varje agent har en systemprompt. Procedurer och workflows är två sätt att lägga till struktur ovanpå den, och en agent kan använda båda. Välj en utgångspunkt baserat på hur mycket konversationen kan variera.

KravAnvändVarför
Enkel proof of concept-agentEndast systempromptGår snabbast att konfigurera och iterera på, men en enda prompt blir svårhanterlig när agentens omfattning växer.
Uppgift där agenten kan anpassa formulering och ordningFriformsprocedurHåller hela konversationen i en LLM:s kontext, så agenten kan anpassa formulering och ordning samt hantera oväntade vändningar. Använder mer av kontextfönstret.
Uppgift vars steg måste köras på samma sätt varje gångStrukturerad procedurVarje steg körs i den ordning du anger, på samma sätt varje gång, och du skapar den som en kort lista med steg.
Full kontroll över komplexa förgreningar och specialfallWorkflowKörs som en graf av underagenter som du själv utformar och kopplar ihop, med full kontroll över förgreningar och vilken modell varje steg använder.

Friformsprocedurer är standardvalet. De går snabbast att skriva, de läses som ett dokument så att icke-tekniska team kan ansvara för dem, och agenten kan återhämta sig när en konversation avviker från manuset. Välj en strukturerad procedur när kostnaden för ett överhoppat eller omordnat steg är hög, exempelvis vid autentisering, eskalering eller en finansiell transaktion. Välj ett workflow när du behöver routinglogik eller kontroll över modell per steg som ingen av procedurtyperna erbjuder.

Hantera procedurer

Dashboarden är det rekommenderade sättet att skapa procedurer. Använd CLI:t eller API:et för att hantera procedurer programmatiskt eller integrera dem i driftsättningsverktyg.

Öppna din agent i dashboarden och välj sedan Procedurer. Använd + för att skapa en friformsprocedur eller strukturerad procedur. Du kan gruppera procedurer i mappar från samma meny. Se Friformsprocedurer och Strukturerade procedurer för vägledning om hur du skapar dem.

Välj procedurer per konversation

Som standard kan varje konversation använda alla agentens procedurer, och agenten laddar en procedur först efter att konversationen matchar dess utlösare. Din applikation vet ofta mer innan konversationen börjar: vem användaren är, vilken region de befinner sig i eller vad de ringde om. Skicka procedur-ID:n i klientdata för konversationsinitiering för att använda den informationen. Du bestämmer vilka procedurer agenten kan använda och vilka den följer från första turen.

FältVad det görVarför använda det
procedure_idsBegränsar konversationen till dessa procedurer. En tom array inaktiverar alla agentens procedurer.Ge varje användare endast de procedurer som gäller för dem, till exempel dölj kontoprocedurer för en användare som inte har loggat in. Använd det även när procedurer har liknande utlösare som du inte kan undvika, exempelvis en återbetalningsprocedur per region. Skicka bara användarens region så att agenten inte kan följa en annan regions procedur.
start_procedure_idsStartar dessa friformsprocedurer med konversationen, så att agenten följer dem från första turen. Tar emot upp till fem ID:n.Svara snabbare när du redan känner till användarens uppgift, exempelvis från ett val i en IVR-meny, sidan som innehåller widgeten eller CRM-data.

En procedur i start_procedure_ids är redan laddad när användaren talar första gången, så agenten hoppar över LLM-anropet som annars skulle ladda den. Alla aktiva procedurer stannar i prompten vid varje tur, oavsett om agenten eller din applikation startade dem. En startad procedur som konversationen aldrig behöver lägger fortfarande till sitt innehåll vid varje tur, så starta endast de procedurer som konversationen sannolikt kommer att använda.

1

Tillåt val av procedur

Åsidosättningen Procedurer är avstängd som standard. Aktivera den för varje agent som ska acceptera procedur-ID:n från klienten.

Öppna din agent i dashboarden, välj fliken Säkerhet och aktivera åsidosättningen Procedurer.

2

Skicka ID:na när konversationen startar

Om agenten inte har åsidosättningen Procedurer aktiverad, eller om ett ID är ogiltigt, kan konversationen inte starta.

Hämta procedur-ID:n från Lista procedurer. Lägg till procedure_ids, start_procedure_ids eller båda i klientdata för konversationsinitiering:

Nyttolast för konversationsinitiering
{
"type": "conversation_initiation_client_data",
"procedure_ids": [
"agtprc_4101k8f3w2pqv6xs9mhdr0tz7n3b",
"agtprc_2301k8f3xq9zfa7tkrqs6m4bdn5e",
"agtprc_7801k8f3yt4mfzh2xbq9d0vcpw1r"
],
"start_procedure_ids": ["agtprc_4101k8f3w2pqv6xs9mhdr0tz7n3b"]
}

Agenten startar konversationen med den första proceduren redan igång. Den kan fortfarande starta de andra två när konversationen matchar deras utlösare.

Konversations-SDK:erna för Python och JavaScript skickar inte procedure_ids eller start_procedure_ids. För att använda dessa fält måste du själv skicka initieringsmeddelandet via WebSocket.

Båda fälten följer dessa regler:

  • Varje ID i procedure_ids måste tillhöra agenten. Om en vald procedur anropar underprocedurer måste du även inkludera underprocedurerna.
  • Varje ID i start_procedure_ids måste vara en friformsprocedur. När du även skickar procedure_ids måste varje ID också finnas i den listan.
  • procedure_ids gäller endast agenten som konversationen startar med. Det gäller inte efter en agentöverföring.
  • Startade procedurer räknas mot de fem aktiva procedurerna i Begränsningar. Konversationshistoriken registrerar var och en som ett verktygsanrop av typen start_procedure.

Begränsningar

  • En procedurs innehåll är begränsat till 50 000 tecken.
  • Agenten behåller de fem senast startade procedurerna i kontexten. När fler har startats i en konversation tas innehåll, inline-verktyg och kunskapsbasdokument för de äldsta friformsprocedurerna bort från prompten. Håll procedurer fokuserade och använd underprocedurer så att få är aktiva samtidigt.
  • Du kan inte ändra en procedurs typ efter att du har skapat den. För att konvertera mellan friform och strukturerad skapar du en ny procedur och uppdaterar alla referenser till den.
  • Procedurer tillhör en agent. De kan inte delas mellan agenter eller lagras som resurser på arbetsytenivå.
  • När du duplicerar en agent kopieras dess procedurer i stället för att delas. Kopiorna får nya procedur-ID:n, så referenser i den duplicerade agenten måste använda de nya ID:na.
  • Procedurer kan inte begränsas till specifika workflow-noder. När en agent har båda är varje procedur tillgänglig från varje nod.
  • Strukturerade procedurer kan inte referera till kunskapsbasdokument.