Loading
AI generativa Agentforce ed Einstein
Una guida Agentforce all'ingegneria del contesto

Una guida Agentforce all'ingegneria del contesto

L'ingegneria del contesto è l'arte e la scienza di fornire all'agente AI le informazioni, gli strumenti e le istruzioni giuste per raggiungere i suoi obiettivi.

Mentre l'ingegneria del prompt si concentra sulle istruzioni dirette e l'ingegneria del contesto (RAG, Retrieval Augmented Generation) si concentra sul recupero dei contenuti corretti, l'ingegneria del contesto comprende la prospettiva completa di tutto ciò che è disponibile per il modello.

Componenti contesto di esempio

Componenti del contesto

Evidenziamo alcuni componenti chiave del contesto.

  • Prompt e istruzioni: Il contesto include le istruzioni per l'agente, ad esempio le istruzioni trovate in ogni agente secondario e i prompt dell'utente.
  • Azioni e strumenti: Le funzionalità che l'agente può utilizzare influiscono anche sul contesto, ad esempio l'esecuzione di flussi, la chiamata di azioni Apex o l'utilizzo di modelli di prompt.
  • Input di dati: Il contesto include le informazioni pertinenti ottenute dall'agente da fonti strutturate e non strutturate, inclusi dati CRM, Data 360, articoli Knowledge, documenti caricati, Slack e altre fonti di dati.
  • Memoria: Sia la memoria a breve termine (conversazione corrente) che quella a lungo termine (interazioni passate) possono far parte del contesto.

L'obiettivo dell'ingegneria del contesto è ottimizzare e perfezionare questo contesto per offrire al modello le migliori possibilità di risolvere il problema. La corretta ingegneria del contesto consente di evitare problemi comuni degli agenti AI come:

  • Scontro contesto: Istruzioni in conflitto, che possono causare prestazioni impreviste o persino errori.
  • Confusione contesto: Troppi contenuti irrilevanti o troppi strumenti non necessari, che possono causare comportamenti incoerenti e aumentare la latenza degli agenti.
  • Avvelenamento da contesto: Informazioni errate o non aggiornate, che possono compromettere il Trust e l'adozione dell'agente da parte degli utenti.

Questi problemi possono ridurre la precisione e l'efficacia degli agenti. È fondamentale fornire al modello di intelligenza artificiale le informazioni giuste nel modo giusto per ottenere le risposte corrette.

Di seguito sono descritti i passaggi per creare soluzioni Agentforce affidabili ed efficaci utilizzando alcune procedure consigliate di ingegneria del contesto.

  1. Definire obiettivi chiari. Indicare chiaramente gli obiettivi che l'agente Agentforce deve raggiungere. Questo passaggio può aiutare a consolidare le decisioni nel resto del processo.
  2. Limitare, filtrare e instradare efficacemente i subagenti. Ottimizzare e limitare gli agenti secondari e le azioni ai processi e agli strumenti essenziali necessari per l'agente. Una volta ottenuto l'elenco corretto dei subagenti, utilizzare efficacemente la classificazione dei subagenti in modo che l'agente venga instradato al subagente giusto per il lavoro.
    • Limita subagenti. Assegnare all'agente solo i subagenti e le azioni più essenziali. Aggiungere i subagenti gradualmente in base alle esigenze.
    • Subagenti filtranti. Utilizzare i filtri per controllare l'accesso ai subagenti (utilizzando il Router agente nella visualizzazione Area di disegno o il subagente start_agent nella visualizzazione Script).

      Questa schermata mostra i filtri dei subagenti nella visualizzazione Area di disegno. Queste istruzioni utilizzano le variabili per escludere i subagenti non applicabili.

      Esempio di instradamento argomento

      Ed ecco come si presenta lo stesso filtro in Agent Script.

      start_agent agent_router:
          description: "Welcome the user and determine the appropriate subagent based on user input"
          reasoning:
              instructions: |
                  You are an agent router for this assistant. Welcome the guest
                  and analyze their input to determine the most appropriate subagent 
                  to handle their request.
              actions:
                  go_to_identity: @utils.transition to @subagent.Identity_Verification
                      description: "Verifies user identity"
                      available when @variables.verified == False
                  go_to_order: @utils.transition to @subagent.Order_Management
                      description: "Handles order lookup, refunds, and order updates."
                      available when @variables.verified == True
                  go_to_faq: @utils.transition to @subagent.General_FAQ
                      description: "Handles various frequently asked questions."
                      available when @variables.verified == True
                  go_to_escalation: @utils.transition to @subagent.Escalation
                      description: "Handles escalation to a human rep."
                      available when @variables.verified == True and @variables.is_business_hours == True

      Vedere Classificazione e instradamento dei subagenti.

    • Instrada subagente con logica. Utilizzare riferimenti espliciti ai subagenti per instradare deterministicamente da un subagente a un altro, in determinate condizioni.

      Questo esempio illustra come utilizzare le istruzioni di logica per instradare strategicamente da un subagente a un altro.

      Esempio di instradamento argomento

      start_agent agent_router:
          reasoning:
              instructions:->
                  if @variables.approval_required:
                      transition to @subagent.approval_workflow
                  else:
                      transition to @subagent.management_workflow

      Vedere Come vengono risolte le istruzioni subagente per la creazione di un prompt nella Guida e nelle istruzioni di ragionamento di Salesforce nel manuale Agent Script Developer Guide.

  3. Rivedere le azioni. Assicurarsi che ogni agente secondario disponga di azioni pertinenti ed efficaci per completare il lavoro.

    Tenere presente che alcune azioni (flussi, metodi Apex, API) sono più deterministiche, mentre le azioni che utilizzano modelli AI sono più probabilistiche (modelli di prompt). Vedere Azioni degli agenti.

    È anche opportuno riflettere su come e quando si desidera utilizzare un'azione. Per suggerimenti su come eseguire questa operazione, vedere Bilanciamento probabilistico e deterministico nel passaggio successivo.

  4. Sintonizzare le istruzioni per i subagenti. Che si tratti di creare agenti nell'area di disegno o di crearli direttamente con Script agente, uno dei modi più efficaci per ottimizzare il contesto è basato sulle istruzioni di ragionamento dei subagenti. Queste istruzioni presentano diversi aspetti critici per il contesto.
    • Rivedere il flusso Runtime. Prima di apportare troppe modifiche alle istruzioni, assicurarsi di conoscere il comportamento in fase di esecuzione di un agente in modo da sapere quali istruzioni vengono incluse nel contesto. Vedere Come funzionano gli agenti e Come vengono risolte le istruzioni subagente per creare un prompt. Gli sviluppatori possono anche fare riferimento a Flusso di controllo nel manuale Agent Script Developer Guide.
    • Utilizzare variabili per memorizzare dati. Specificare i dati pertinenti nelle variabili in modo da poterli utilizzare direttamente nelle istruzioni.

      Questa schermata mostra una definizione di variabile nella visualizzazione Area di disegno.

      Variabile agente

      Questo esempio di codice mostra la stessa variabile nella visualizzazione Script.

      user_name: mutable string = ""
          description: "The name of the user"
          label: "Name"
          visibility: "External"      

      Esistono diversi modi per utilizzare efficacemente le variabili per eseguire azioni. Questo esempio illustra come utilizzare una variabile per filtrare un'azione.

      Variabile agente con filtro azione

      get_order_details: @actions.GetOrderByOrderNumber
          available when @variables.verified == True 

      Questo esempio illustra come utilizzare le variabili per gli input e gli output delle azioni.

      Variabili agente con input e output di azioni

      run @actions.GetOrderByOrderNumber
          with order_number = @variables.order_number
          set @variables.order_details = @outputs.orderDetails

      È possibile utilizzare variabili in tutta la definizione dell'agente. Vedere Variabili.

    • Bilanciamento del comportamento probabilistico e deterministico. Le istruzioni del subagente includono sia istruzioni basate sulla logica che istruzioni basate su prompt. Sfruttare la logica delle istruzioni per i flussi di lavoro aziendali critici per aumentare il comportamento prevedibile e deterministico. Ad esempio, prima dell'esecuzione delle istruzioni basate sul prompt, è possibile controllare il livello di fedeltà di un utente, utilizzare la logica condizionale per determinare se ringraziare un utente per essere membro del livello Gold, utilizzare una variabile per personalizzare il prompt, eseguire un'azione per inviare un messaggio email. È quindi possibile concentrare il prompt per linguaggio naturale su ciò che un modello di intelligenza artificiale sa fare meglio, senza sovraccaricare il contesto del modello con istruzioni di logica inutili e imprevedibili.

      Questo esempio illustra come utilizzare istruzioni basate sulla logica. In queste istruzioni, controlliamo una variabile per vedere se il cliente è pronto a prenotare un hotel. In caso affermativo, si ottengono informazioni sull'account utilizzando variabili per gli input e gli output dell'azione. Eseguiamo quindi un'altra azione per ottenere informazioni sull'hotel.

      Istruzioni di logica

      if @variables.ready_to_book:
          run @actions.get_account_info
              with account_id = @variables.account_id
              set @variables.hotel_code = @outputs.hotel_code
      run @actions.get_hotel_info
          with hotel_code = @variables.hotel_code
          set @variables.hotel_info = @outputs.hotel_info

      Vedere Come vengono risolte le istruzioni subagente per la creazione di un prompt nella Guida e nelle istruzioni di ragionamento di Salesforce nel manuale Agent Script Developer Guide.

    • Fare riferimento diretto alle risorse. Sia che si creino agenti nella visualizzazione Area di disegno o nella visualizzazione Script, è possibile fare riferimento direttamente a sottoagenti, azioni e variabili nelle istruzioni. Questa funzione elimina l'ambiguità delle istruzioni perché è possibile specificatamente "@menzionare" le risorse.

      Questo esempio illustra alcuni modi per fare riferimento alle risorse nelle istruzioni.

      Utilizzo delle risorse

      instructions: |
          Refer to the user by name @variables.member_name.
          Show their current order summary: @variables.order_summary 
          when conversation starts or if requested.
          If they want past order info, ask for Order ID or Restaurant Name 
          and use @actions.lookup_order.
          If they ask for a service agent or seem upset, use @actions.go_to_escalation.
          If they want to make a return, confirm Order ID and use @actions.create_return.
          If returns are not eligible, explain politely.

      Vedere Creazione di agenti nell'area di disegno o Suggerimenti introduttivi sullo script.

  5. Utilizzare dati precisi e pertinenti. Assicurarsi che gli input siano basati sulle migliori informazioni possibili.
    • I dati strutturati, ad esempio i dati CRM, i dati Data 360, i dati esterni e altre fonti, devono essere corretti, aggiornati e pertinenti alla decisione o all'operazione in corso. Vedere Strategie per qualità dei dati in Trailhead.
    • I dati non strutturati, ad esempio le librerie di dati e altri input ottenuti con RAG, devono essere precisi e direttamente pertinenti alle richieste degli utenti. Gli input RAG riusciti iniziano con un archivio Knowledge di contenuti curati e di alta qualità, precisi, completi, aggiornati, organizzati e coerenti. Altre considerazioni includono: strategia di ricerca (ricerca ibrida o vettoriale), analisi e preelaborazione dei contenuti, ottimizzazione degli indici di ricerca, strategia di suddivisione ben definita e utilizzo di dati e metriche di qualità Knowledge/RAG per identificare le aree da migliorare.
  6. Assicurare la coerenza. Eliminare le contraddizioni tra prompt, agenti secondari, azioni, dati RAG, istruzioni e configurazione Salesforce.
  7. Testa, Itera, Perfeziona. Visualizzare in anteprima l'agente in Agentforce Builder. Creare test con il Centro test Agentforce e monitorare gli agenti con analisi. Utilizzare il feedback delle trascrizioni delle conversazioni per perfezionare il contesto. Assicurarsi di testare nuovamente gli agenti quando cambia un aspetto della soluzione, ad esempio un aggiornamento del modello.

Gestendo con attenzione il contesto dell'agente, è possibile creare soluzioni di intelligenza artificiale affidabili ed efficaci con Agentforce.

 
Caricamento
Salesforce Help | Article