Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En la página anterior se mostró cómo encapsular un LLM en un agente ofrece una identidad persistente, instrucciones y administración de sesiones. Pero incluso con todo eso, el agente solo puede generar contenido (texto, imágenes, etc.), no puede buscar el precio de las acciones de hoy, enviar un correo electrónico o consultar la base de datos. Responde a partir de cualquier conocimiento que se haya incorporado durante el entrenamiento y del contexto que proporcione en el mensaje.
Las herramientas puenten esta brecha. Proporcionan al agente la capacidad de actuar , para llegar más allá de sus datos de entrenamiento e interactuar con el mundo real. Agregar herramientas es el único paso más impactante que puede llevar a cabo para que un agente sea realmente útil.
Cuándo usar esto
Agregue herramientas a su agente cuando:
- El agente necesita acceso a datos en tiempo real o externos ( precios activos, tiempo, registros de base de datos, resultados de búsqueda) que no están en los datos de entrenamiento del modelo.
- El agente debe realizar acciones ( enviar correos electrónicos, crear vales, llamar a las API, escribir archivos) en lugar de simplemente generar contenido.
Consideraciones
| Consideración | Detalles |
|---|---|
| Latencia | Cada llamada a herramienta agrega un recorrido de ida y vuelta: el modelo genera una solicitud de herramienta, el código lo ejecuta y el resultado se devuelve antes de que el modelo pueda continuar. La herramienta múltiple convierte esto en un compuesto. |
| Sobrecarga de tokens | Las definiciones de herramientas (nombres, descripciones, esquemas de parámetros) se incluyen en cada mensaje. Más herramientas significa menos tokens disponibles para el historial de conversaciones y la respuesta del modelo. |
| Complejidad de la depuración | Cuando algo va mal, la causa puede estar en la selección de herramientas del modelo, los argumentos que eligió o la ejecución de la herramienta. Está depurando el razonamiento y el código juntos. |
| Reliability | El modelo puede llamar a herramientas incorrectamente, pasar argumentos incorrectos o invocar una herramienta cuando no debería. Las buenas descripciones y la aprobación de herramientas mitigan esto, pero no lo elimina. |
¿Por qué los agentes necesitan herramientas?
Como se describe en Aspectos básicos de LLM, se entrena un LLM para generar tokens, incluido un formato estructurado especial que representa una llamada a herramienta. Pero el propio modelo nunca ejecuta nada. Es la aplicación (o El marco del agente) que analiza la salida del modelo, ejecuta la función real y devuelve el resultado.
Esto significa que las herramientas no cambian lo que el modelo es : cambian lo que el agente puede hacer. Sin herramientas, un agente es un conversacionalista. Con herramientas, se convierte en un operador.
Considere la posibilidad de un agente de reserva de viajes. Sin herramientas, puede discutir vuelos y sugerir itinerarios basados en conocimientos generales. Con herramientas, puede hacer lo siguiente:
- Búsqueda de una API de vuelos para obtener disponibilidad y precios en tiempo real
- Reservar un vuelo en nombre del usuario
Cada una de esas acciones requiere una herramienta: un fragmento de código que el agente puede invocar para interactuar con el mundo exterior.
Funcionamiento del bucle de llamada a herramientas
Cuando se proporcionan herramientas de agente, Agent Framework administra automáticamente un bucle de llamada a herramientas:
┌──────────────────────────────────────────────────────┐
│ User: "What's the weather in Seattle?" │
└──────────────┬───────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────┐
│ Agent sends messages + tool definitions to LLM │
└──────────────┬───────────────────────────────────────┘
▼
┌───────────────┐
│ LLM responds │
└───┬───────┬───┘
│ │
Tool call? No ──────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ Agent Framework executes │ │ Final response: │
│ the tool (e.g., │ │ "It's cloudy in Seattle │
│ get_weather("Seattle")) │ │ with a high of 15°C." │
└──────────────┬──────────────┘ └─────────────────────────────┘
│
▼
┌─────────────────────────────┐
│ Agent sends tool result │
│ back to the LLM │
└──────────────┬──────────────┘
│
└──────► (back to "LLM responds")
Puntos clave:
- No es necesario escribir el bucle. Agent Framework controla la detección de llamadas de herramientas en la respuesta del modelo, la ejecución de las herramientas y la devolución de los resultados. Las herramientas se definen; el marco organiza el resto.
- Varias llamadas de herramienta por turno. El modelo puede llamar a varias herramientas (potencialmente en paralelo) antes de generar una respuesta final, o encadenar llamadas a herramientas donde el resultado de una se usa para la siguiente.
- El modelo decide cuándo llamar a herramientas. En función de la solicitud del usuario y de las descripciones de la herramienta que proporcione, el modelo juzgará si se necesita una herramienta. Una buena descripción de las herramientas conduce a una mejor selección de herramientas.
Sugerencia
Para ver un tutorial práctico sobre cómo agregar la primera herramienta y ver este bucle en acción, vea Paso 2: Agregar herramientas en el tutorial Introducción.
Tipos de herramientas
Agent Framework admite varias categorías de herramientas. Elegir el adecuado depende de lo que necesite que haga el agente y de dónde reside la funcionalidad.
Herramientas de funciones
Las herramientas de funciones son funciones personalizadas que se escriben y se registran con el agente. Se ejecutan en el proceso, lo que le proporciona control total sobre la lógica, los límites de seguridad y el control de errores.
Utilice las herramientas de funciones cuando:
- Tiene lógica de negocios personalizada que el agente debe invocar (consultar una base de datos, llamar a una API interna, realizar un cálculo)
- Necesita que la herramienta se ejecute en su entorno con acceso a sus recursos.
- Quiere la seguridad y la capacidad de prueba de tipos en tiempo de compilación.
Las herramientas de función son el tipo de herramienta más común y flexible. La mayoría de los agentes comienzan aquí.
Herramientas de MCP (Protocolo de contexto de modelo)
MCP es un estándar abierto que define cómo las aplicaciones ofrecen herramientas a los LLM. En lugar de escribir lógica de herramientas usted mismo, se conecta a un servidor MCP que expone un conjunto de herramientas a través de un protocolo estándar, de forma similar a cómo expone una API REST los puntos de conexión.
Agent Framework admite dos tipos:
| Sabor | ¿Qué es? | Cuándo se debe usar |
|---|---|---|
| Herramientas de MCP hospedadas | Servidores MCP hospedados y administrados por Microsoft Foundry u otros proveedores | Quiere acceder llave a mano a las funcionalidades comunes (por ejemplo, búsqueda de archivos, ejecución de código) sin administrar la infraestructura. |
| Herramientas de MCP locales | Servidores MCP que operas tú mismo o a los que te conectas desde cualquier proveedor. | Tiene un servidor MCP personalizado o de terceros, o necesita herramientas que se ejecuten en su propio entorno. |
Use herramientas de MCP cuando:
- Un servidor MCP precompilado ya proporciona la funcionalidad que necesita.
- Quiere reutilizar herramientas en varios agentes o aplicaciones a través de un servidor compartido.
- Estás integrando con un servicio de terceros que expone un punto de conexión de MCP.
Herramientas hospedadas por el proveedor
Algunos proveedores ofrecen herramientas integradas que se ejecutan en la infraestructura del proveedor, sin código local necesario. Entre ellas se incluyen las siguientes:
| Herramienta | Qué hace |
|---|---|
| Intérprete de código | Ejecuta código en un entorno de espacio aislado en la infraestructura del proveedor. |
| Búsqueda de archivos | Busca en los archivos que se cargan en el proveedor |
| Búsqueda web | Busca información en tiempo real en la web |
Use herramientas hospedadas por el proveedor cuando:
- Necesita funcionalidades como la ejecución de código o la búsqueda web sin compilar ni hospedar la herramienta usted mismo.
- El proveedor ya ofrece una versión administrada que cumple sus requisitos.
Nota:
La disponibilidad de las herramientas hospedadas por el proveedor varía según el proveedor. Consulte Información general sobre las herramientas para obtener la matriz de compatibilidad completa del proveedor.
Nota:
Algunos proveedores de LLM pueden ejecutar herramientas hospedadas en su infraestructura durante la inferencia, como la API de respuestas de OpenAI. Piense en estos servicios de inferencia como servicios semiagentes que combinan la inferencia con la ejecución de herramientas. No cambia el funcionamiento del modelo subyacente, pero significa que la ejecución de herramientas puede producirse como parte de la generación de respuestas del servicio. Estos servicios no pueden ejecutar herramientas locales, que deben ejecutarse en su propia infraestructura.
Elección del tipo de herramienta adecuado
| Pregunta | Recomendación |
|---|---|
| ¿Tengo lógica de negocios personalizada? | Herramientas de funciones : escribir y registrar sus propias funciones |
| ¿Hay un servidor MCP que ya haga lo que necesito? | MCP tools — conéctese a ella en lugar de compilar desde cero, como el servidor mcp de GitHub |
| ¿Necesito ejecución de código, búsqueda de archivos o búsqueda web? | Herramientas hospedadas por el proveedor : compruebe si el proveedor los admite. |
| ¿Necesito herramientas de varias categorías? | Mezclarlas : los agentes pueden usar herramientas de función, herramientas de MCP y herramientas hospedadas por el proveedor simultáneamente |
Las descripciones de herramientas son importantes
El modelo selecciona herramientas en función de sus nombres y descripciones. Una descripción vaga conduce a una selección deficiente de herramientas: el modelo puede llamar a la herramienta incorrecta, omitir una herramienta que debe usar o pasar argumentos incorrectos.
Escribir descripciones de herramientas de la misma manera que escribiría un documento de API: diga lo que hace la herramienta, lo que significa cada parámetro y lo que devuelve. Cuanto más clara sea la descripción, mejor será el criterio del modelo.
Sugerencia
Las definiciones de herramientas (nombres, descripciones, esquemas de parámetros) se incluyen en el prompt y consumen tokens en la ventana de contexto. Si registras muchas herramientas, la carga adicional puede ser significativa. Registre solo las herramientas que realmente necesita el agente.
Aprobación de herramientas: human-in-the-loop
Algunas acciones son confidenciales: transferir dinero, eliminar registros, enviar correos electrónicos. Es posible que no desee que el agente ejecute estas herramientas de forma autónoma. La aprobación de herramientas le permite requerir confirmación humana antes de que se ejecute una herramienta.
Cuando una herramienta se marca como que requiere aprobación, el agente se pausa antes de la ejecución y devuelve una respuesta que indica que se necesita la aprobación. La aplicación es responsable de presentar esto al usuario y de devolver su decisión.
Este patrón se suele denominar human-in-the-loop y es esencial para crear agentes de confianza que controle las acciones consecuentes.
Dificultades habituales
| Problema | Instrucciones |
|---|---|
| Demasiadas herramientas | Cada definición de herramienta consume tokens. Registre solo las herramientas pertinentes para el propósito del agente. |
| Descripciones vagas | "Hace cosas con datos" no ayudará al modelo. Ser específico: "Consulta la base de datos de inventario para la disponibilidad del producto por SKU". |
| Sin control de errores | Las herramientas pueden producir errores (errores de red, entrada no válida). Devuelve mensajes de error claros para que el modelo pueda razonar sobre lo que salió mal e inténtelo de nuevo o informe al usuario. |
| Herramientas excesivamente permisivas | Una herramienta que puede "ejecutar cualquier consulta SQL" es un riesgo de seguridad. Herramientas de ámbito para operaciones específicas y bien definidas. |
| Falta aprobación en acciones confidenciales | Si una herramienta puede realizar cambios irreversibles, agregue la aprobación de la herramienta para mantener un usuario en el bucle. |
Mención especial: Herramienta de intérprete de código
Como se describe en Aspectos básicos de LLM, las LLM pueden producir errores en cálculos precisos y lógica formal. Esto se debe a que los MDL generan respuestas token por token en función de la coincidencia de patrones; en realidad, no calculan. Al pedírsele a un LLM que multiplique dos números grandes, no está realizando aritmética; está prediciendo cómo "luce" la respuesta en función de los datos de entrenamiento. Esto funciona sorprendentemente a menudo, pero falla de forma impredecible en los casos límite.
El intérprete de código resuelve esto al permitir que el agente escriba y ejecute código en un entorno de espacio aislado. En lugar de adivinar la respuesta, el modelo escribe un script de Python que lo calcula exactamente, lo ejecuta y usa el resultado comprobado en su respuesta.
Nota:
El modelo puede escribir un script ligeramente diferente cada vez que se le pida que solucione el mismo problema, pero los resultados deben ser principalmente coherentes.
Advertencia
El intérprete de código no es un reemplazo para un razonamiento cuidadoso por parte del ser humano. Compruebe siempre el trabajo del agente y compruebe los resultados de forma independiente cuando sea necesario.
Proporcione al agente acceso al Intérprete de Código cuando sea necesario:
- Realizar cálculos precisos ( modelado financiero, análisis estadístico, conversiones de unidades) donde no se acepta una "mejor estimación" aproximada.
- Transformación o análisis de datos : analiza los CSV, agrega filas, genera gráficos o vuelve a dar forma a los datos estructurados.
- Archivos de proceso : leer documentos cargados, extraer contenido, convertir formatos o generar nuevos archivos.
- Validar su propio razonamiento — escriba código de prueba para verificar una afirmación lógica antes de presentarla al usuario.
Sugerencia
El intérprete de código puede ser una herramienta hospedada por el proveedor: el código se ejecuta en la infraestructura del proveedor en un espacio aislado, no en su entorno. Esto hace que sea seguro usar sin preocuparse por el código arbitrario que se ejecuta en los servidores. Consulte la referencia del intérprete de código para obtener más información sobre la configuración.
Pasos siguientes
Una vez que el agente tiene herramientas, el siguiente paso consiste en obtener información sobre las aptitudes : paquetes portátiles de instrucciones, material de referencia y scripts que proporcionan a los agentes experiencia en el dominio que pueden cargar a petición.
Vaya más profundamente:
- Información general sobre las herramientas : todos los tipos de herramientas y la matriz de compatibilidad de proveedores
- Herramientas funcionales — referencia detallada de herramientas funcionales
- Hosted MCP Tools: servidores MCP de Microsoft Foundry u otros proveedores
- Herramientas de MCP locales : servidores MCP personalizados
- Aprobación de herramientas: human-in-the-loop para herramientas
- Paso 2: Agregar herramientas: tutorial práctico