Puedes usar agentes existentes como herramientas. Esto permite que un agente activo reutilice las capacidades de otro agente sin transferirle la conversación. El agent-as-a-tool puede ser llamado de forma síncrona o asíncrona por el agente activo.
Usa el comportamiento asíncrono cuando el agente como herramienta implique una latencia notable debido a múltiples llamadas a LLM y herramientas. El agente activo puede llamar al agente como herramienta, y este realizará su trabajo en segundo plano. El agente activo puede continuar la conversación con el usuario final mientras el agente como herramienta trabaja en una respuesta. Una vez que se completa el trabajo, el agente como herramienta se completa, y el agente activo puede resumir los hallazgos para el usuario.
Usa el comportamiento síncrono cuando simplemente quieras reutilizar el comportamiento existente del agente sin transferir la conversación a otro agente.
Configuración
Puedes configurar un agente como herramienta con el botón normal de creación de herramientas que se encuentra en el lado derecho del compilador de agentes o con el menú contextual Crear agente como herramienta en la barra de título de un agente en particular.
La herramienta requiere los siguientes elementos de configuración:
- Agente: Es el agente objetivo de esta herramienta.
- Nombre: Es el nombre de la herramienta.
- Descripción: Descripción opcional de la herramienta.
- Advanced > Asynchronous: Cuando está habilitada (opción predeterminada), el agente activo continuará la sesión mientras la herramienta se ejecuta en segundo plano.
Se recomienda especificar un modelo de texto para el agente que se usa como herramienta cuando la aplicación del agente usa un modelo de audio:
- Esto permite flujos de trabajo más complejos, ya que se pueden usar modelos más grandes y lentos mientras que el agente activo usa un modelo más pequeño y rápido.
- Las aplicaciones de agentes de audio no te permiten anular el modelo del agente, excepto cuando el agente se usa como herramienta.
Instrucciones
Cuando escribas instrucciones para llamadas a herramientas asíncronas, ten en cuenta lo siguiente:
- Las herramientas asíncronas pueden enviar una respuesta inmediata de "pendiente" cuando comienzan a trabajar. Es útil que tu agente activo controle esta respuesta en las instrucciones.
- Es útil indicarle al agente que le informe al usuario que está trabajando en una respuesta.
- Indica al agente que evite llamar a la misma herramienta mientras espera.
- El agente como herramienta puede solicitar información adicional al usuario.
Instrucciones de ejemplo:
* 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.
Limitaciones
Se aplica la siguiente limitación:
- Un agente puede llamar a varios agentes como herramientas en paralelo, pero no a la misma herramienta en paralelo.
- No será posible asignar la herramienta al agente raíz de la herramienta.