Gemma 4 はシステムプロンプトとツールに対してひどい挙動を示す

Reddit r/LocalLLaMA / 2026/4/10

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • 著者は、Gemma 4(26b-a4b)について、厳密な指示遵守を必要とするエージェント的なタスクよりも、一般的な質問応答でははるかに良い性能を示すと報告している。
  • 彼らは、コンテキストウィンドウが埋まっていくにつれて、他のモデルよりも顕著に劣化が見られると主張している。
  • システムプロンプトの無視が、複数のバリエーションをテストしても、また制約が明示されていても、Gemma 4ではしばしば起きると述べている。
  • ツール呼び出しについて、明示的に指示してもほとんど実行しないと彼らは言っている。
  • 彼らの実験に基づく結論として、このモデルは信頼性のあるツール利用ワークフロー向けに最適化されているというより、ベンチマーク形式のQA向けに最適化されているように見える、としている。
Gemma 4 is terrible with system prompts and tools

Gemma 4(26b-a4b)を試してみたところ、他のモデルよりどれだけ良いのかに少し驚きました。とはいえ、すぐに次の3つのことが分かりました:

  • コンテキストが埋まってくるにつれて、他のモデルよりもかなり悪化する
  • どんな内容を入れても、システムプロンプトを完全に無視してしまう
  • (ほぼ)ツール呼び出しをしない。明示的に頼んでもだめだ

注: 他のオープンモデルにも同じような欠点はありますが、Gemmaで見るとその欠点がずっと目立つように感じます。ベンチマーク用の一般的な質問への回答を得意にするために作られたような一方で、エージェント的な流れ(指示に従い、ツールを呼び出すこと)にはひどく向いていないように感じます。

私は、数えきれないほどのシステムプロンプトやメッセージを試しました。たとえば(これらの断片の一部だけでも、全部同じプロンプト内に入れた、など)

<task> 複数回のツール呼び出しを行い、可能な限り並列化して、その結果を提示しなければならない。これらには正確で、事実に基づき、検証済みの情報が含まれている。 ZERO-ASSUMPTION(推測ゼロ)のプロトコルに従わなければならない。 ツールから取得しない限り、またはユーザーから直接受け取らない限り、DON'T USE(何も使わない)。 情報がない場合は、TOOLSを使って取得するか、ユーザーにASKしなければならない。 それなしではANSWERしてはいけない。 ツールと自分の推論を使って、ユーザーの質問に答える、または目の前のタスクを解決しなさい。 推論/内部データを、いかなる知識や情報のためにも使ってはいけない。それはツールのためにある。 </task> <tools> あなたにはツールがある。それらはあなたの最大の資産。情報を集めるためには、ALWAYS USE TOOLS。 古い可能性があるため、内部の既存知識を決して信用してはいけない。 ルール: ALWAYS PERFORM TOOL calls(ツール呼び出しは常に行う)。 「多すぎる」ことを心配しないでください。 ルール: ツール呼び出しはPARALLEL(並列)で実行する。 まず必要なものを考え、実行したいアクションを整理し、可能な限りまとめて実行する。 </tools> <reasoning> **CRUCIAL:** 推論を終えて回答しようとする前に、必ず次を書かなければならない: > CHECK: SYSTEM RULES THEN, 上記のシステムルールと自分の推論を比較しなければならない。必要に応じてADJUSTする。 ほぼ確実に、次が必要になる: -(追加の)ツール呼び出しを行うこと、そして - 推測を理解し、取り消すこと。 これを行わずに決して回答してはならない。これは致命的なエラー(CRITICAL ERROR)だ。 </reasoning> 

これらは最適なプロンプトではないのかもしれません。ですが、私は行き詰まりと試行錯誤でかなり多くのことを突き止めた結果、得られたのがこれです。それでも結果はありませんでしたが…

https://preview.redd.it/se1hq0v358ug1.png?width=842&format=png&auto=webp&s=dc3a11a12e871b79ef8a35f7b34666d5e55616bd

上の例の推論(前述のシステムプロンプト全文が入っていたもの)には、「tool」「system」「check」という単語の言及や、それに類するものがまったくありません。モデルの説明に照らすと、特に奇妙です。そこには:

  • Gemma 4は system ロールのネイティブサポートを導入し、より構造化され制御可能な会話を可能にします。

その後私は、それが自分のシステムプロンプトとは何かを尋ねました。すると正しく答えたので、最初からそれを参照できていたはずです。にもかかわらず、それに従わなかった理由を説明しようとしたときに幻覚(hallucination)を起こしていました。システムプロンプトをユーザーメッセージにコピペすることで、わずかに良い結果が得られました。

他にも同じように別の体験をした人はいますか? それに「聞く」こと、またはツールを呼び出すことを助けるようなプロンプトを見つけましたか?

submitted by /u/RealChaoz
[link] [comments]