web_search_20250305
, text_editor_20250124
) para asegurar compatibilidad entre versiones de modelos.Proporciona a Claude herramientas y un prompt del usuario
Claude decide usar una herramienta
stop_reason
de tool_use
, señalando la intención de Claude.Ejecuta la herramienta y devuelve los resultados
user
que contenga un bloque de contenido tool_result
Claude usa el resultado de la herramienta para formular una respuesta
Proporciona a Claude herramientas y un prompt del usuario
Claude ejecuta la herramienta del servidor
Claude usa el resultado de la herramienta del servidor para formular una respuesta
Ejemplo de herramienta única
get_weather
con la entrada proporcionada, y devolver el resultado en un nuevo mensaje user
:Uso de herramientas en paralelo
tool_use
se incluyen en un solo mensaje del asistente, y todos los bloques tool_result
correspondientes deben proporcionarse en el mensaje del usuario subsiguiente.Ejemplo de múltiples herramientas
get_weather
y una herramienta get_time
, junto con una consulta del usuario que pide ambas.get_weather
primero, luego get_time
después de recibir el resultado del climatool_use
en una sola respuesta cuando las operaciones son independientesuser
, con cada resultado en su propio bloque tool_result
.Información faltante
get_weather
anterior, si le preguntas a Claude “¿Cómo está el clima?” sin especificar una ubicación, Claude, particularmente Claude Sonnet, puede hacer una suposición sobre las entradas de las herramientas:Herramientas secuenciales
get_location
para obtener la ubicación del usuario, luego pasar esa ubicación a la herramienta get_weather
:get_location
para obtener la ubicación del usuario. Después de que devuelvas la ubicación en un tool_result
, Claude entonces llamaría get_weather
con esa ubicación para obtener la respuesta final.La conversación completa podría verse así:Rol | Contenido |
---|---|
Usuario | ¿Cómo está el clima donde estoy? |
Asistente | Primero encontraré tu ubicación actual, luego verificaré el clima allí. [Uso de herramienta para get_location] |
Usuario | [Resultado de herramienta para get_location con id coincidente y resultado de San Francisco, CA] |
Asistente | [Uso de herramienta para get_weather con la siguiente entrada]{ “location”: “San Francisco, CA”, “unit”: “fahrenheit” } |
Usuario | [Resultado de herramienta para get_weather con id coincidente y resultado de “59°F (15°C), mayormente nublado”] |
Asistente | Basado en tu ubicación actual en San Francisco, CA, el clima ahora mismo es 59°F (15°C) y mayormente nublado. Es un día bastante fresco y nublado en la ciudad. Podrías querer llevar una chaqueta ligera si vas a salir. |
get_location
.get_location
real y devuelve el resultado “San Francisco, CA” en un bloque tool_result
.get_weather
, pasando “San Francisco, CA” como el parámetro location
(así como un parámetro unit
adivinado, ya que unit
no es un parámetro requerido).get_weather
real con los argumentos proporcionados y devuelve los datos del clima en otro bloque tool_result
.Uso de herramientas con cadena de pensamiento
Responde la solicitud del usuario usando herramientas relevantes (si están disponibles). Antes de llamar una herramienta, haz algo de análisis. Primero, piensa sobre cuál de las herramientas proporcionadas es la herramienta relevante para responder la solicitud del usuario. Segundo, revisa cada uno de los parámetros requeridos de la herramienta relevante y determina si el usuario ha proporcionado directamente o dado suficiente información para inferir un valor. Al decidir si el parámetro puede ser inferido, considera cuidadosamente todo el contexto para ver si apoya un valor específico. Si todos los parámetros requeridos están presentes o pueden ser razonablemente inferidos, procede con la llamada de herramienta. PERO, si uno de los valores para un parámetro requerido falta, NO invoques la función (ni siquiera con rellenos para los parámetros faltantes) y en su lugar, pide al usuario que proporcione los parámetros faltantes. NO pidas más información sobre parámetros opcionales si no se proporciona.
Modo JSON
tool_choice
(ver Forzar uso de herramientas) para instruir al modelo a usar explícitamente esa herramientainput
a la herramienta, así que el nombre de la herramienta y la descripción deberían ser desde la perspectiva del modelo.record_summary
para describir una imagen siguiendo un formato particular.tools
parameter)tools
parameter in API requests (tool names, descriptions, and schemas)tool_use
content blocks in API requests and responsestool_result
content blocks in API requeststools
, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools
are provided, then a tool choice of none
uses 0 additional system prompt tokens.
Model | Tool choice | Tool use system prompt token count |
---|---|---|
Claude Opus 4.1 | auto , none any , tool | 346 tokens 313 tokens |
Claude Opus 4 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 4 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.7 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.5 (Oct) (deprecated) | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.5 (June) (deprecated) | auto , none any , tool | 294 tokens 261 tokens |
Claude Haiku 3.5 | auto , none any , tool | 264 tokens 340 tokens |
Claude Opus 3 (deprecated) | auto , none any , tool | 530 tokens 281 tokens |
Claude Sonnet 3 | auto , none any , tool | 159 tokens 235 tokens |
Claude Haiku 3 | auto , none any , tool | 264 tokens 340 tokens |
usage
reportadas.