Puoi utilizzare gli agenti esistenti come strumenti. Ciò consente a un agente attivo di riutilizzare le funzionalità di un altro agente senza trasferire la conversazione all'altro agente. L'agent-as-a-tool può essere chiamato in modo sincrono o asincrono dall'agente attivo.
Utilizza il comportamento asincrono quando l'agente come strumento comporta una latenza notevole a causa di più chiamate LLM e di strumenti. L'agente attivo può chiamare l'agente come strumento e svolgerà il suo lavoro in background. L'agente attivo può continuare la conversazione con l'utente finale mentre l'agente come strumento sta elaborando una risposta. Una volta completato il lavoro, l'agente come strumento completa e l'agente attivo può riassumere i risultati per l'utente.
Utilizza il comportamento sincrono quando vuoi semplicemente riutilizzare il comportamento esistente dell'agente senza trasferire la conversazione a un altro agente.
Configurazione
Puoi configurare un agente come strumento utilizzando il normale pulsante di creazione dello strumento sul lato destro del generatore di agenti oppure utilizzando il menu contestuale Crea agente come strumento nella barra del titolo di un agente specifico.
Lo strumento richiede i seguenti elementi di configurazione:
- Agente: L'agente di destinazione per questo strumento.
- Nome: Il nome dello strumento.
- Descrizione: Descrizione facoltativa dello strumento.
- Avanzate > Asincrono: Se attivata (impostazione predefinita), la sessione dell'agente attivo continuerà mentre lo strumento viene eseguito in background.
Ti consigliamo di specificare un modello di testo per l'agente utilizzato come strumento quando l'applicazione dell'agente utilizza un modello audio:
- Ciò consente flussi di lavoro più complessi grazie alla possibilità di utilizzare modelli più grandi e più lenti, mentre l'agente attivo utilizza un modello più piccolo e più veloce.
- Le applicazioni di agenti audio non ti consentono di ignorare il modello dell'agente, tranne quando l'agente viene utilizzato come strumento.
Istruzioni
Quando scrivi istruzioni per le chiamate asincrone agli strumenti, considera quanto segue:
- Gli strumenti asincroni possono inviare una risposta immediata "in attesa" all'inizio del lavoro. È utile che l'agente attivo gestisca questa risposta nelle istruzioni.
- È utile istruire l'agente a comunicare all'utente che sta lavorando a una risposta.
- Chiedi all'agente di evitare di chiamare lo stesso strumento durante l'attesa.
- L'agente come strumento potrebbe richiedere all'utente informazioni aggiuntive.
Istruzioni di esempio:
* You MUST acknowledge the user's request with a short, conversational
word or phrase (e.g., 'Okay', 'Got it', 'One second') prior to
calling asynchronous tools.
* For tools that execute asynchronously, ignore 'pending' results
and continue conversing with the user while waiting for the complete result.
* NEVER notify the user that a function result is 'pending'.
* Do NOT call the same tool again while waiting for a complete result
from a previous call of that same tool.
* If {@TOOL: your_agent_tool} has follow up questions for the user,
be sure to relay the answers back to the tool.
Limitazioni
Si applicano le seguenti limitazioni:
- Un agente può chiamare più agenti come strumenti in parallelo, ma non lo stesso strumento in parallelo.
- Non è possibile assegnare lo strumento all'agente principale dello strumento.