Skip to main content

Herramientas locales

Usa Tool::new(...) cuando el proceso de Rust pueda ejecutar la operación:
El valor de parameters se envía al modelo como JSON Schema. La entrada y la salida de la herramienta usan serde_json::Value; valida los argumentos no confiables dentro del ejecutor si necesitas garantías más estrictas durante la ejecución.

Herramientas que requieren aprobación

Añade require_approval() para pausar antes de ejecutar la operación:
Cuando el modelo llama a esta herramienta, la ejecución devuelve run.status == "waiting_for_human" y run.pause.kind == "tool_approval". Reanuda la ejecución con el ID exacto de la llamada:
La API Rust 0.1 no ofrece un tipo de rechazo independiente. Deja en pausa las llamadas no aprobadas o aplica la política de rechazo de tu aplicación antes de reanudar.

Herramientas externas

Usa Tool::external(...) cuando otro proceso realice la operación:
El tipo de pausa es external_output cuando todas las llamadas pendientes necesitan un resultado externo. Proporciona cada resultado usando el ID de la llamada:
Si un turno del modelo combina herramientas automáticas y pendientes, el entorno de ejecución ejecuta las herramientas automáticas antes de devolver la pausa.

Errores de herramientas

Un AgentError devuelto por un ejecutor local se convierte en un mensaje de error estructurado de la herramienta y se envía al modelo. Un nombre de herramienta desconocido o la falta de aprobación o de resultados hacen que la continuación falle con AgentError.

Contenido relacionado

Última modificación el 2 de octubre de 2026