Skip to main content

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