Skip to main content

ローカルツール

Rust プロセスが操作を実行できる場合は、Tool::new(...) を使います。
parameters の値は JSON Schema としてモデルに送信されます。ツールの入力と出力は serde_json::Value です。実行時により強い保証が必要な場合は、信頼できない引数を executor 内で検証してください。

承認が必要なツール

require_approval() を追加すると、実行前に処理を一時停止できます。
モデルがこのツールを呼び出すと、実行は run.status == "waiting_for_human" および run.pause.kind == "tool_approval" を返します。 正確な呼び出し ID を指定して再開します。
Rust 0.1 API には個別の拒否型はありません。承認していない呼び出しは一時停止したままにするか、再開する前にアプリケーションの拒否ポリシーを適用してください。

外部ツール

別のプロセスが操作を実行する場合は、Tool::external(...) を使います。
保留中のすべての呼び出しに外部結果が必要な場合、一時停止の種類は external_output になります。各結果を呼び出し ID に対応付けて指定します。
モデルの1ターンで自動ツールと保留中のツールが混在する場合、一時停止を返す前にランタイムが自動ツールを実行します。

ツールのエラー

ローカル executor が返す AgentError は、構造化されたツールエラーメッセージに変換され、モデルに送信されます。不明なツール名、承認の不足、または出力の不足がある場合、再開時に AgentError が返ります。

関連項目

最終更新日 2026年10月2日