A
AIエージェントの仕組み
ch4-s1 · Why Tools

なぜツールが必要か

約 10 分

この回のゴール

1. 第3章までの到達点

Claude API で: - 自由な会話 - 要約、翻訳、分類 - コード生成、文章生成

...これだけでも十分すごい。でも実は 致命的な弱点 があります。

2. 限界①: 大きな数の計算ができない

試しに Claude に聞いてみてください:

「734521 × 892143 はいくつ?」

LLM は ステップごとに文字を生成しているだけ で、電卓のように正確な計算はできません。

なぜ?

実測

計算 Claude の答え 正解
12 × 13 ほぼ正解 (156) 156
1234 × 5678 だいたい正解 7,006,652 ⚠️ 時々間違う
734521 × 892143 大きく間違う 655,199,895,003

3. 限界②: 学習後の情報を知らない

「今日は何月何日?」 「AAPL(Apple 株)の今の株価は?」 「昨日のニュースで話題になったことは?」

LLM は 特定の日付までのデータで学習 されています(ナレッジカットオフ)。それ以降のことは 一切知りません

4. 限界③: 外部アクションができない

「メール送って」 「カレンダーに予定入れて」 「この SQL を実行して結果を見せて」

LLM は 文字列を生成するだけ。以下のような 副作用のある操作 は本質的にできません:

5. 解決策: ツール呼び出し (Tool Use)

「できないなら、できる仕組みを外から用意して、LLM に使わせる

┌─────────────┐            ┌──────────┐
│  ユーザー     │──────────▶│   LLM    │
└─────────────┘            └────┬─────┘
                                │ ❓計算が必要
                                │ 「calculator ツール使おう」
                                ▼
                        ┌──────────────┐
                        │ calculator() │◀── あなたのコード
                        └──────┬───────┘
                               │ 結果: 655199895003
                               ▼
                        ┌──────────┐
                        │   LLM    │
                        └────┬─────┘
                             │ 「答えは 655,199,895,003 です」
                             ▼
                     ┌─────────────┐
                     │  ユーザー     │
                     └─────────────┘

この仕組みを Function Calling または Tool Use と呼びます。

解決される問題

限界 解決するツール
大きな計算 calculator(expression)
最新情報 web_search(query), get_weather(city), get_stock_price(symbol)
外部アクション send_email(...), execute_sql(...), create_file(...)

6. この章の流れ

テーマ
01 (今回) 限界を体感する
02 ツールの設計に必要な JSON Schema
03 最小の 電卓ツール を実装して tool_use の往復ループを理解
04 複数ツール の使い分け・並列呼び出し

まとめ

この回の限界(次への動機)

「ツールを Claude に使わせる」には、Claude が どのツールを・どんな入力で呼ぶか を構造化された形で表現する必要があります。 👉 次回「JSON Schema 入門」で、その「契約書」の書き方を学びます。

参考文献

📝 理解度クイズ (3 問) 💡 ログインすると進捗が保存されます

💬 このサブステップの Q&A

まだ質問はありません。最初の質問を投稿してみましょう。

質問の投稿にはログインが必要です。