# Qué es el tool calling (llamada a herramientas) en IA

> Qué es el tool calling o function calling, por qué el modelo pide la función y la tienda la ejecuta, y qué herramientas leen o actúan sobre tu catálogo.

URL: https://clione.ai/es/glosario/tool-calling/
Lang: es

_Tool calling_, _function calling_ y llamada a herramientas nombran lo mismo: el mecanismo con el que un modelo de lenguaje deja de limitarse a escribir y **pide que se haga algo fuera de él**, como consultar existencias, buscar en un catálogo o calcular un envío. Anthropic lo llama _tool use_ y lo da por sinónimo de _function calling_.[^anthropic-tool-use] No es un protocolo ni un _plugin_ que se instala: es una capacidad del modelo, y es la pieza que hay debajo de cualquier [agente de IA](/es/glosario/agente-de-ia/) y de cualquier conector. A una tienda le importa porque **un asistente que habla de tus productos con datos al día casi siempre los ha pedido a una herramienta**, y lo que esa herramienta devuelve es lo que el asistente acaba diciendo.

## Cómo funciona

OpenAI lo define como la forma de que sus modelos se conecten con sistemas externos y accedan a datos que no estaban en su entrenamiento, y lo describe en cinco pasos:[^openai-function-calling]

1. La aplicación hace una petición al modelo con las herramientas que podría llamar.
2. El modelo responde con una llamada a herramienta: qué función y con qué argumentos.
3. La aplicación ejecuta su propio código con esos argumentos.
4. La aplicación hace una segunda petición al modelo con el resultado.
5. El modelo responde al usuario, o pide otra herramienta.

El paso 3 es el que más se malinterpreta. **El modelo no ejecuta la función**: Google lo subraya en su documentación de [Gemini](/es/glosario/gemini/), y pide extraer el nombre y los argumentos y ejecutarla en tu aplicación.[^gemini-function-calling] En la API de Anthropic, cuando Claude quiere usar una herramienta definida por ti, la respuesta se detiene con el motivo `tool_use`; tu código hace la operación y devuelve un bloque `tool_result` con lo que obtuvo.[^anthropic-tool-use] La excepción son las herramientas de servidor, como la búsqueda web de Anthropic, que se ejecutan en la infraestructura del proveedor y no en la tuya.[^anthropic-tool-use]

### Qué lleva una herramienta

Una función se declara con un nombre, una descripción de cuándo y cómo usarla y un esquema JSON con los parámetros que acepta. En OpenAI, el modo estricto (`strict`) hace que las llamadas se ajusten siempre al esquema, en lugar de intentarlo sin garantía.[^openai-function-calling]

La descripción no es un comentario para programadores: **es lo que el modelo lee para decidir si llama a la herramienta**. Claude decide cuándo usarla según la petición del usuario y la descripción de la herramienta.[^anthropic-tool-use] OpenAI da tres consejos que cualquier tienda entiende: nombres y descripciones claros y detallados; pocas funciones a la vez, menos de 20 al empezar cada turno, porque así acierta más; y la «prueba del becario», que consiste en preguntarse si una persona sabría usar la función solo con lo que le has dado al modelo.[^openai-function-calling] Las definiciones, además, se inyectan en las instrucciones del modelo y cuentan como [_tokens_](/es/glosario/token/) de entrada.[^openai-function-calling]

Quién decide si se llama a una herramienta también se configura. El modo automático deja que el modelo elija entre llamar a una función o responder directamente; otros modos le obligan a llamar a alguna o se lo prohíben.[^gemini-function-calling] Y un mismo turno puede traer varias llamadas en paralelo, salvo que la aplicación lo desactive.[^openai-function-calling]

### Leer o actuar

Google agrupa los usos en tres: ampliar conocimiento (consultar bases de datos o API), ampliar capacidades (un cálculo, un gráfico) y **actuar** en otros sistemas, como programar una cita, crear una factura o enviar un correo.[^gemini-function-calling] La guía de OpenAI para construir agentes separa igual las herramientas de datos, que traen contexto, de las de acción, que cambian registros o envían mensajes, y pide **asignar a cada herramienta un riesgo bajo, medio o alto** según si solo lee o también escribe, si su efecto se puede deshacer, qué permisos exige y qué impacto económico tiene.[^openai-agents-guide]

## En una tienda

Un **ejemplo ficticio**: una tienda de cafeteras ofrece a su asistente una sola herramienta, `consultar_stock`. Así la declara, en el formato que usan las API de los modelos:[^openai-function-calling]

```json
{
  "type": "function",
  "name": "consultar_stock",
  "description": "Devuelve las existencias y el plazo de entrega de un producto por su SKU. Úsala cuando el cliente pregunte si hay stock o cuándo llega.",
  "parameters": {
    "type": "object",
    "properties": {
      "sku": {
        "type": "string",
        "description": "Código del producto, por ejemplo MOKA-6-INOX"
      },
      "codigo_postal": { "type": "string", "description": "Código postal de entrega" }
    },
    "required": ["sku", "codigo_postal"],
    "additionalProperties": false
  },
  "strict": true
}
```

Una clienta pregunta: «¿Tenéis la cafetera de acero de seis tazas y me llega a Valencia antes del viernes?». El modelo no contesta todavía: devuelve `consultar_stock` con `{"sku": "MOKA-6-INOX", "codigo_postal": "46001"}`. La aplicación de la tienda consulta su sistema, obtiene «12 unidades, entrega el miércoles» y se lo pasa al modelo, que entonces redacta la respuesta. **Cada dato de esa frase salió de la herramienta, no del modelo.** Si el sistema de la tienda devuelve un stock de ayer, el asistente dirá un stock de ayer con toda la seguridad del mundo.

Fíjate en dos detalles. El código postal es obligatorio, así que el modelo tiene que conseguirlo de la conversación. Y la herramienta solo lee: crear el carrito sería otra función, con otro riesgo.[^openai-agents-guide]


Que el modelo pregunta siempre lo que le falta. Anthropic avisa de que, si la petición no trae todos los parámetros obligatorios, sus modelos más capaces suelen detectarlo y preguntar, pero otros **pueden inferir un valor razonable que nadie dio**: su ejemplo es una herramienta del tiempo a la que el modelo pasa «New York» sin que el usuario haya dicho ciudad.[^anthropic-tool-use] En una tienda, eso es una talla o un código postal supuestos. La defensa está en la aplicación: validar las entradas, como la especificación del [MCP (Model Context Protocol)](/es/glosario/mcp/) exige a los servidores, y confirmar con el cliente antes de actuar.[^mcp-tools]


## Cómo comprobarlo

1. **Pide la lista de herramientas** a quien te venda un asistente o un conector para la tienda: nombre, descripción y parámetros de cada una. Si no puede enseñártela, no sabes qué hace.[^openai-function-calling]
2. **Clasifica cada herramienta en leer o actuar** y ponle un riesgo según si escribe, si se puede deshacer, qué permisos usa y qué dinero mueve.[^openai-agents-guide]
3. **Haz la prueba del becario con cada descripción**: si una persona no sabría usarla solo con ese texto, el modelo tampoco.[^openai-function-calling]
4. **Lanza una petición incompleta** (sin talla, sin dirección) y mira si el asistente pregunta o rellena el hueco por su cuenta.[^anthropic-tool-use]
5. **Comprueba que toda acción pide confirmación**: la especificación de MCP recomienda que siempre haya una persona capaz de rechazar una llamada y que la aplicación muestre qué herramientas se invocan.[^mcp-tools]

## Concepto cercano: MCP

El tool calling ocurre dentro de una aplicación: el desarrollador describe sus funciones al modelo y ejecuta las llamadas. El [MCP](/es/glosario/mcp/) resuelve otra cosa: que un servidor publique sus herramientas una vez y cualquier aplicación compatible las descubra con `tools/list` y las invoque con `tools/call`. En ese flujo, **el modelo sigue haciendo lo mismo, elegir la herramienta**, y es el cliente MCP quien envía la llamada al [servidor MCP](/es/glosario/servidor-mcp/) y devuelve el resultado al modelo.[^mcp-tools] Sin tool calling, MCP no tendría quién eligiera; sin MCP, cada herramienta se reescribe para cada aplicación.

Para seguir, el [agente autónomo frente al asistido](/es/glosario/agente-autonomo-vs-asistido/) explica quién aprueba las llamadas que actúan, el [comercio agéntico](/es/glosario/comercio-agentico/) cuenta para qué las usa un agente que compra, y la [ruta de lectura](/es/aprender/comercio-agentico/) ordena el resto de términos.
