Llamada a funciones
La llamada a funciones (también llamada uso de herramientas) es la funcionalidad que permite a un LLM analizar la solicitud de un usuario e invocar funciones o API externas en un formato JSON estructurado. OpenAI introdujo soporte oficial en junio de 2023; desde entonces, Claude, Gemini y Llama la incorporan como funcionalidad estándar, y se ha convertido en la unidad atómica de las implementaciones de agentes de IA.
La llamada a funciones (también llamada uso de herramientas) es la funcionalidad que permite a un LLM analizar la solicitud de un usuario e invocar funciones o API externas en un formato JSON estructurado. OpenAI introdujo soporte oficial en junio de 2023; desde entonces, Claude, Gemini y Llama la incorporan como funcionalidad estándar, y se ha convertido en la unidad atómica de las implementaciones de agentes de IA.
Por qué importa
Los LLM son, en esencia, generadores de texto. Sin la llamada a funciones, preguntar "¿qué tiempo hace ahora mismo en Seúl?" solo puede recuperar el conocimiento adquirido durante el entrenamiento. Con la llamada a funciones, el modelo emite get_weather(location: "Seoul") como JSON, la aplicación anfitriona ejecuta la API real y el resultado regresa al modelo para la respuesta final. Este sencillo mecanismo es la base de los agentes de IA, de la búsqueda con IA y de todo el ecosistema MCP.
Cómo funciona
- Definiciones de herramientas: La aplicación pasa al LLM una lista de funciones disponibles: nombre, descripción y esquema de parámetros.
- Solicitud del usuario: El usuario introduce una pregunta en lenguaje natural.
- Decisión de llamada: El LLM decide qué función invocar y genera los argumentos como JSON.
- Ejecución real: La aplicación anfitriona analiza el JSON y ejecuta la función real. El modelo en sí no ejecuta código.
- Inyección de resultados: La salida de la función se reintroduce en el contexto del LLM.
- Respuesta final: El LLM produce una respuesta en lenguaje natural fundamentada en los resultados.
Ejemplo
Definición de la herramienta:
{
"name": "search_blog_posts",
"description": "Search blog posts by keyword",
"parameters": {
"type": "object",
"properties": {
"keyword": { "type": "string", "description": "search keyword" },
"limit": { "type": "integer", "default": 5 }
},
"required": ["keyword"]
}
}
Usuario: "Encuéntrame 3 publicaciones sobre GEO"
Respuesta del modelo:
{
"tool_call": "search_blog_posts",
"arguments": { "keyword": "GEO", "limit": 3 }
}
Después de que la aplicación ejecuta la herramienta: [{title: "...", url: "..."}, ...]
Respuesta final: "Encontré 3 publicaciones sobre GEO..."
Llamada a funciones vs. MCP vs. ReAct
| Aspecto | Llamada a funciones | MCP | ReAct |
|---|---|---|---|
| Nivel | Protocolo de llamada a API | Protocolo estandarizado de conexión de herramientas | Patrón de prompting |
| Función | El modelo emite JSON para invocar una herramienta | Compartir herramientas entre distintos anfitriones/servidores | Bucle de razonamiento + acción paso a paso |
| Relación | Base de MCP | Estandariza la llamada a funciones entre aplicaciones | Usa la llamada a funciones dentro de un bucle |
La llamada a funciones es una única invocación de herramienta; MCP es la forma en que muchas aplicaciones comparten la misma herramienta; ReAct es un patrón para encadenar llamadas con razonamiento.
Límites y dificultades
Riesgo de alucinación: El modelo puede inventar funciones inexistentes o generar argumentos erróneos. La validación estricta del esquema es obligatoria.
Llamadas en paralelo: Los modelos de vanguardia (GPT-4o, Claude Opus 4.6) pueden invocar varias funciones en paralelo. Eso conlleva la gestión de dependencias.
Costo: Cada llamada amplía el contexto y eleva el gasto en tokens. Limitar la exposición de herramientas mejora tanto el rendimiento como el costo.
Seguridad: Combinada con la inyección de prompts, la llamada a funciones puede amplificar el daño. Exige confirmación del usuario para acciones de riesgo como pagos o eliminaciones.
Implicaciones para el GEO
Cuando la búsqueda con IA extrae información de un blog, internamente invoca funciones como fetch_web_content, search_knowledge o cite_source. Los blogs que exponen HTML limpio y datos estructurados mejoran la calidad de esas llamadas y aumentan la probabilidad de cita. En otras palabras, "un blog fácil de leer para las funciones" es un blog amigable con el GEO.
Sources: