Function calling
Cómo un modelo de IA le pide a tu código que ejecute una herramienta y usa el resultado.
El function calling, también llamado tool use o uso de herramientas, le permite a un LLM hacer algo más que escribir texto. Le describís al modelo algunas herramientas: un nombre, qué hace cada una y qué argumentos recibe, casi siempre como un esquema JSON. Cuando el modelo decide que una herramienta le sirve, en vez de contestar devuelve un pedido estructurado, por ejemplo get_weather(city="Rosario").
El modelo nunca ejecuta nada por su cuenta. Tu programa recibe ese pedido, corre la función de verdad (consulta una API del clima, busca en una base de datos, manda un mail) y le devuelve el resultado. El modelo lo lee y sigue: puede pedir otra herramienta o escribir la respuesta final. Ese ciclo, repetido, es lo que convierte a un chatbot en un agente de IA.
OpenAI sumó function calling a su API en 2023 y los demás proveedores grandes lo siguieron; la documentación de Anthropic lo llama tool use. El Model Context Protocol estandariza cómo se empaquetan las herramientas para que muchas apps puedan enchufar las mismas. Como es el modelo el que elige qué herramienta usar y con qué argumentos, las que cambian cosas (pagar, borrar, enviar) merecen un paso de confirmación: el modelo se puede equivocar de herramienta, y un texto que lee en el camino puede intentar engañarlo.
Para quedarse
- El modelo devuelve un pedido estructurado; tu código ejecuta la herramienta.
- Cada herramienta se describe con un nombre, una descripción y un esquema de argumentos.
- Pedir, ejecutar, devolver, repetir: ese ciclo es el corazón de un agente de IA.
- Pedí confirmación antes de que un modelo dispare acciones difíciles de deshacer.
Para seguir leyendo
- Uso de herramientas con Claude (documentación de Anthropic)
- Function calling (documentación de OpenAI, en inglés)