Después de que Claude solicita una llamada a una herramienta, necesitas ejecutar la función y enviar los resultados de vuelta. Esto completa el flujo de trabajo de uso de herramientas al proporcionarle a Claude la información que solicitó.
Ejecutando la función de la herramienta
Cuando Claude responde con un bloque de uso de herramienta, extraes los parámetros de entrada y llamas a tu función. Así es como accedes a los parámetros de la herramienta:
# Accede al bloque de uso de herramientas
tool_use_block = response.content[1]
# Obtén los parámetros de entrada
input_params = tool_use_block.input
# Llama a tu función con los parámetros
result = get_current_datetime(**input_params)El doble asterisco (**) descompone el diccionario en argumentos de palabra clave que tu función espera.
Bloque de resultado de herramienta
Después de ejecutar la herramienta, envías los resultados de vuelta a Claude usando un bloque de resultado de herramienta. Este bloque tiene varias propiedades importantes:

- tool_use_id - Debe coincidir con el ID del bloque de uso de herramienta original
- content - La salida de tu función de herramienta, convertida a una cadena de texto
- is_error - Se establece en true si ocurrió un error durante la ejecución
Manejo de múltiples llamadas a herramientas
Claude puede solicitar múltiples llamadas a herramientas en una sola respuesta. Por ejemplo, si un usuario pregunta "¿Cuánto es 10 + 10 y cuánto es 30 + 30?", Claude podría enviar dos bloques de uso de herramienta separados:

Cada bloque de uso de herramienta obtiene un ID único, y debes hacer coincidir estos IDs al enviar los resultados de vuelta:

Este sistema de ID garantiza que Claude pueda hacer coincidir correctamente cada resultado con su solicitud correspondiente, incluso si los resultados llegan en un orden diferente.
Enviando la solicitud de seguimiento
Tu solicitud de seguimiento a Claude debe incluir el historial completo de la conversación más el nuevo resultado de la herramienta:
messages.append({
"role": "user",
"content": [{
"type": "tool_result",
"tool_use_id": response.content[1].id,
"content": result,
"is_error": False
}]
})El flujo de la conversación se ve así:

Recuerda incluir el esquema de la herramienta en tu solicitud de seguimiento, aunque Claude probablemente no necesite llamar a las herramientas de nuevo. Claude necesita el esquema para entender las referencias a la herramienta en el historial de la conversación.
Flujo de trabajo completo
Aquí está el proceso completo:
- El usuario hace una pregunta que requiere uso de herramientas
- Claude responde con un bloque de uso de herramienta
- Ejecutas la función de herramienta solicitada
- Envías una solicitud de seguimiento con el resultado de la herramienta
- Claude proporciona una respuesta final usando la salida de la herramienta
La solicitud final incluye tu historial completo de mensajes, el bloque de resultado de herramienta y el esquema de la herramienta. Claude entonces responde con un mensaje de texto normal que incorpora la información de tu ejecución de herramienta.