¿Qué es el Uso de Herramientas (Function Calling)?
El uso de herramientas, también llamado function calling, permite a un modelo de lenguaje invocar funciones, APIs o código externos para obtener información o tomar acciones en el mundo real. El modelo decide qué herramienta llamar y con qué argumentos; la aplicación ejecuta la herramienta y devuelve el resultado, que el modelo usa para continuar. El uso de herramientas es el puente que convierte a un generador de texto en un agente que de verdad hace cosas.
Definición
El uso de herramientas (function calling) es la capacidad que permite a un modelo de lenguaje llamar a funciones o APIs externas predefinidas, con argumentos que genera, e incorporar los resultados a su respuesta o siguiente paso.
Puntos clave
- El uso de herramientas conecta un modelo con datos en vivo y acciones reales.
- El modelo elige la herramienta y los argumentos; la aplicación la ejecuta.
- Herramientas claras y bien descritas mejoran mucho la fiabilidad.
- Es el mecanismo central detrás de los agentes y de MCP.
- El acceso a herramientas amplía la capacidad y la superficie de seguridad por igual.
Contexto
Por sí solo un modelo solo produce texto. El uso de herramientas rompe esa frontera: dado un conjunto de herramientas declaradas, el modelo puede elegir llamar a una —por ejemplo una búsqueda, una consulta a base de datos o una API de pago— y luego razonar sobre el resultado.
Cómo se describen las herramientas importa tanto como el modelo. Las herramientas escritas para que las use un modelo —nombres claros, parámetros precisos, descripciones útiles y mensajes de error— son una preocupación central de la ingeniería de harness.
Arquitectura
El bucle: la aplicación declara herramientas (nombre, descripción, esquema de parámetros); el modelo emite una llamada estructurada; la aplicación la valida y ejecuta; el resultado vuelve al modelo como observación; el modelo continúa o responde.
MCP estandariza cómo se exponen y descubren las herramientas entre aplicaciones, de modo que una herramienta escrita una vez se reutiliza en cualquier cliente compatible. Los guardarraíles y permisos envuelven la ejecución para mantenerla segura.
Componentes
Beneficios
- Fundamenta las respuestas en datos reales y en vivo.
- Permite a los modelos tomar acciones reales, no solo describirlas.
- Extiende un modelo sin reentrenarlo.
- Se compone en flujos agénticos completos.
Riesgos
- La inyección de prompts puede disparar llamadas no deseadas.
- Argumentos erróneos o mal uso de herramientas causan errores reales.
- Un acceso demasiado amplio a herramientas amplía la superficie de ataque.
- La latencia y el coste crecen con cada ida y vuelta a una herramienta.
Herramientas y tecnologías
Ejemplos
- Un modelo que llama a una API del tiempo para responder sobre el pronóstico.
- Un agente que consulta una base de datos para buscar un pedido antes de actuar.
- Un agente de programación que invoca un runner de tests y lee los resultados.
FAQs
- ¿El uso de herramientas es lo mismo que MCP?
- No. El uso de herramientas es la capacidad del modelo de llamar a funciones. MCP es un estándar de cómo se exponen y descubren esas herramientas y datos entre aplicaciones.
- ¿Cómo se hace fiable el uso de herramientas?
- Escribiendo las herramientas para el modelo: nombres claros, esquemas de parámetros precisos, descripciones útiles y errores informativos. Validar argumentos y limitar permisos.
- ¿Cuáles son los riesgos de seguridad?
- Las herramientas son acceso real. La inyección de prompts puede intentar disparar llamadas dañinas, así que aplica permisos de mínimo privilegio, valida entradas y trata las salidas como no confiables.
- ¿El uso de herramientas convierte a un modelo en agente?
- Es el habilitador clave. Un agente combina el uso de herramientas con un bucle de control, memoria y un objetivo para actuar en varios pasos.