ツール利用とは
対象読者: AIエージェントに外部機能を呼び出させたい方、ツール定義の設計で品質にばらつきが出て困っている方
前提知識: ハーネスエンジニアリング の基礎
ツールとは、AIエージェントが外部環境と連携し、実際に「行動」するために呼び出せる機能です。LLM単体では、ファイルの読み書き、外部APIの呼び出し、コードの実行はできません。ツールは、この「できないこと」を実行環境に接続する橋渡しをします。
ツールの種類
| ツールの種類 | 具体例 |
|---|---|
| 情報取得 | Web検索、データベース照会 |
| コンピュータ操作 | コード実行、ファイル読み書き |
| ブラウジング | Webページの閲覧・スクレイピング |
| 外部サービス | メール送信、カレンダー操作、GitHub操作 |
複数のツールを外部システムへ標準化された形で接続する仕組みとして、MCPが使われることが増えています。
良いツール定義の要素
ツールをAIに渡すときは、関数のシグネチャだけでなく、AIが「いつ・どう使うべきか」を判断できる情報が必要です。
| 要素 | 説明 |
|---|---|
| 名前 | ツールの機能を簡潔に表す識別子 |
| 説明(description) | 何をするツールか、いつ使うべきか |
| 入力パラメータ | 型・必須項目・制約条件 |
| 出力形式 | 呼び出し結果としてAIが受け取る形 |
| 使用条件 | 使ってよい場面・使うべきでない場面 |
ツール名: search_docs
説明: 社内ドキュメントを全文検索する。ユーザーが「〜について調べて」と依頼したときに使う。
入力: query(検索キーワード, 必須), max_results(取得件数, 任意, デフォルト5)
出力: タイトル・URL・抜粋のリスト
使用条件: 機密情報を含むドキュメントは検索対象に含めない説明文が曖昧だと、AIはどのツールをいつ使うべきか誤って判断しやすくなります。役割が重なるツールが複数ある場合は、境界を明確にすることが重要です。
設計で守るべき原則
1. 最小権限にする
ツールには、タスクに必要な範囲だけの権限を持たせます。ファイル検索ツールに書き込み権限まで与える必要はありません。ハーネスエンジニアリングで扱う「最小権限」の原則が、ツール設計にもそのまま当てはまります。
2. エラーを構造化して返す
外部APIの障害、レート制限、認証切れなど、ツールは失敗することがあります。エラーメッセージを構造化して返すと、AIが「リトライすべきか」「別の方法を試すべきか」「人間に確認すべきか」を判断しやすくなります。
3. 破壊的な操作は慎重に扱う
ファイル削除、メール送信、本番環境への書き込みなど、取り消せない操作を行うツールには、確認ステップや承認フローを組み込みます。
このセクションのページ一覧
| ページ | 内容 |
|---|---|
| ツール選択の失敗と対策 | AIがツールを選び間違える原因と対処 |
| 実行権限と承認 | 最小権限の設計と承認を挟む位置 |
| ツールのエラー処理 | 失敗時のメッセージ設計とリトライ方針 |
まとめ
- ツールは、AIエージェントが外部環境と連携して実際に行動するための手段
- 名前・説明・入力パラメータ・使用条件を明確にすると、AIが正しく使い分けやすくなる
- 最小権限の原則とエラーハンドリングは、ツール設計における重要な安全策
- 標準化された接続方式としてMCPが使われることが増えている
クイズ