Toolレコードを作成し、AgentSdk.DefineTool(...)に渡します。ツールには次の内容を含められます。
- モデルに提示するJSONの
Parameters InputSchema、OutputSchema、EventSchemaの検証デリゲート- ツールごとの
Timeoutと非同期Executeデリゲート - 無条件または条件付きの承認
- インタラクティブな処理向けの
OnToolCalledとOnResponseReceived - 次のターンへの上書きと回復可能なツールエラー処理
RuntimeContext.EmitProgress、アプリケーションコンテキストにはSetContext、キャンセル可能な依存関係にはCancellationTokenを使います。
ToolExecutionConfigを使うと、独立したツールを並列実行できます。実行完了の順序が異なっても、保存されたツール結果メッセージはモデル呼び出し順を保ちます。