Cómo funciona
Function calling es un mecanismo que permite a un modelo indicar que una función de la aplicación debe ser llamada para obtener información o realizar una acción. La aplicación describe las funciones disponibles y los parámetros esperados. El modelo elige si una de ellas es adecuada y puede producir los argumentos en formato estructurado.
La llamada no significa necesariamente que el modelo ejecutó la función. En general, el software que integra el modelo recibe la indicación, valida los argumentos y decide si está autorizado a ejecutar la operación. Luego, devuelve el resultado al modelo para que pueda responder al usuario o continuar el flujo.
Un ciclo común tiene estos pasos:
- La aplicación envía la conversación y la descripción de las funciones disponibles.
- El modelo responde con texto o indica una función y sus argumentos.
- La aplicación valida los datos y aplica las reglas de permiso.
- Si está permitido, el código ejecuta la función y retorna el resultado.
- El modelo usa ese resultado para componer la respuesta final.
Los nombres, formatos y recursos varían entre APIs. El integrador debe validar tipos, campos obligatorios, límites y autorización en el propio código. Una salida estructurada ayuda a interpretar la intención, pero no prueba que la acción sea segura o correcta.
Ejemplo práctico
Considera una tienda virtual en la que una persona pregunta: “¿Cuál es el plazo de entrega para mi pedido?”. La aplicación puede disponibilizar una función llamada consultar_entrega, con parámetros como el identificador del pedido. El modelo identifica que necesita consultar esa información y prepara la llamada estructurada.
El servidor no debe ejecutar el pedido solo porque el modelo escribió un identificador. Necesita confirmar la identidad de la persona, verificar si puede acceder a ese pedido y comprobar si el parámetro tiene el formato esperado. Solo entonces consulta el sistema logístico y devuelve el plazo encontrado.
Con el resultado en mano, el modelo puede explicar la previsión en lenguaje natural. Si la función falla, la aplicación debe retornar un error controlado y evitar que la respuesta invente un plazo. Así, la interfaz conversacional se conecta a un sistema real sin transferir al modelo la autoridad final sobre permisos y efectos.
Para qué sirve
Function calling sirve para integrar modelos de lenguaje con APIs, bases de datos y funciones del propio producto. Puede apoyar consultas de información, operaciones administrativas o automatizaciones, siempre que cada acción tenga validaciones y controles adecuados.
Es especialmente útil cuando el modelo necesita interactuar con datos actualizados o activar capacidades que no posee por sí solo. Por ejemplo, consultar el estado de un pedido requiere acceso al sistema de la empresa; el modelo formula la solicitud, mientras que el código confiable realiza la consulta autorizada.
Para operaciones que alteran datos, como cancelar una reserva, prefiere etapas explícitas de confirmación y registra lo que se pidió y ejecutó. Define permisos mínimos, trata errores e impide llamadas repetidas o fuera de contexto. El diseño de la función es parte de la seguridad del producto.
Diferencia entre function calling y tool calling
Los términos se usan frecuentemente para describir patrones cercanos: el modelo solicita que una herramienta o función sea usada, y la aplicación coordina la ejecución. Algunas plataformas usan “function calling” para enfatizar funciones con parámetros estructurados; “tool calling” puede abarcar también otras herramientas. La terminología depende de la API, así que consulta la documentación del proveedor usado.