É possível usar agentes atuais como ferramentas. Isso permite que um agente ativo reutilize os recursos de outro agente sem transferir a conversa para ele. O agent-as-a-tool pode ser chamado de forma síncrona ou assíncrona pelo agente ativo.
Use o comportamento assíncrono quando o agente como ferramenta envolver uma latência significativa devido a várias chamadas de LLM e ferramentas. O agente ativo pode chamar o agente como uma ferramenta, e ele vai realizar o trabalho em segundo plano. O agente ativo pode continuar a conversa com o usuário final enquanto o agente como ferramenta trabalha em uma resposta. Quando o trabalho for concluído, o agente como uma ferramenta será concluído, e o agente ativo poderá resumir as descobertas para o usuário.
Use o comportamento síncrono quando quiser reutilizar o comportamento do agente atual sem transferir a conversa para outro agente.
Configuração
É possível configurar um agente como uma ferramenta usando o botão normal de criação de ferramentas no lado direito do criador de agentes ou o menu de contexto Criar agente como uma ferramenta na barra de título de um agente específico.
A ferramenta requer os seguintes itens de configuração:
- Agente: o agente de destino para essa ferramenta.
- Nome: o nome da ferramenta.
- Descrição: Descrição opcional da ferramenta.
- Avançado > Assíncrono: quando ativado (o padrão), o agente ativo continua a sessão enquanto a ferramenta é executada em segundo plano.
Recomendamos especificar um modelo de texto para o agente usado como ferramenta quando o aplicativo do agente usa um modelo de áudio:
- Isso permite fluxos de trabalho mais complexos, já que é possível usar modelos maiores e mais lentos enquanto o agente ativo usa um modelo menor e mais rápido.
- Os aplicativos de agente de áudio não permitem substituir o modelo do agente, exceto quando ele é usado como uma ferramenta.
Instruções
Ao escrever instruções para chamadas de ferramentas assíncronas, considere o seguinte:
- As ferramentas assíncronas podem enviar uma resposta "pendente" imediata ao iniciar o trabalho. É útil que o agente ativo processe essa resposta nas instruções.
- É útil instruir o agente a informar ao usuário que ele está trabalhando em uma resposta.
- Instrua o agente a evitar chamar a mesma ferramenta enquanto espera.
- O agente como ferramenta pode pedir mais informações ao usuário.
Exemplo de instruções:
* 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.
Limitações
Considere as seguintes limitações:
- Um agente pode chamar várias ferramentas de agente em paralelo, mas não a mesma ferramenta em paralelo.
- Não é possível atribuir a ferramenta ao agente raiz dela.