Jonatan Matajonmatum.com
conceptosnotasexperimentosensayos
© 2026 Jonatan Mata. All rights reserved.v2.1.1
Conceptos

Patrones de Uso de Herramientas

Estrategias y patrones de diseño para que los agentes de IA seleccionen, invoquen y combinen herramientas externas de forma efectiva para completar tareas complejas.

evergreen#tool-use#ai-agents#patterns#mcp#function-calling#orchestration

¿Qué es?

Los patrones de uso de herramientas definen cómo los agentes de IA seleccionan, invocan y combinan herramientas externas para resolver tareas. Mientras que function calling es el mecanismo técnico y MCP es el protocolo de descubrimiento, los patrones de uso de herramientas son las estrategias de nivel superior que determinan cuándo, cómo y en qué orden invocar herramientas.

Definición de herramientas

La calidad de la definición determina si el modelo selecciona la herramienta correcta. Una definición incluye nombre, descripción y esquema de entrada tipado.

Ejemplo con function calling (OpenAI/Bedrock)

{
  "type": "function",
  "function": {
    "name": "search_knowledge",
    "description": "Search the knowledge base by query. Returns matching concepts with titles, summaries, and relevance scores. Use when the user asks about a topic.",
    "parameters": {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "description": "Search query — use specific terms, not full sentences"
        },
        "limit": {
          "type": "integer",
          "description": "Max results to return (default: 5)",
          "default": 5
        }
      },
      "required": ["query"]
    }
  }
}

Ejemplo con MCP

server.tool("search_knowledge", {
  description: "Search the knowledge base by query. Returns matching concepts with titles, summaries, and relevance scores.",
  inputSchema: {
    type: "object",
    properties: {
      query: { type: "string", description: "Search query" },
      limit: { type: "integer", description: "Max results", default: 5 }
    },
    required: ["query"]
  }
}, async ({ query, limit }) => {
  const results = await searchIndex(query, limit);
  return { content: [{ type: "text", text: JSON.stringify(results) }] };
});

La diferencia clave: en function calling, el host ejecuta la función y devuelve el resultado al modelo. En MCP, el servidor ejecuta la herramienta y el protocolo maneja el transporte. El esquema de definición es casi idéntico — lo que cambia es quién ejecuta y cómo se descubre.

Patrones de invocación

Herramienta única

El caso más simple — el agente identifica una herramienta y la invoca una vez:

Loading diagram...

Llamadas paralelas

Cuando las herramientas son independientes, el agente las invoca simultáneamente. Reduce latencia significativamente:

Loading diagram...

Llamadas encadenadas

El resultado de una herramienta alimenta la entrada de la siguiente. Es el patrón más común en flujos agénticos:

Loading diagram...

Selección condicional

El agente decide qué herramienta usar según el contexto de la pregunta:

Loading diagram...

La calidad de las descripciones de herramientas es lo que permite al modelo hacer esta selección correctamente. Descripciones ambiguas producen selecciones incorrectas.

Estrategias de selección de herramientas

Cuando un agente tiene acceso a muchas herramientas (10+), la selección se vuelve un problema de ingeniería de prompts:

EstrategiaCómo funcionaCuándo usarla
Todas disponiblesTodas las herramientas en el contexto del modeloMenos de 10 herramientas
Filtrado por categoríaAgrupar herramientas por dominio, cargar solo las relevantes10-50 herramientas
Dos pasosPrimer LLM call selecciona herramientas, segundo las usa50+ herramientas
Descripción jerárquicaHerramientas «meta» que exponen sub-herramientasSistemas complejos con múltiples dominios

El filtrado por categoría es el más práctico para la mayoría de sistemas. Ejemplo: un agente de soporte técnico carga herramientas de «base de datos» solo cuando detecta una pregunta sobre datos, y herramientas de «deployment» solo para preguntas de infraestructura.

Manejo de errores

Los errores de herramientas son inevitables. El agente necesita estrategias para manejarlos sin fallar silenciosamente:

Retry con backoff

Loading diagram...

Fallback a herramienta alternativa

Loading diagram...

Degradación elegante

Loading diagram...

Anti-patrones de error

  • Reintentar infinitamente — siempre definir un máximo de reintentos
  • Ignorar errores — el agente debe comunicar al usuario cuando una herramienta falla
  • Pasar errores crudos — transformar errores técnicos en mensajes comprensibles
  • No validar respuestas — verificar que la respuesta de la herramienta tiene la estructura esperada antes de usarla

Composición de herramientas

Los patrones más avanzados combinan múltiples herramientas en flujos complejos:

Pipeline

Secuencia lineal donde cada paso transforma el resultado del anterior:

Loading diagram...

Fan-out / Fan-in

Distribuir trabajo en paralelo y agregar resultados:

Loading diagram...

Loop con condición de salida

El agente itera hasta cumplir un criterio:

Loading diagram...

Este patrón es la base del «agent loop» en frameworks como Strands Agents — el modelo razona, invoca herramientas, evalúa resultados y decide si necesita más información.

Function calling vs MCP — cuándo usar cada uno

AspectoFunction callingMCP
DefiniciónEn el prompt o API del modeloEn el servidor MCP
DescubrimientoEstático — definido por el desarrolladorDinámico — tools/list al conectar
EjecuciónEl host ejecuta la funciónEl servidor MCP ejecuta
PortabilidadEspecífico por proveedor (OpenAI, Bedrock, etc.)Universal — cualquier cliente MCP
EstadoSin estado entre llamadasPuede mantener estado en el servidor
Caso de usoHerramientas simples, integradas en la appHerramientas compartidas entre múltiples clientes

En la práctica, function calling es suficiente para herramientas internas de una aplicación. MCP es necesario cuando las herramientas deben ser accesibles desde múltiples clientes de IA o cuando el descubrimiento dinámico es importante.

¿Por qué importa?

Los patrones de uso de herramientas son lo que convierte a un LLM en un agente capaz de actuar en el mundo real. Sin herramientas, un modelo solo puede generar texto. Con herramientas bien diseñadas y patrones de invocación correctos, puede consultar bases de datos, ejecutar código, interactuar con APIs y orquestar flujos complejos.

La diferencia entre un agente confiable y uno frágil está en los detalles: descripciones precisas que guían la selección, esquemas tipados que previenen errores de entrada, manejo de errores que degrada elegantemente, y composición que permite resolver tareas que ninguna herramienta individual puede completar. Estos patrones son transferibles entre proveedores — ya sea function calling de Bedrock, la API de Anthropic, o un servidor MCP.

Referencias

  • Tool Use — Anthropic — Anthropic. Documentación oficial de tool use con Claude, incluyendo patrones y esquemas.
  • Tool Use Best Practices — Anthropic — Anthropic. Mejores prácticas para definición y uso de herramientas.
  • Building Effective Agents — Anthropic, 2024. Patrones de agentes incluyendo orquestación de herramientas.
  • Model Context Protocol — Anthropic/Linux Foundation. Protocolo estándar para descubrimiento y uso de herramientas.
  • Tool Use with Converse API — Amazon Bedrock — AWS. Implementación de tool use en Bedrock.
  • Tools and Tool Calling — Vercel AI SDK — Vercel. Abstracción de tool calling multi-proveedor.

Contenido relacionado

  • Agentes de IA

    Sistemas autónomos que combinan modelos de lenguaje con razonamiento, memoria y uso de herramientas para ejecutar tareas complejas de múltiples pasos con mínima intervención humana.

  • Protocolo de Contexto de Modelo (MCP)

    Protocolo abierto creado por Anthropic que estandariza cómo las aplicaciones de IA se conectan con herramientas, datos y servicios externos mediante una interfaz universal.

  • Llamada a Funciones

    Capacidad de los LLMs para generar llamadas estructuradas a funciones externas basándose en lenguaje natural, habilitando la integración con APIs, bases de datos y herramientas del mundo real.

  • Flujos de Trabajo Agénticos

    Patrones de diseño donde agentes de IA ejecutan tareas complejas de múltiples pasos de forma autónoma, combinando razonamiento, uso de herramientas y toma de decisiones iterativa.

  • Ingeniería de Prompts

    Disciplina de diseñar instrucciones efectivas para modelos de lenguaje, combinando claridad, estructura y ejemplos para obtener respuestas consistentes y de alta calidad.

Conceptos