本篇文章更新時間:2026/01/19
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
內容目錄
重複提示:不靠推理也能提升 LLM 表現的意外技巧
副標題:讀《Prompt Repetition Improves Non-Reasoning LLMs》後,我重新思考了「提示工程」的底層邏輯
編輯前言:這篇來自 Google Research 的研究指出,一個幾乎零成本、零技術門檻的做法——把提示重複一次——竟能顯著提升多家主流 LLM(Gemini、GPT、Claude、DeepSeek)的表現。更驚人的是:完全不增加輸出長度與延遲。
本文靈感來源:Prompt Repetition Improves Non-Reasoning LLMs
核心觀點(Key Takeaways)
-
重複提示(Prompt Repetition)可以顯著提高模型在非推理任務上的準確率,且在 70 組測試中 47 組取得顯著勝利、0 組落敗。
-
不會增加延遲或輸出 token,因為重複的部分在 prefill 階段可並行處理。
-
推理模式(step-by-step)下效果趨近中性,因為模型本來就會自動重述題目。
-
深入解析
這篇研究的核心命題其實很簡單:
如果我們把「使用者輸入的提示」直接複製貼上一次,也就是從
[query]變成[query][query],模型居然能更準。
乍看之下很反直覺,因為多數人可能會以為「提示重複」跟增長 token 訓練成本、或產生噪音,但研究指出關鍵原因在於:
大多數 LLM 是因果語言模型(causal LM),前面的 token 無法看到後面的 token。
因此,提示的順序其實會影響模型內部注意力的分布,例如代表性的:
- question-first
- options-first
這兩種表示方式較難兼容,因為模型只能由左往右看。當你把整段提示重複一次,第二輪的 prompt 讓所有 token 都能互相「看到」,等於自然補完了注意力結構。
研究直接點出:「Prompt repetition enables each prompt token to attend to every other prompt token.」
實驗部分則非常徹底,測試 7 個流行模型(Gemini、GPT-4o、Claude、Deepseek 等),涵蓋 7 組 benchmark(ARC、GSM8K、MMLU-Pro、OpenBookQA 等)以及兩組自建資料集(NameIndex、MiddleMatch)。
結果:
- 非推理任務全面提升。
- 小模型也能大幅受益,像 Gemini Flash Lite 在 NameIndex 從 21.33% 直接跳到 97.33%。
- 推理任務提升不明顯,因為「重述題目」本身就是推理模型常見的習慣。
研究也額外比較幾種變體,例如:
- Prompt Repetition ×3
- Verbose Repetition(加一句 Let me repeat that)
- Padding(用 . 補字元到同長度)
結果更凸顯「重複語意內容」本身才是關鍵,因為 Padding 完全沒效果。
筆者心得與啟發
老實說,這篇研究讓我重新檢視「模型好不好」與「提示怎麼寫」之間的關係。我們常以為模型差是因為能力不夠,或是需要更聰明的 prompt engineering。但這篇文章提醒我:
很多效果其實是「結構」問題,而不是「內容」問題。
因果語言模型的限制本質上會造成資訊不對稱(序列前後無法互看),而提示重複正好提供了補償機制。這是個非常「工程化」的 insight,因此能帶來即插即用的效果,也不會破壞輸出格式。
我最有感的一點是這段:
「Prompt repetition might be a good default for many models and tasks when reasoning is not used.」
作為一個經常撰寫提示範本的人,我會開始考慮:
- 為什麼不直接在系統層預設加上第二遍提示?
- 對於無法啟動 CoT 的小模型,這可能是最便宜、最穩定的 buff。
未來應用上,我特別看好兩點:
- KV-cache 優化:研究提到只保留第二次重複可能能進一步省資源,這對部署推理系統非常關鍵。
- 在 multi-turn 對話中的應用:會不會能利用重複上一輪對話來強化模型的「上下文抓取」?非常值得探索。
總而言之,這篇研究把一個看似「笨」的技巧,用紮實實驗做成了有效的最佳化策略。未來提示工程可能會多一個新 default:
如果不是推理任務,試著把提示重複一次吧。
效果可能比你想像中好。
