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%に急落。単発の成績は連鎖を予測しません(後述・最重要)。

実測結果

ツール呼び出しの正答率(代表6タスク×3回=18試行・temp0.7・A6000実測)
  • 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 4B100%全問正解
Gemma4 26B100%全問正解
LFM2.5 8B(MoE)100%全問正解
Qwen3.6 35B94%1回だけツール未呼び出し
Qwen2.5 7B94%1回だけ引数ミス
Qwen3.5 2B89%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ターン)。

① 単発(1回のツール呼び出し)の正答率
  • 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 26B100%100%
Qwen3.6 35B94%89%
Qwen2.5 7B94%78%
Qwen3.5 4B100%67%
LFM2.5 8B100%67%
Qwen3.5 2B89%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.4GB94%18試行中1問ミス
Q8_07.5GB94%18試行中1問ミス
fp16(無圧縮)14.2GB100%全問正解

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)での計測。ツールの正否はモデル依存で機種非依存ですが、モデル横断・量子化横断の追検証が望まれます。

「ローカルでエージェントは動くのか?」——少なくともツールを正しく呼ぶ土台は、現代モデルなら十分に整っている、というのが実測の答えです。