Claude mejora uso avanzado de herramientas en su plataforma | Keryc
Anthropic presenta tres funciones que cambian la forma en que los agentes manejan bibliotecas de herramientas extensas: descubrimiento bajo demanda, ejecución programática por código y ejemplos de uso para enseñar convenciones. ¿Te imaginas un asistente IDE que opere Git, pruebas y despliegues sin llenar la ventana de contexto con miles de definiciones? Eso es justo lo que buscan resolver.
Qué anuncian y por qué importa
La idea central es simple pero potente: los agentes deben acceder a cientos o miles de herramientas sin cargar todas sus definiciones en cada sesión. Cargar todo upfront puede consumir decenas o cientos de miles de tokens antes de que el agente lea siquiera la petición del usuario. ¿Resultado? Falta de espacio para la instrucción, errores al elegir herramientas y parámetros mal formados.
Anthropic lanza tres características técnicas para solucionar esto en la Claude Developer Platform:
Tool Search Tool: descubre herramientas bajo demanda y evita inflar la ventana de contexto.
Programmatic Tool Calling: permite que Claude escriba código para orquestar herramientas en un entorno de ejecución, evitando que resultados intermedios llenen la conversación.
Tool Use Examples: ejemplos concretos en la definición de la herramienta para enseñar patrones de uso, no solo su esquema JSON.
Estas tres piezas juntas permiten construir agentes que escalan en número de herramientas, en volumen de datos y en complejidad de flujo de trabajo.
Tool Search Tool: descubrir, no cargar todo
El problema es conocido: si conectas varios servidores MCP, las definiciones de herramientas suman tokens muy rápido. Ejemplo de un escenario de cinco servidores puede consumir ~55K tokens solo en definiciones, y Anthropic reporta hasta 134K tokens en ciertos despliegues.
Con el Tool Search Tool se marca la mayoría de herramientas con defer_loading: true. Claude solo recibe la herramienta de búsqueda y las pocas herramientas que mantengas siempre cargadas. Cuando necesita una capacidad específica, hace una búsqueda por nombre o descripción y se cargan solo las definiciones relevantes.
Beneficios medibles reportados:
Consumo de contexto reducido de ~77K tokens a ~8.7K tokens en un ejemplo, preservando 95% de la ventana.
Reducción aproximada de 85% en tokens usados por definiciones.
Mejora en exactitud en evaluaciones MCP: Opus 4 de 49% a 74%, Opus 4.5 de 79.5% a 88.1%.
Cómo se usa en la práctica
Marcas herramientas como diferidas con defer_loading: true.
Mantienes 3 a 5 herramientas de uso frecuente con defer_loading: false.
La plataforma incluye búsquedas regex y BM25; también puedes usar embeddings o un buscador personalizado.
Cuándo conviene usarlo
Útil cuando las definiciones usan más de 10K tokens, cuando hay problemas de selección de herramienta o en sistemas MCP con múltiples servidores.
No es ideal para librerías muy pequeñas (<10 herramientas) o cuando todas las herramientas se usan en cada sesión.
Programmatic Tool Calling: orquestación por código
¿Por qué dejar que todo entre en la ventana de contexto cuando solo necesitas siete valores finales? El cambio de paradigma es permitir que Claude genere código (por ejemplo, Python) que llame herramientas desde un entorno de ejecución sandbox. Los resultados intermedios se procesan en ese entorno y no contaminan la sesión del modelo.
Ventajas claves:
Menos tokens en contexto: Anthropic muestra reducciones promedio del 43,588 a 27,297 tokens en tareas complejas (37% menos).
Menos inferencias: en lugar de ejecutar N round-trips al modelo por N llamadas, el código ejecuta las llamadas y solo vuelve al modelo con el resultado final.
Más precisión: benchmarks internos muestran mejoras en recuperación y razonamiento cuando la orquestación se expresa en código.
Ejemplo práctico (comprobación de presupuesto por equipo)
Con llamadas tradicionales el flujo genera miles de líneas de gastos en contexto. Con Programmatic Tool Calling, Claude genera un script que hace peticiones paralelas a get_team_members, get_expenses y get_budget_by_level, calcula los totales y devuelve solo la lista de personas que excedieron su presupuesto.
Código de ejemplo que Claude puede generar:
team = await get_team_members('engineering')
levels = list(set(m['level'] for m in team))
budget_results = await asyncio.gather(*[get_budget_by_level(level) for level in levels])
budgets = {level: budget for level, budget in zip(levels, budget_results)}
expenses = await asyncio.gather(*[get_expenses(m['id'], 'Q3') for m in team])
exceeded = []
for member, exp in zip(team, expenses):
budget = budgets[member['level']]
total = sum(e['amount'] for e in exp)
if total > budget['travel_limit']:
exceeded.append({'name': member['name'], 'spent': total, 'limit': budget['travel_limit']})
print(json.dumps(exceeded))
El modelo solo ve el stdout final con las personas que excedieron presupuesto, mientras que las 2,000+ líneas de gastos nunca inundan la ventana de contexto.
Cómo funciona técnicamente
Se marca la herramienta de ejecución de código y se opta a que ciertas herramientas sean invocables desde código (allowed_callers).
Claude genera un bloque server_tool_use con el código.
Cada llamada a una herramienta dentro del código genera requests con un campo caller que identifica la ejecución de código.
Los resultados se entregan al entorno de ejecución y solo el resultado final vuelve al modelo.
Cuándo usar Programmatic Tool Calling
Procesamiento de grandes volúmenes donde sólo importan agregados o resúmenes.
Flujos multietapa con 3 o más llamadas dependientes.
Operaciones paralelizables o idempotentes.
Menos indicado para consultas simples o cuando interesa que el modelo vea cada resultado intermedio.
Tool Use Examples: enseñar patrones, no sólo tipos
Un input_schema JSON valida forma, pero no enseña cuándo incluir parámetros opcionales, qué formato usan las IDs o cómo se correlacionan campos. Tool Use Examples son ejemplos concretos que acompañan la definición de la herramienta para mostrar convenciones reales.
Impacto práctico:
Enseñar que las fechas usan YYYY-MM-DD, que los IDs siguen un prefijo tipo USR-12345 o que bugs críticos deben incluir contacto y escalación.
En testing interno, ejemplos mejoraron precisión en manejo de parámetros de 72% a 90% en llamadas complejas.
Buenas prácticas para ejemplos:
Usa datos realistas y variados, desde mínimos hasta especificaciones completas.
1 a 5 ejemplos por herramienta suelen ser suficientes.
Prioriza ejemplos donde el esquema deja ambigüedad en la semántica.
Cómo combinarlas y mejores prácticas
No necesitas activar las tres funciones para todo. Empieza por tu cuello de botella:
Contexto inflado por definiciones → Tool Search Tool.
Resultados intermedios que contaminan la conversación → Programmatic Tool Calling.
Errores en parámetros y convención de API → Tool Use Examples.
Sugerencias concretas:
Mantén 3 a 5 herramientas siempre cargadas para operaciones frecuentes.
Documenta formatos de retorno cuando vas a permitir ejecución programática; eso ayuda a que Claude genere parsing correcto.
Usa nombres y descripciones claros para mejorar la búsqueda: preferible search_customer_orders que query_db_orders.
Integración y disponibilidad
Estas funciones están disponibles en beta. Para activarlas hay que añadir el header beta y declarar las herramientas que usan defer_loading, allowed_callers e input_examples en la petición de creación de mensajes. Anthropic ofrece documentación y cookbooks para cada una de las características.
Qué significa para desarrolladores y empresas
Si construyes asistentes de IDE, coordinadores de operaciones o agentes que conversan con docenas de servicios, estas piezas son las que te permiten escalar sin sacrificar precisión ni velocidad. La combinación de búsqueda bajo demanda, ejecución programática y ejemplos de uso transforma a los agentes de simples consumidores de funciones a orquestadores inteligentes.
¿Y para ti? Si trabajas con pipelines complejos o con grandes volúmenes de datos, esto reduce costos de tokens, latencia y errores en producción. Si eres desarrollador curioso, es momento de experimentar con orquestación por código y ver cuánto puedes simplificar las respuestas que recibe el modelo.