📖

¿Qué es Llamada a funciones?

La llamada a funciones es una capacidad de los modelos de lenguaje grandes que les permite solicitar la ejecución de código o herramientas externas mediante argumentos estructurados en lugar de generar texto libre. Conecta los prompts en lenguaje natural con software determinista, de modo que un LLM pueda actuar de forma fiable sobre bases de datos, API u otros servicios.

La llamada a funciones es una capacidad de los modelos de lenguaje grandes que les permite solicitar la ejecución de código o herramientas externas mediante argumentos estructurados en lugar de generar texto libre. Conecta los prompts en lenguaje natural con software determinista, de modo que un LLM pueda actuar de forma fiable sobre bases de datos, API u otros servicios. El modelo decide cuándo se necesita una función y proporciona una carga útil legible por máquina, mientras que la aplicación que realiza la llamada es responsable de ejecutar realmente la función y devolver el resultado al modelo.

Cómo funciona la llamada a funciones

Los desarrolladores registran un conjunto de definiciones de funciones con el modelo, normalmente como esquemas JSON que describen el nombre, el propósito y los parámetros de cada función. Cuando un usuario envía un prompt como «¿Qué tiempo hace en Tokio?», el modelo no responde directamente. En su lugar, devuelve un objeto estructurado —por ejemplo, {"name": "get_weather", "arguments": {"city": "Tokyo"}}—. La aplicación anfitriona analiza ese objeto, ejecuta la función real (a menudo llamando a una API de terceros) y añade el resultado a la conversación como un nuevo mensaje. El LLM convierte entonces ese resultado en una respuesta en lenguaje natural para el usuario.

La mayoría de los proveedores exponen el mismo flujo a través de sus API de finalización de chat. El modelo nunca ejecuta código por sí mismo; la llamada a funciones es esencialmente una forma disciplinada de conseguir que un modelo de lenguaje «hable JSON» para que el software determinista pueda actuar sobre ello de forma segura.

Por qué es importante

Los LLM son buenos con el lenguaje y el razonamiento, pero malos con la aritmética, los datos en tiempo real y los efectos secundarios. La llamada a funciones convierte un modelo de chat en la capa de razonamiento de un sistema agentic: el modelo planifica, las herramientas ejecutan. Este patrón impulsa asistentes de IA que pueden reservar calendarios, consultar CRM, ejecutar SQL, llamar a microservicios internos o activar acciones robóticas, todo ello mientras el desarrollador mantiene un control estricto sobre el código que realmente se ejecuta. También reduce drásticamente las alucinaciones en consultas factuales, porque las respuestas se fundamentan en la salida real de las herramientas y no en la memoria paramétrica del modelo.

Tipos clave de patrones de llamada a funciones

  • Uso de herramientas en un solo paso: el modelo llama a una función por turno, como una calculadora o una búsqueda web.
  • Llamadas en paralelo: el modelo solicita varias funciones independientes en una sola respuesta, útil para obtener datos de múltiples fuentes a la vez.
  • Bucles de múltiples pasos / agentic: la aplicación realimenta los resultados de las herramientas hasta que el modelo decide que no se necesitan más llamadas, lo que permite cadenas de acciones.
  • Decodificación restringida: técnicas que fuerzan la salida token a token del modelo a ajustarse a un esquema JSON, mejorando la fiabilidad para API estrictas.

La llamada a funciones es ya una capacidad estándar en los principales proveedores de modelos y es la base sobre la que se construyen la mayoría de los agentes de IA, copilots y pipelines de recuperación modernos.

Preguntas frecuentes

Is function calling the same as an AI agent?
No, but it is a building block. Function calling is the mechanism that lets a model request tools; an agent is the surrounding system that plans, loops, and decides which tools to call and when to stop. Most agents rely on function calling under the hood.</</a>
Does the language model actually execute the function?
No. The model only proposes a function name and arguments. Your application receives the structured request, runs the real code in a controlled environment, and sends the output back to the model for the next turn. This separation is what makes function calling safe.
How is function calling different from standard prompt-based tool use?
Earlier approaches asked the model to "write a function call" as plain text, which required fragile regex parsing. Modern function calling is a first-class API feature where the model emits a schema-conformant JSON object, dramatically improving reliability and reducing parsing errors.
What are common pitfalls when using function calling?
Common issues include ambiguous function descriptions that make the model pick the wrong tool, missing or weakly typed parameters in the schema, and failing to validate arguments before execution. Clear, well-scoped function definitions and schema-constrained decoding help avoid most of these problems.