新モデルほどツール呼び出しが劣化する問題

原題: Better Models: Worse Tools

なぜ重要か

SOTA モデルの高度化が必ずしもツール互換性の向上を意味しないことを実例で示し、本番環境における LLM ツール統合の信頼性評価の重要性が改めて浮き彫りになった。

Anthropicの最新モデルClaude Opus 4.8およびSonnet 5が、古いモデルでは発生しなかったツール呼び出し時のスキーマ違反を引き起こすことが、Flaskの作者Armin Ronacher氏によって2026年7月4日に報告された。モデルが存在しないフィールドを自ら生成し、ツール実行ホスト側がリジェクトする現象が確認されている。

Flaskなどのオープンソースプロジェクトで知られるArmin Ronacher氏が、自身のブログで興味深い技術的問題を報告した。同氏が開発するアプリケーション「Pi」において、最新のClaude Opus 4.8がファイル編集ツールを呼び出す際、スキーマに存在しない架空のフィールド(例:"in_file"や"type")をedits[]配列内に付加してしまう現象が発生した。編集内容そのものは正しいにもかかわらず、引数がスキーマと一致しないためPi側がツール呼び出しを拒否し、再試行を求めるループが生じる。

Ronacher氏が問題視しているのは、この現象がClaude Haiku等の小規模モデルではなく、Opus 4.8やSonnet 5というSOTA(最先端)モデルでのみ再現し、旧世代モデルでは全く発生しない点だ。つまり、モデルが高性能化するにつれて特定のツールスキーマ遵守能力が退行しているという逆説的な状況である。

LLMのツール呼び出しの仕組みについて同氏は詳しく解説している。ツール呼び出しは特別な機構ではなく、ANTMLマーカーを用いたテキストベースのフォーマットとして実装されており、モデルはトレーニングによってそのフォーマットを習得している。上位レベルのパラメータはインラインで記述されるが、オブジェクトの配列はJSON文字列としてシリアライズされる構造になっている。

スキーマ違反を防ぐ手段として、同氏は「文法制約付きデコーディング(grammar-aware decoding)」を紹介している。これはサンプラーレベルでスキーマに違反するトークンの生成を物理的にマスクする技術であり、旧モデルで問題が起きていないことと合わせ、新モデルのトレーニングまたは推論設定に何らかの変化があった可能性を示唆している。

出典

lucumr.pocoo.org — 元記事を読む →