Uso de herramienta
aviso
Como se indica, varias de las siguientes funciones se ofrecen en versión beta. Estas características están disponibles como “Servicio beta”, tal y como se define en los Términos de servicio de AWS. Está sujeta a su acuerdo con AWS y a los Términos de servicio de AWS, así como al modelo de EULA aplicable.
Con los modelos Anthropic Claude, puede especificar una herramienta que el modelo puede usar para responder a un mensaje. Por ejemplo, puede especificar una herramienta que obtiene la canción más popular de una emisora de radio. Si el usuario pasa el mensaje ¿Cuál es la canción más popular en la emisora WZPZ?, el modelo determina que la herramienta que usted ha especificado puede ayudar a responder la pregunta. En su respuesta, el modelo solicita que usted ejecute la herramienta en su nombre. A continuación, ejecuta la herramienta y pasa el resultado de la herramienta al modelo, que generará una respuesta para el mensaje original. Para obtener más información, consulte Uso de herramientas (llamada a funciones)
sugerencia
Le recomendamos que utilice la API Converse para integrar el uso de la herramienta en la aplicación. Para obtener más información, consulte Uso de una herramienta para completar una respuesta modelo de Amazon Bedrock.
importante
Claude Sonnet 4.5 ahora conserva el formato intencionado en los parámetros de las cadenas de llamada a herramientas. Anteriormente, las líneas nuevas al final de los parámetros de cadena a veces se eliminaban incorrectamente. Esta corrección garantiza que las herramientas que requieren un formato preciso (como los editores de texto) reciban los parámetros exactamente como está previsto. Se trata de una mejora entre bastidores que no requiere cambios en la API. Sin embargo, las herramientas con parámetros de cadena ahora pueden recibir valores con nuevas líneas finales que antes se eliminaban.
nota
Claude Sonnet 4.5 incluye optimizaciones automáticas para mejorar el rendimiento del modelo. Estas optimizaciones pueden añadir pequeñas cantidades de tokens a las solicitudes, pero no se le facturarán los tokens añadidos por el sistema.
Especifique las herramientas que quiere poner a disposición de un modelo en el campo tools. El siguiente ejemplo es de una herramienta que obtiene la canción más popular de una emisora de radio.
[ { "name": "top_song", "description": "Get the most popular song played on a radio station.", "input_schema": { "type": "object", "properties": { "sign": { "type": "string", "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ and WKRP." } }, "required": [ "sign" ] } } ]
Cuando el modelo necesita una herramienta para generar una respuesta a un mensaje, devuelve información sobre la herramienta solicitada y la entrada en la herramienta en el campo content del mensaje. También establece el motivo de parada de la respuesta a tool_use.
{ "id": "msg_bdrk_01USsY5m3XRUF4FCppHP8KBx", "type": "message", "role": "assistant", "model": "claude-3-sonnet-20240229", "stop_sequence": null, "usage": { "input_tokens": 375, "output_tokens": 36 }, "content": [ { "type": "tool_use", "id": "toolu_bdrk_01SnXQc6YVWD8Dom5jz7KhHy", "name": "top_song", "input": { "sign": "WZPZ" } } ], "stop_reason": "tool_use" }
En su código, llame a la herramienta en nombre de la herramienta. A continuación, pase el resultado de la herramienta (tool_result) en un mensaje de usuario al modelo.
{ "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_bdrk_01SnXQc6YVWD8Dom5jz7KhHy", "content": "Elemental Hotel" } ] }
En su respuesta, el modelo utiliza el resultado de la herramienta para generar una respuesta para el mensaje original.
{ "id": "msg_bdrk_012AaqvTiKuUSc6WadhUkDLP", "type": "message", "role": "assistant", "model": "claude-3-sonnet-20240229", "content": [ { "type": "text", "text": "According to the tool, the most popular song played on radio station WZPZ is \"Elemental Hotel\"." } ], "stop_reason": "end_turn" }
Transmisión de herramientas detallada
La transmisión de herramientas detallada es una capacidad del modelo Anthropic Claude disponible con Claude Sonnet 4.5, Claude Haiku 4.5, Claude Sonnet 4 y Claude Opus 4. Con la transmisión de herramientas detallada, los desarrolladores de Claude pueden transmitir los parámetros de uso de las herramientas sin necesidad de almacenar en búfer ni validar los objetos JSON, lo que reduce la latencia necesaria para empezar a recibir parámetros de gran tamaño.
nota
Al utilizar herramientas de transmisión detallada es posible que reciba entradas JSON parciales o no válidas. Asegúrese de tener en cuenta estos casos límites en su código.
Para utilizar esta característica, simplemente añada el encabezado fine-grained-tool-streaming-2025-05-14 a una solicitud de uso de herramienta.
A continuación, se muestra un ejemplo de cómo especificar el encabezado de transmisión de herramienta detallada:
{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "anthropic_beta": ["fine-grained-tool-streaming-2025-05-14"], "messages": [ { "role": "user", "content": "Can you write a long poem and make a file called poem.txt?" } ], "tools": [ { "name": "make_file", "description": "Write text to a file", "input_schema": { "type": "object", "properties": { "filename": { "type": "string", "description": "The filename to write text to" }, "lines_of_text": { "type": "array", "description": "An array of lines of text to write to the file" } }, "required": [ "filename", "lines_of_text" ] } } ] }
En este ejemplo, la transmisión de herramienta detallada permite a Claude transmitir las líneas de un poema largo a la llamada de herramienta make_file sin necesidad de almacenarlo en búfer para validar si el parámetro lines_of_text es un JSON válido. Esto significa que puede ver el flujo de parámetros a medida que llega, sin tener que esperar a que todo el parámetro se almacene en búfer y se valide.
Con la transmisión de herramientas detallada, los fragmentos de uso de herramienta comienzan a transmitirse más rápido y, a menudo, son más largos y contienen menos saltos de palabras. Esto se debe a las diferencias en el comportamiento de fragmentación.
Por ejemplo, sin transmisión detallada (15 segundos de retraso):
Chunk 1: '{"' Chunk 2: 'query": "Ty' Chunk 3: 'peScri' Chunk 4: 'pt 5.0 5.1 ' Chunk 5: '5.2 5' Chunk 6: '.3' Chunk 8: ' new f' Chunk 9: 'eatur' ...
Con transmisión detallada (3 segundos de retraso):
Chunk 1: '{"query": "TypeScript 5.0 5.1 5.2 5.3' Chunk 2: ' new features comparison'
nota
Como la transmisión detallada envía parámetros sin almacenamiento en búfer ni validación de JSON, no hay garantías de que el flujo resultante se complete en una cadena JSON válida. En concreto, si se alcanza el valor de max_tokens de motivo de la parada, el flujo puede terminar a la mitad de un parámetro y puede estar incompleto. Por lo general, tendrá que escribir una lógica específica para gestionar cuándo se alcanza max_tokens.
Uso de computadora (Beta)
Uso del equipo es una capacidad del modelo Anthropic Claude (en versión beta) disponible únicamente con Claude 3.5 Sonnet v2, Claude Sonnet 4.5, Claude Haiku 4.5, Claude 3.7 Sonnet, Claude Sonnet 4 y Claude Opus 4. Con Uso de computadora, Claude puede ayudarlo a automatizar tareas mediante acciones básicas de la GUI.
aviso
La característica Uso del equipo está disponible como “Servicio beta”, tal y como se define en los Términos de servicio de AWS. Está sujeta a su acuerdo con AWS y a los Términos de servicio de AWS, así como al modelo de EULA aplicable. Tenga en cuenta que la API de Computer Use presenta riesgos únicos que son distintos de los de las características de la API estándar o de las interfaces de chat. Estos riesgos aumentan cuando se utiliza la API de Computer Use para interactuar con internet. Para minimizar los riesgos, considere tomar las siguientes precauciones:
-
Utilice la característica Uso de computadora en una máquina virtual o un contenedor específicos con privilegios mínimos para evitar ataques directos al sistema o accidentes.
-
Evitar dar a la API de Computer Use acceso a datos o cuentas confidenciales, para prevenir el robo de información.
-
Limite el acceso a Internet de las API de uso del equipo a los dominios necesarios para reducir la exposición a contenido malicioso.
-
Para garantizar una supervisión adecuada, asigne a una persona a las tareas delicadas (como la toma de decisiones que podría tener consecuencias significativas en el mundo real) y para cualquier cosa que requiera un consentimiento afirmativo (como aceptar cookies, ejecutar transacciones financieras o aceptar las condiciones del servicio).
Cualquier contenido que permita que Claude vea o acceda puede anular las instrucciones o provocar que Claude realice errores o acciones no deseadas. Es fundamental tomar las precauciones adecuadas, como aislar a Claude de las superficies sensibles, incluso para evitar los riesgos relacionados con una inyección de peticiones. Antes de habilitar o solicitar los permisos necesarios para activar las características Uso de computadora en sus propios productos, informe a los usuarios finales de los riesgos correspondientes y obtenga su consentimiento, según proceda.
La API de uso del equipo ofrece varias herramientas de uso del equipo predefinidas para su uso. A continuación, podrá crear una petición en la solicitud, como “envía un correo electrónico a Ben con las notas de mi última reunión” y una captura de pantalla (si es necesario). La respuesta contiene una lista de acciones de tool_use en formato JSON (por ejemplo, scroll_down, left_button_press, screenshot). El código ejecuta las acciones de la computadora y proporciona a Claude una captura de pantalla que muestra los resultados (cuando se solicita).
Desde la versión Claude 3.5 v2, el parámetro de herramientas se ha actualizado para que acepte tipos de herramientas polimórficas; se ha añadido una propiedad tool.type para distinguirlos. type es opcional; si se omite, se asume que se trata de una herramienta personalizada (anteriormente, era el único tipo de herramienta compatible). Para acceder al uso del equipo, debe usar el parámetro anthropic_beta, con la enumeración correspondiente, cuyo valor depende de la versión del modelo que se utilice. Para obtener más información, consulte la siguiente tabla.
Solo las solicitudes realizadas con este parámetro y enumeración pueden usar las herramientas de uso del equipo. Se puede especificar de la siguiente manera: "anthropic_beta":
["computer-use-2025-01-24"].
| Modelo | encabezado Beta |
|---|---|
|
Claude Opus 4.1 Claude Opus 4 Claude Sonnet 4.5 Claude Haiku 4.5 Claude Sonnet 4 Claude 3.7 Sonnet |
computer-use-2025-01-24 |
| Claude 3.5 Sonnet v2 | computer-use-2024-10-22 |
Para obtener más información, consulte Uso de computadora (beta)
El siguiente es un ejemplo de respuesta donde se supone que la solicitud contiene una captura de pantalla de su escritorio con un icono de Firefox.
{ "id": "msg_123", "type": "message", "role": "assistant", "model": "anthropic.claude-3-5-sonnet-20241022-v2:0", "content": [ { "type": "text", "text": "I see the Firefox icon. Let me click on it and then navigate to a weather website." }, { "type": "tool_use", "id": "toolu_123", "name": "computer", "input": { "action": "mouse_move", "coordinate": [ 708, 736 ] } }, { "type": "tool_use", "id": "toolu_234", "name": "computer", "input": { "action": "left_click" } } ], "stop_reason": "tool_use", "stop_sequence": null, "usage": { "input_tokens": 3391, "output_tokens": 132 } }
Herramientas definidas por Anthropic
Anthropic proporciona un conjunto de herramientas que permiten a determinados modelos Claude utilizar los equipos de forma eficaz. Al especificar una herramienta definida por Anthropic, los campos description y tool_schema no son necesarios ni están permitidos. Las herramientas definidas por Anthropic vienen definidas por Anthropic, pero debe evaluar explícitamente los resultados de la herramienta y devolver el elemento tool_results en Claude. Como ocurre con cualquier herramienta, el modelo no ejecuta automáticamente la herramienta. Cada herramienta definida por Anthropic tiene versiones optimizadas para modelos Claude 3.5 Sonnet (nuevos) y Claude 3.7 Sonnet específicos:
Modelo |
Herramienta |
Notas |
|---|---|---|
|
Claude Claude Opus 4.1 Claude Claude Opus 4 Claude Sonnet 4.5 Claude Haiku 4.5 Claude Sonnet 4 |
|
Actualización a una herramienta de |
|
Claude 3.7 Sonnet |
|
Incluye nuevas acciones para un control más preciso |
|
Claude 3.7 Sonnet |
|
Las mismas capacidades que la versión 20241022 |
|
Claude 3.5 Sonnet v2 |
|
Las mismas capacidades que la versión 20241022 |
|
Claude 3.5 Sonnet v2 |
|
|
|
Claude 3.5 Sonnet v2 |
|
|
|
Claude 3.5 Sonnet v2 |
|
El campo type identifica la herramienta y sus parámetros con fines de validación; el campo name es el nombre de la herramienta expuesto al modelo.
Si desea solicitar al modelo que utilice una de estas herramientas, puede hacer referencia explícita a la herramienta mediante el campo name. El campo name debe ser único en la lista de herramientas; no se puede definir una herramienta con el mismo name que una herramienta definida por Anthropic en la misma llamada a la API.
Borrado automático de llamadas a herramientas (beta)
aviso
El borrado automático de llamadas a herramientas está disponible como un “servicio beta”, tal como se define en los Términos de servicio de AWS.
Claude Sonnet 4.5 admite una nueva característica beta que borra automáticamente los resultados de uso de herramientas antiguas a medida que se acercan los límites de tokens, lo que permite una gestión del contexto más eficiente en escenarios de uso de herramientas de varios turnos. Para utilizar el borrado del uso de herramientas, debe añadir context-management-2025-06-27 a la lista de encabezados beta del parámetro de solicitud anthropic_beta. También tendrá que especificar el uso de clear_tool_uses_20250919 y seleccionar alguna de las siguientes opciones de configuración.
Estos son los controles disponibles para la estrategia de administración del contexto de clear_tool_uses_20250919. Todos son opcionales o tienen valores predeterminados:
| Opción de configuración | Descripción |
|---|---|
|
predeterminado: 100 000 tokens de entrada |
Define cuándo se activa la estrategia de edición de contexto. Una vez que la petición supere este umbral, empezará el borrado. Puede especificar este valor en input_tokens o tool_uses. |
|
predeterminado: 3 usos de herramientas |
Define cuántos pares recientes de uso/resultado de herramientas deben conservarse después de que se produzca la limpieza. La API elimina primero las interacciones de herramientas más antiguas y conserva las más recientes. Resulta útil cuando el modelo necesita acceder a las interacciones recientes con las herramientas para continuar la conversación de forma eficaz. |
|
|
Garantiza que se elimine un número mínimo de tokens cada vez que se active la estrategia. Si la API no puede eliminar al menos la cantidad especificada, la estrategia no se aplicará. Esto resulta útil para determinar si vale la pena interrumpir la caché de peticiones para borrar el contexto. |
|
|
Lista de nombres de herramientas cuyos usos y resultados nunca deben borrarse. Útil para preservar un contexto importante. |
|
|
Controla si los parámetros de llamada a la herramienta se borran junto con los resultados de la herramienta. De forma predeterminada, solo se borran los resultados de la herramienta y se mantienen visibles las llamadas a herramienta originales de Claude, de modo que Claude pueda saber qué operaciones se han realizado incluso después de eliminar los resultados. |
nota
Al borrar las herramientas, se invalidará la memoria caché si los prefijos contienen las herramientas.
Si se utiliza Claude Sonnet 4.5 con borrado automático de llamadas a herramientas, la respuesta incluye información adicional sobre la administración del contexto:
{ "id": "msg_013Zva2CMHLNnXjNJJKqJ2EF", "type": "message", "role": "assistant", "content": [...], ... "usage": {...}, "context_management": { "applied_edits": [ { "type": "clear_tool_uses_20250919", "cleared_tool_uses": 8, # Number of tool use/result pairs that were cleared "cleared_input_tokens": 50000 # Total number of input tokens removed from the prompt } ] } }
nota
Actualmente, Bedrock no admite la administración del contexto de clear_tool_uses_20250919 en la API CountTokens.
Herramienta de memoria (beta)
aviso
La característica Herramienta de memoria está disponible como un “servicio beta”, tal como se define en los Términos de servicio de AWS.
Claude Sonnet 4.5 incluye una nueva herramienta de memoria que ofrece a los clientes una forma de administrar la memoria en las conversaciones. Con esta característica, los clientes pueden permitir que Claude recupere información fuera de la ventana contextual proporcionando acceso a un directorio local. Estará disponible como característica beta. Para utilizar esta característica, debe utilizar el encabezado beta context-management-2025-06-27.
Definición de herramienta:
{ "type": "memory_20250818", "name": "memory" }
Solicitud de ejemplo:
{ "max_tokens": 2048, "anthropic_version": "bedrock-2023-05-31", "anthropic_beta": ["context-management-2025-06-27"], "tools": [{ "type": "memory_20250818", "name": "memory" }], "messages": [ { "role": "user", "content": [{"type": "text", "text": "Remember that my favorite color is blue and I work at Amazon?"}] } ] }
Respuesta de ejemplo:
{ "id": "msg_vrtx_014mQ5ficCRB6PEa5k5sKqHd", "type": "message", "role": "assistant", "model": "claude-sonnet-4-20250514", "content": [ { "type": "text", "text": "I'll start by checking your memory directory and then record this important information about you." }, { "type": "tool_use", "id": "toolu_vrtx_01EU1UrCDigyPMRntr3VYvUB", "name": "memory", "input": { "command": "view", "path": "/memories" } } ], "stop_reason": "tool_use", "stop_sequence": null, "usage": { "input_tokens": 1403, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "output_tokens": 87 }, "context_management": { "applied_edits": [] } }
Consideraciones relacionadas con el costo del uso de herramientas
Los precios de las solicitudes de uso de herramientas se basan en los siguientes factores:
-
Número total de tokens de entrada enviados al modelo (incluidos los del parámetro tools).
-
Número de tokens de salida generados.
El precio de las herramientas es el mismo que el de todas las demás solicitudes de la API Claude, pero incluyen tokens adicionales por solicitud. Los tokens adicionales derivados del uso de herramientas provienen de lo siguiente:
-
El parámetro
toolsen las solicitudes de la API. Por ejemplo, los nombres de herramientas, las descripciones y los esquemas. -
Cualquier bloque de contenido
tool_useen las solicitudes y respuestas de la API. -
Cualquier bloque de contenido
tool_resulten las solicitudes de la API.
Cuando se utilizan herramientas, los modelos Anthropic incluyen automáticamente una petición de sistema especial que permite el uso de herramientas. El número de tokens de uso de herramientas necesarios para cada modelo se indica en la siguiente tabla. En esta tabla no se incluyen los tokens adicionales descritos anteriormente. Tenga en cuenta que en esta tabla se supone que se proporciona al menos una herramienta. Si no se proporciona ninguna herramienta, la opción de herramienta “none” utiliza 0 tokens de peticiones del sistema adicionales.
| Modelo | Selección de herramienta | Número de tokens de peticiones del sistema de uso de herramientas |
|---|---|---|
|
Claude Opus 4.1 Claude Opus 4 Claude Sonnet 4.5 Claude Haiku 4.5 Claude Sonnet 4 Claude 3.7 Sonnet Claude 3.5 Sonnet v2 |
auto or none |
346 |
|
Claude Opus 4.1 Claude Opus 4 Claude Sonnet 4.5 Claude Haiku 4.5 Claude Sonnet 4 Claude 3.7 Sonnet Claude 3.5 Sonnet v2 |
any or tool |
313 |
|
Claude 3.5 Sonnet |
auto or none |
294 |
|
Claude 3.5 Sonnet |
any or tool |
261 |
|
Claude 3 Opus |
auto or none |
530 |
|
Claude 3 Opus |
any or tool |
281 |
|
Claude 3 Sonnet |
auto or none |
159 |
|
Claude 3 Sonnet |
any or tool |
235 |
|
Claude 3 Haiku |
auto or none |
264 |
|
Claude 3 Haiku |
any or tool |
340 |