AIエージェントが動くかは、「AIが正しい形式でツールを呼べるか(function calling)」にかかっています。引数を壊したJSONで返したり、必要な時にツールを呼ばなかったりすると、多段の自動化はそこで止まります。そこで、ローカルLLM7モデルに同じ6タスクを投げ、ツール呼び出しの正答率を自前で実測しました。
結論(先に要点)
- 現代のツール対応モデルは89〜100%で高信頼。「ローカルではエージェントは無理」は誤解。
- 完璧(100%): Qwen3.5 4B / Gemma4 26B / LFM2.5 8B(MoE)。
- 小型(Qwen3.5 2B)は誤呼び出し(不要なのにツールを呼ぶ)が出やすい。
- 旧世代(Gemma2 2B)はそもそもツール非対応——エージェント用途では真っ先に外れます。
- ただし“連鎖”で本性が出る: 前の結果を使う多ターンのエージェントにすると成功率は56〜100%に開き、単発100%のモデルが67%に急落。単発の成績は連鎖を予測しません(後述・最重要)。
実測結果
- Qwen3.5 4B100%
- Gemma4 26B100%
- LFM2.5 8B(MoE)100%
- Qwen3.6 35B94%
- Qwen2.5 7B94%
- Qwen3.5 2B89%
- Gemma2 2B(旧)非対応
現代のツール対応モデルは89〜100%で高信頼。小型のQwen3.5 2Bは「不要なのに呼ぶ」誤呼び出しが2回。Gemma2 2Bはそもそもツール非対応(ollamaが400で拒否)。18試行の実測=小サンプル・要検証。
| モデル | 正答率 | 内訳(18試行中) |
|---|---|---|
| Qwen3.5 4B | 100% | 全問正解 |
| Gemma4 26B | 100% | 全問正解 |
| LFM2.5 8B(MoE) | 100% | 全問正解 |
| Qwen3.6 35B | 94% | 1回だけツール未呼び出し |
| Qwen2.5 7B | 94% | 1回だけ引数ミス |
| Qwen3.5 2B | 89% | 2回 誤呼び出し(不要時に呼んだ) |
| Gemma2 2B(旧) | 非対応 | ollamaが400エラーで拒否 |
計測機: RTX A6000・ollama 0.30.7。ツール呼び出しの正否はモデル依存で、機種(速度)には依りません。生成速度の実測は検証DBへ。
計測方法(再現できるように)
- タスク: 代表6問。天気取得・足し算・Web検索・タイマー・メール送信の5問(ツールを呼ぶべき)+、雑談1問(ツールを呼ぶべきでない)。
- 試行: 各タスク3回=18試行/モデル。温度
temperature=0.7(実際のエージェントに近い設定)。 - API: ollama の
/api/chat(tools対応)。返ってきたtool_callsを採点。 - 採点(1試行ごと): 正しいツール名+妥当な引数なら「正解」。次は不正解として分類——未呼び出し/別ツール/引数ミス/壊れたJSON/誤呼び出し(不要時)。
「正しいJSONで呼べるか」だけでなく、**「呼ぶべきでない時に呼ばない自制」**も測っているのがポイントです。
所見(正直に)
- 賢さ=ツール信頼性ではない: 最大の35B(Qwen3.6)より、4BのQwen3.5や8BのLFM2.5(MoE)の方が満点でした。ツール呼び出しは「モデルの躾(学習データ)」の差が出ます。
- 小型は“過剰呼び出し”に注意: Qwen3.5 2Bは雑談にもツールを呼ぶ誤作動が出ました。エージェントでは「呼ばない判断」も同じくらい重要です。
- 旧世代はそもそも非対応: Gemma2 2Bはツールを渡すとエラー。エージェントを作るなら、まず“ツール対応モデルか”を確認してください。
マルチターン連鎖の実測(ここで本当の差が出る)
単発のツール呼び出しは現代モデルがほぼ横並び(89〜100%)。でも本物のエージェントは、ツールの結果を見て次のツールを呼ぶ多ターンの連鎖です。そこで、前の結果を使う3つの連鎖タスクで実測しました。
- 「東京と大阪の気温をそれぞれ調べて→2つを足す」(天気2回→足し算)
- 「12と8を足して→その合計に3を掛ける」(前の結果を次の引数に使う)
- 「検索して→その結果をメール送信」(検索→メールの順序)
ツールの結果をモデルに戻し、ゴールまで正しくやり切れたかを採点しました(3タスク×3回=9試行・temp0.7・最大6ターン)。
- Gemma4 26B100%
- Qwen3.6 35B94%
- Qwen2.5 7B94%
- Qwen3.5 4B100%
- LFM2.5 8B100%
- Qwen3.5 2B89%
- Gemma4 26B100%
- Qwen3.6 35B89%
- Qwen2.5 7B78%
- Qwen3.5 4B67%
- LFM2.5 8B67%
- Qwen3.5 2B56%
単発はほぼ横並び(89〜100%)なのに、連鎖は56〜100%へ大きく開く。単発100%のQwen3.5 4B・LFM2.5 8Bが連鎖では67%に急落=単発の成績は連鎖を予測しない。3連鎖タスク×3回=9試行・要検証。
結果は単発と一変します。
| モデル | 単発 | 連鎖(多ターン) |
|---|---|---|
| Gemma4 26B | 100% | 100% |
| Qwen3.6 35B | 94% | 89% |
| Qwen2.5 7B | 94% | 78% |
| Qwen3.5 4B | 100% | 67% |
| LFM2.5 8B | 100% | 67% |
| Qwen3.5 2B | 89% | 56% |
最大の発見: **単発100%でも連鎖は67%**まで落ちます(Qwen3.5 4B・LFM2.5 8B)。一方 **Gemma4 26Bは連鎖も100%**で、エージェント総合力では頭一つ抜けました。単発の成績だけでモデルを選ぶと、エージェントにした途端に失敗する——これは一次実測でしか見えない落とし穴です。
連鎖が落ちる主因は「前の結果を次の引数に正しく使えない」「途中で止まる」。一般に大きめ・賢いモデルほど連鎖に強い傾向ですが、サイズだけでは決まりません(LFM2.5 8Bは単発満点でも連鎖は67%)。エージェントを本気で作るなら、連鎖で検証してからモデルを決めてください。
量子化はツール信頼性に効くか(同じ7Bで比較)
「Q4に圧縮するとツール呼び出しが壊れる」とよく言われます。本当か、同じ Qwen2.5 7B を量子化違いで実測しました。
| 量子化 | サイズ | 正答率 | 内訳 |
|---|---|---|---|
| Q4_K_M(既定) | 4.4GB | 94% | 18試行中1問ミス |
| Q8_0 | 7.5GB | 94% | 18試行中1問ミス |
| fp16(無圧縮) | 14.2GB | 100% | 全問正解 |
fp16が満点でしたが、差は18試行でわずか1問——これは温度0.7での実行ごとのばらつきと同程度です(実際、Q4は別の回では違う1問を外しました)。つまり**「Q4だとツールが壊れる」は誇張で、7B級ならQ4でも実用上ほぼ問題なし。ただしツール信頼性を最優先**するなら高精度(fp16)が一段安定、というのが実測の感触です(小サンプル・要検証)。メモリに余裕があれば高精度、無ければQ4でも十分、と覚えておけば十分です。
エージェントを作るときの指針
- まず「ツール対応モデル」を選ぶ(Qwen3.5/3.6・Gemma4・LFM2.5 などは良好)。手元で動くかは動くか診断で確認。
- 小型モデルは“呼びすぎ”を検証してから本番へ。プロンプトやツール説明文で誘導を絞る。
- 速度・電力・機材選びは機材の選び方、エージェントの全体像はローカルでAIエージェントを動かすへ。
限界(要検証)
- 試行は小サンプル(単発18・連鎖9試行)。値は目安で、温度・プロンプト・量子化・ollamaのバージョンで変動します。
- タスクは代表例。本記事の連鎖は2〜3段で、現実のエージェントはより深い連鎖・多引数・ネストしたツールでさらに難しくなります(さらに長い連鎖は今後の課題)。
- 1台(A6000)での計測。ツールの正否はモデル依存で機種非依存ですが、モデル横断・量子化横断の追検証が望まれます。
「ローカルでエージェントは動くのか?」——少なくともツールを正しく呼ぶ土台は、現代モデルなら十分に整っている、というのが実測の答えです。