Llamada a funciones
La llamada a funciones es una capacidad que permite a un modelo de lenguaje grande (LLM) solicitar el uso de una herramienta externa, una API o un fragmento de código produciendo una llamada estructurada y legible por máquina en lugar de una respuesta en texto plano. El modelo no ejecuta el código por sí mismo; decide qué función invocar y con qué argumentos, mientras que la aplicación luego ejecuta esa función, y el resultado se devuelve al modelo para incorporarlo en su respuesta final. La llamada a funciones suele usarse indistintamente con “uso de herramientas” o llamada a herramientas, aunque, en sentido estricto, se refiere a funciones definidas por el desarrollador, un subconjunto del patrón más amplio de llamada a herramientas.
En resumen: la llamada a funciones permite que un modelo diga “llama a esta función con estas entradas”, de modo que pueda obtener datos en vivo o realizar acciones en lugar de depender únicamente de lo que ya sabe.
Cómo funciona la llamada a funciones
La aplicación y el modelo intercambian mensajes en un bucle, con la aplicación siempre en control de lo que realmente se ejecuta:
- Definiciones de herramientas: La aplicación proporciona al modelo una lista de funciones disponibles, cada una con un nombre, una descripción y un esquema JSON que describe sus entradas.
- Decisión: Dada la solicitud del usuario y esas descripciones, el modelo decide si una función sería útil y, de ser así, cuál.
- Llamada estructurada: En lugar de responder en prosa, el modelo devuelve una llamada estructurada que nombra la función y los valores de los argumentos, con un formato que coincide con el esquema.
- Ejecución: La aplicación, no el modelo, ejecuta la función (como consultar una base de datos, llamar a una API o realizar un cálculo) y captura el resultado.
- Devolución: El resultado se envía de vuelta al modelo como un nuevo mensaje.
- Respuesta final: El modelo usa ese resultado para producir su respuesta, o llama a otra función y el bucle se repite.
Distintos proveedores usan nombres diferentes para la misma idea: OpenAI popularizó la llamada a funciones (señalando que “una función es un tipo específico de herramienta”), mientras que Anthropic la denomina uso de herramientas. El punto definitorio es que el modelo nunca ejecuta nada por sí mismo; solo propone la llamada, y la aplicación decide qué ejecutar.
Llamada a funciones vs. generación de texto, RAG, agentes y habilidades
- La generación de texto plano produce prosa para que una persona la lea; la llamada a funciones produce una solicitud estructurada que la aplicación puede ejecutar, permitiendo que el modelo actúe en lugar de solo describir. Por ejemplo, una llamada estructurada como get_weather(location=“London”) puede ayudar a generar una respuesta en texto plano como “El clima hoy en Londres está nublado”.
- La generación aumentada por recuperación (RAG) agrega contenido relevante al contexto del modelo antes de que responda; la llamada a funciones permite que el modelo desencadene la obtención de datos o acciones bajo demanda, y ambas suelen combinarse cuando el “Buscador” es en sí mismo una de las funciones disponibles.
- Un agente encadena muchas llamadas a herramientas en un bucle para completar una tarea de varios pasos; la llamada a funciones es el componente básico del que dependen las acciones externas en esos bucles. Los pasos internos de planificación y razonamiento podrían no emitir ninguna llamada a herramientas.
- La salida estructurada usa el mismo formato basado en esquemas que la llamada a funciones, pero sin desencadenar ninguna acción externa; es una forma de restringir la forma de la respuesta del modelo en lugar de ampliar lo que el modelo puede hacer.
- Una habilidad de agente empaqueta instrucciones, guiones y recursos reutilizables que un agente puede cargar bajo demanda para una tarea especializada; la llamada a funciones es el mecanismo de nivel inferior sobre el que se construye, ya que una habilidad describe principalmente cómo combinar múltiples llamadas a herramientas en lugar de ser una sola llamada en sí misma.
Dónde se usa la llamada a funciones
- Datos y acciones en vivo: Obtener información actual como el clima, los precios o el inventario, o realizar acciones como reservar, enviar o actualizar registros que el modelo no puede hacer por sí mismo.
- Recuperación y búsqueda: Exponer un Buscador o consulta de base de datos como una función para que el modelo pueda incorporar datos a mitad de una respuesta—incluyendo llamadas a una API de búsqueda web.
- Agentes y búsqueda agéntica: Los flujos de trabajo agénticos de varios pasos dependen de las llamadas a funciones para ejecutar acciones externas como buscar, obtener y actualizar registros.
- Acceso estandarizado a herramientas: Los estándares abiertos como el Protocolo de Contexto de Modelo (MCP) se basan en la llamada a funciones para que una definición de herramienta pueda funcionar en muchos modelos y aplicaciones sin una integración personalizada para cada uno.
- Paquetes de capacidades reutilizables (también conocidos como “Habilidades”): Los estándares emergentes como Agent Skills agrupan instrucciones, guiones y recursos en carpetas portátiles que un agente carga bajo demanda. Una habilidad puede incluir guiones que el entorno de ejecución anfitrión expone y ejecuta a través de herramientas—el modelo propone la llamada, y el entorno de ejecución ejecuta el código.
La llamada a funciones es lo que transforma un modelo de lenguaje de un generador de texto en un sistema que puede alcanzar más allá de sí mismo: es la base de los agentes, la recuperación en vivo y la IA capaz de realizar acciones en nombre de un usuario.
Términos relacionados
Uso de herramientas, búsqueda agéntica, generación aumentada por recuperación (RAG), Protocolo de Contexto de Modelo (MCP), Agent Skills, esquema JSON, salida estructurada, modelo de lenguaje grande (LLM), API, agente de IA.