この回のゴール
- LLM 単体で できないこと を、実際に Claude API で試して 失敗を体感 する
- 「ツール付き LLM」という発想が自然に湧いてくる状態になる
1. 第3章までの到達点
Claude API で: - 自由な会話 - 要約、翻訳、分類 - コード生成、文章生成
...これだけでも十分すごい。でも実は 致命的な弱点 があります。
2. 限界①: 大きな数の計算ができない
試しに Claude に聞いてみてください:
「734521 × 892143 はいくつ?」
LLM は ステップごとに文字を生成しているだけ で、電卓のように正確な計算はできません。
なぜ?
- LLM は各位置で「次のトークンの確率」を出す 確率モデル
- 桁が大きいと 見たことがない数字の組み合わせ になる
- 間違った数字も「それっぽく」生成してしまう
実測
| 計算 | Claude の答え | 正解 | 差 |
|---|---|---|---|
| 12 × 13 | ほぼ正解 (156) | 156 | ✅ |
| 1234 × 5678 | だいたい正解 | 7,006,652 | ⚠️ 時々間違う |
| 734521 × 892143 | 大きく間違う | 655,199,895,003 | ❌ |
3. 限界②: 学習後の情報を知らない
「今日は何月何日?」 「AAPL(Apple 株)の今の株価は?」 「昨日のニュースで話題になったことは?」
LLM は 特定の日付までのデータで学習 されています(ナレッジカットオフ)。それ以降のことは 一切知りません。
- Claude Opus 4.7 のナレッジカットオフ: 2026 年 1 月頃
- その後の情報は「知らない」または「もっともらしい嘘(ハルシネーション)」を返す
4. 限界③: 外部アクションができない
「メール送って」 「カレンダーに予定入れて」 「この SQL を実行して結果を見せて」
LLM は 文字列を生成するだけ。以下のような 副作用のある操作 は本質的にできません:
- ファイル読み書き
- API 呼び出し(天気、株価、翻訳...)
- データベース操作
- メール送信、メッセージ投稿
- あらゆる「外の世界への働きかけ」
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 | 複数ツール の使い分け・並列呼び出し |
まとめ
- LLM 単体は「テキスト生成器」であり、3 つの致命的限界(大きな計算・最新情報・外部アクション)を持つ
- 解決策は ツール呼び出し (Tool Use / Function Calling) で外部関数を Claude に使わせること
- 設計のカギは「ツールの説明 (description)」と「入力スキーマ」
この回の限界(次への動機)
「ツールを Claude に使わせる」には、Claude が どのツールを・どんな入力で呼ぶか を構造化された形で表現する必要があります。 👉 次回「JSON Schema 入門」で、その「契約書」の書き方を学びます。
参考文献
- Anthropic Tool Use Overview
- Schick et al. (2023) Toolformer: Language Models Can Teach Themselves to Use Tools