Ferramentas locais
Use Tool::new(...) quando o processo Rust puder executar a operação:
O valor de parameters é enviado ao modelo como JSON Schema. As entradas e saídas da ferramenta são serde_json::Value; valide argumentos não confiáveis dentro do executor quando precisar de garantias mais fortes em tempo de execução.
Ferramentas condicionadas à aprovação
Adicione require_approval() para pausar antes da execução:
Quando o modelo chama essa ferramenta, a execução retorna com run.status == "waiting_for_human" e run.pause.kind == "tool_approval".
Retome usando o ID exato da chamada:
A API Rust 0.1 não expõe um tipo separado de rejeição. Mantenha pausada uma chamada não aprovada ou aplique a política de rejeição do seu aplicativo antes de retomar.
Ferramentas externas
Use Tool::external(...) quando outro processo executar a operação:
O tipo de pausa é external_output quando cada chamada pendente precisa de um resultado externo. Forneça cada resultado usando o ID da chamada:
Se um turno do modelo combinar ferramentas automáticas e chamadas pendentes, o runtime executará as ferramentas automáticas antes de retornar a pausa.
Erros de ferramentas
Um AgentError retornado por um executor local se transforma em uma mensagem de erro estruturada da ferramenta e é enviado ao modelo. Um nome de ferramenta desconhecido ou a falta de aprovação ou resultado faz a continuação falhar com AgentError.
Conteúdo relacionado
Última modificação em 2 de outubro de 2026