Agente como ferramenta

É 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.