Funciones en agentes de IA: qué son, cómo se definen y por qué fallan
Una función (también llamada herramienta o tool) es una acción concreta que el agente puede ejecutar: consultar una agenda, buscar un producto, crear una factura. El modelo no ejecuta nada por sí mismo: decide qué función llamar y con qué datos, y tu sistema la ejecuta. A esto se le llama function calling o tool calling.
Cómo se define una función
Cada función tiene tres partes. El agente decide solo con lo que dicen estas tres partes, así que cada palabra cuenta.
| Parte | Qué es | Ejemplo |
|---|---|---|
| Nombre | Identificador corto y claro | agendar_cita |
| Descripción | Cuándo usarla y cuándo no | "Aparta una cita confirmada. Úsala solo cuando el cliente ya eligió fecha y hora." |
| Parámetros | Los datos que necesita, con tipo y formato | fecha (AAAA-MM-DD), hora (HH:MM), servicio (lista cerrada) |
Ejemplo completo en formato JSON Schema, el que usan Claude, OpenAI y MCP:
{
"name": "agendar_cita",
"description": "Aparta una cita confirmada. Úsala solo cuando el cliente ya eligió fecha, hora y servicio. Si falta un dato, pregúntalo antes.",
"input_schema": {
"type": "object",
"properties": {
"fecha": { "type": "string", "description": "Formato AAAA-MM-DD" },
"hora": { "type": "string", "description": "Formato HH:MM, 24 horas" },
"servicio": { "type": "string", "enum": ["limpieza", "consulta", "revision"] }
},
"required": ["fecha", "hora", "servicio"]
}
}Qué pasa cuando el agente llama una función
- El cliente escribe: "¿Tienen algo el jueves en la tarde para limpieza?"
- El agente decide llamar consultar_disponibilidad con la fecha del jueves.
- Tu sistema responde con los horarios libres.
- El agente ofrece opciones. No llama agendar_cita todavía, porque el cliente no ha elegido hora.
- El cliente elige 17:00 y el agente llama agendar_cita con los tres datos.
Si en el paso 4 el agente agenda sin preguntar, tienes una cita que nadie pidió. Ese es el tipo de error que no se ve en una demo.
Los 5 errores que más rompen agentes
- Descripciones vagas. "Gestiona citas" no le dice al agente cuándo usarla. Di cuándo sí y cuándo no.
- Funciones que se parecen. Si tienes crear_cita y agendar_cita, el agente va a confundirlas. Una función por acción.
- Formatos sin especificar. "fecha" sin formato produce "jueves", "14/10" o "2026-10-14" al azar.
- Campos libres donde debería haber lista. Usa enum cuando las opciones son cerradas.
- Demasiadas funciones. Con más de 15 o 20, el agente elige peor. Agrupa o divide en agentes especializados.
Cómo revisar tus funciones gratis
AUN tiene una revisión gratuita de esquemas: detecta descripciones vagas, parámetros sin formato y funciones duplicadas. Si quieres saber cómo se comporta el agente con clientes reales, la auditoría de herramientas lo mide con una prueba oculta y te entrega una corrección que no cambia nombres ni parámetros, así que no rompe tu integración.
- Revisar mis funciones gratis (herramienta check_tool_schemas)
- Auditar cómo mi agente usa sus funciones
Preguntas frecuentes
¿Función, herramienta y tool son lo mismo?
Sí. Cada proveedor usa un nombre distinto, pero es la misma idea: una acción que el agente puede pedir.
¿Qué es MCP y qué tiene que ver con las funciones?
MCP (Model Context Protocol) es un estándar para publicar funciones una vez y que cualquier agente compatible las use. Ver Seguridad de skills y MCP.
¿Cuántas funciones debe tener un agente?
Las menos posibles para cumplir su trabajo. Muchos agentes de atención funcionan bien con 4 a 8.
¿Cómo sé si mi agente llama bien sus funciones?
Midiéndolo con casos que no conoce. Ver Mejores herramientas para probar agentes.