- Eficiencia de contexto: Las definiciones de herramientas pueden consumir grandes porciones de la ventana de contexto (50 herramientas pueden usar 10-20K tokens), dejando menos espacio para el trabajo real.
- Precisión de selección de herramientas: La precisión de selección de herramientas se degrada con más de 30-50 herramientas cargadas a la vez.
Cómo funciona la búsqueda de herramientas
Cuando la búsqueda de herramientas está activa, las definiciones de herramientas se retienen de la ventana de contexto. El agente recibe un resumen de las herramientas disponibles y busca las relevantes cuando la tarea requiere una capacidad que no está ya cargada. Las 3-5 herramientas más relevantes se cargan en contexto, donde permanecen disponibles para turnos posteriores. Si la conversación es lo suficientemente larga como para que el SDK compacte mensajes anteriores para liberar espacio, las herramientas descubiertas previamente pueden ser removidas, y el agente busca nuevamente según sea necesario. La búsqueda de herramientas añade un viaje de ida y vuelta extra la primera vez que Claude descubre una herramienta (el paso de búsqueda), pero para grandes conjuntos de herramientas esto se compensa con un contexto más pequeño en cada turno. Con menos de ~10 herramientas, cargar todo de antemano es típicamente más rápido. Para detalles sobre el mecanismo API subyacente, consulta Búsqueda de herramientas en la API.La búsqueda de herramientas requiere Claude Sonnet 4 o posterior, o Claude Opus 4 o posterior. Los modelos Haiku no soportan búsqueda de herramientas.
Configurar la búsqueda de herramientas
La búsqueda de herramientas está activada por defecto. Está deshabilitada por defecto en Vertex AI, donde es compatible con Claude Sonnet 4.5 y posterior y Claude Opus 4.5 y posterior. También está deshabilitada cuandoANTHROPIC_BASE_URL apunta a un host que no es de primera parte, ya que la mayoría de los proxies no reenvían bloques tool_reference. Puedes anular cualquiera de los valores por defecto con la variable de entorno ENABLE_TOOL_SEARCH:
| Valor | Comportamiento |
|---|---|
| (sin establecer) | La búsqueda de herramientas está activada. Las definiciones de herramientas se difieren y se descubren bajo demanda. Se retrocede a la carga de antemano en Vertex AI o en un ANTHROPIC_BASE_URL que no es de primera parte. |
true | La búsqueda de herramientas siempre está activada. El SDK envía el encabezado beta incluso en Vertex AI y a través de proxies. Las solicitudes fallan en modelos de Vertex AI anteriores a Sonnet 4.5 u Opus 4.5, o en proxies que no soportan bloques tool_reference. |
auto | Verifica el recuento de tokens combinado de todas las definiciones de herramientas contra la ventana de contexto del modelo. Si exceden el 10%, la búsqueda de herramientas se activa. Si están por debajo del 10%, todas las herramientas se cargan en contexto normalmente. |
auto:N | Igual que auto con un porcentaje personalizado. auto:5 se activa cuando las definiciones de herramientas exceden el 5% de la ventana de contexto. Los valores más bajos se activan antes. |
false | La búsqueda de herramientas está desactivada. Todas las definiciones de herramientas se cargan en contexto en cada turno. |
auto, el umbral se basa en el tamaño combinado de todas las definiciones de herramientas en todos los servidores.
Establece el valor en la opción env en query(). Este ejemplo se conecta a un servidor MCP remoto que expone muchas herramientas, pre-aprueba todas ellas con un comodín, y usa auto:5 para que la búsqueda de herramientas se active cuando sus definiciones excedan el 5% de la ventana de contexto:
ENABLE_TOOL_SEARCH en "false" desactiva la búsqueda de herramientas y carga todas las definiciones de herramientas en contexto en cada turno. Esto elimina el viaje de ida y vuelta de búsqueda, que puede ser más rápido cuando el conjunto de herramientas es pequeño (menos de ~10 herramientas) y las definiciones caben cómodamente en la ventana de contexto.
Optimizar el descubrimiento de herramientas
El mecanismo de búsqueda coincide consultas contra nombres y descripciones de herramientas. Nombres comosearch_slack_messages aparecen para un rango más amplio de solicitudes que query_slack. Las descripciones con palabras clave específicas (“Buscar mensajes de Slack por palabra clave, canal o rango de fechas”) coinciden con más consultas que las genéricas (“Consultar Slack”).
También puedes añadir una sección de indicación del sistema listando categorías de herramientas disponibles. Esto le da al agente contexto sobre qué tipos de herramientas están disponibles para buscar:
Límites
- Herramientas máximas: 10,000 herramientas en tu catálogo
- Resultados de búsqueda: Devuelve 3-5 herramientas más relevantes por búsqueda
- Soporte de modelo: Claude Sonnet 4 y posterior, Claude Opus 4 y posterior (sin Haiku)
Documentación relacionada
- Búsqueda de herramientas en la API: Documentación completa de la API para búsqueda de herramientas, incluyendo implementaciones personalizadas
- Conectar servidores MCP: Conecta a herramientas externas a través de servidores MCP
- Herramientas personalizadas: Construye tus propias herramientas con servidores MCP del SDK
- Referencia del SDK de TypeScript: Referencia completa de la API
- Referencia del SDK de Python: Referencia completa de la API