GitHub Repo
Ollamaコミュニティ、Gemma 4のツール応答パッチを提案 思考を無効にすると空の回答が返る可能性
10月8日のOllamaコミュニティの報告によると、思考を無効にしてツール結果を受け取った後、Gemma 4が制御トークンだけを生成して停止し、APIが空のメッセージを返すことがあります。修正案にはレンダラーのテストが含まれていますが、完全な失敗ケースは公開環境で再現されておらず、修正もまだマージされていません。

Ollamaコミュニティは10月8日、/api/chatでthink: falseを明示した後の継続生成に関する、Gemma 4のツール呼び出しの不具合と修正案を報告しました。報告者によると、gemma4:26bでは特定のツール結果を含むコンテキストで、0.35.1、0.40.0、未修正の0.40.1のいずれでも空の応答が発生しました。本文、ツール呼び出し、思考内容のいずれもないまま、done_reason: "stop"で終了したとのことです。不具合報告
公式ドキュメントでは、アプリケーションはツールの結果を会話に追加してモデルに戻し、後続の回答を生成させるよう求めています。思考出力と本文は、それぞれmessage.thinkingとmessage.contentに格納されます。そのため、生成が停止したかどうかだけを確認する実装では、このような空のメッセージを完了したエージェントのステップと見なし、複数ターンにわたるツール処理を早期に終了させるおそれがあります。これはAPIの動作に基づくリスク分析です。ツール呼び出しのドキュメント、思考制御のドキュメント
修正案の作成者は、原因をプロンプトのレンダリングにあると説明しています。ツール応答後、思考を無効にする分岐では空の思考ブロックが事前に挿入されず、モデルがそのブロックを自ら生成して閉じる必要があったとのことです。提案では、思考を明示的に無効にした場合に完全なブロックを補い、Gemma 4の3種類のレンダラーについて、思考を有効にした場合、無効にした場合、設定しない場合をテストしています。作成者によると、非公開の失敗ケースは修正後に5回ともツール呼び出しが復旧しました。この結果は、現時点では作成者による自己テストです。修正案
今回の報告では、証拠の限界が重要です。報告者は、非公開のツール出力を含む完全なリクエストを公開できず、内容を置き換えた場合も、最終的に空の回答となる現象を再現できませんでした。10月9日には別のテスターが、モデルが思考ブロックを自ら閉じるという前提条件のみを確認しました。したがって、公開例でレンダリングの動作は確認できますが、失敗に至る全経路を独立して検証するには不十分です。議論の記録
確認時点で、提案はオープンのままで、レビュー記録もありません。Gemma 4を使ってエージェントを構築するチームは、ツールの応答後に本文とツール呼び出しがともに空となるケースを記録し、/api/showでモデルの思考設定を確認できます。修正の効果を評価するには、匿名化された再現例、メンテナーのレビュー、正式リリースへの採用状況を追跡する必要があります。提案の状況、設定のドキュメント