---
# System prepended metadata

title: 提示工程技巧統整：從Thinking Claude看如何優化模型思維與回答
tags: [提示工程]

---

# 提示工程技巧統整：從Thinking Claude看如何優化模型思維與回答

約兩個月前，一個名叫 Thinking Claude 的 System Prompt竄紅，目前在Github上的星星數高達了13.4k(對比一下，llama3的Github為27.9k)，原因為其對於可以輸出Claude的思考流程，類似於GPT-o1的行為，並且能達成許多原先無法做到的任務。儘管對於其是否能讓claude 3.5接近o1的性能有待驗證。但其中也依然有許多我們可以學習的地方，包含了多個提示工程技術(Prompt Engineering)的結合與運用，以及Prompt設計的小技巧，以下將整理它所展示的關鍵概念、優點與可學習之處。

<figure style="text-align: center;">
  <img src="https://hackmd.io/_uploads/rkiDq97vkg.png" alt="描述文字">
  <figcaption style="font-size: small; font-style: italic;">Thinking-Claude的github庫</figcaption>
</figure>

關於完整的Prompt大家可以點進這個Github連結進去看:
[連結(進去後點選model_instructions資料夾內即可看到各個版本的prompt)](https://github.com/richards199999/Thinking-Claude.git)


---

## 1. 多步驟思考與分階段推理

### 1.1 拆解式思維框架
整個 prompt 將「思考過程」切分成多個階段（如 initial_engagement、problem_analysis、multiple_hypotheses_generation… 等），讓模型在回答之前循序漸進地完成不同任務：
- **先理解問題**  
- **再分析可能解決路徑**  
- **最後驗證與輸出**  

**優點**：
1. 能幫助模型更有條理地產生想法，降低「一段文字一氣呵成」的混亂度。  
2. 讓模型在思考過程中更容易發現不一致或漏洞，並主動修正。

### 1.2 Chain-of-Thought (CoT) 思維鏈
雖然沒有直接標示「CoT」，但從 prompt 的結構可看出連續、循序推理的痕跡。它引導模型「逐步解題、逐段推敲」，這本質上就是 **CoT** 的概念：  
- 在回答前先理出思路，再產出最終結論。  
- 提升複雜問答的準確度。
<figure style="text-align: center;">
  <img src="https://hackmd.io/_uploads/BJtvr27PJe.png" alt="描述文字">
  <figcaption style="font-size: small; font-style: italic;">思維鏈與少樣本提示詞的比對範例</figcaption>
</figure>



>注意: 在應用思維鏈時，需要先行了解對於該問題的邏輯推理流程，以及如何將該問題拆分成小問題，如果流程編寫錯誤的話，反而會對模型造成誤導。
---

## 2. 自我檢查 (Self-Consistency)

Self-Consistency 方法從語言模型中提取多條不同的推理路徑，從而生成多種可能的思維鏈。然後，通過綜合這些思維鏈來尋找最可能的答案。此策略建立在一個觀點之上：**那些需要深度分析的困難問題通常具有更多的推理方式，從而增加找到正確答案的可能性。**

<figure style="text-align: center;">
  <img src="https://hackmd.io/_uploads/Bye8GnmwJx.png" alt="描述文字">
  <figcaption style="font-size: small; font-style: italic;">Self-Consistency方法包含三個步驟：(1) 使用思維鏈 (Chain-of-Thought, CoT) 提示來提示語言模型；(2) 將 CoT 提示中的「貪婪解碼」替換為從語言模型的解碼器中採樣，以生成多樣化的推理路徑；(3) 對推理路徑進行邊緣化處理，並通過選擇最一致的答案來聚合最終的答案集。</figcaption>
</figure>

將這段敘述用簡單點解釋就是，加入一些推理範例和多次的輸出採取出現次數最高的解答。那在這個 Thinking Claude 的 Prompt 設計中，也加入了許多的思考流程輸出範例，引導模型在產生結果的同時，進行「邏輯一致性」的檢查。例如：  
- 反覆檢驗自己的假設（testing_and_verification）  
- 發現矛盾後調整思維（error_recognition_correction）  

幫助減少模型的幻覺（hallucination）以及產生錯誤答案的可能性。這與 **Self-Consistency** 的技術類似。多次嘗試推理路徑，選取最合理的解答。  




---

## 3. 思考流程（Thinking）與最終回答（Response）分離

Prompt 特別指示模型要將思考內容與最終回覆分開，將Inner Monologue(自我溝通)做隱藏。  
- **思考過程**：僅供模型在「腦內」推敲，不直接顯示給使用者。  
- **最終答案**：條理清晰地呈現給用戶。

**好處**：
1. 讓模型能自由試錯、調整思路，最後再將反覆思考後**思維方式**輸出給使用者。  
2. 用戶能得到更精煉、條理的回答。


> **注意:** 雖然提示詞中要求模型「對思路做調整和發現矛盾後調整思維」，但實際上模型在生成時並不會對**已經生成的內容**做任何的調整。他不會因為覺得前面的內容是錯的，於是就把整個生成的內容全部打掉重練(當然，在系統的設計上是可以簡單的達成這件事情，但這邊就不是我們主要探討的內容了)。不過這句話還是有它的價值在的。因為他能引導模型仔細地進行思考，並且在多次的對話當中，能對先前的思考內容做出調整。

---

## 4. 對話式與人性化引導

在 `<natural_discovery_flow>` 與 `<authentic_thought_flow>` 等段落，看得出它要求模型用自然口吻自我對話，如「Hmm... let me think...」，並逐步記錄想法遞進。  
- **這種對話式思考** 能讓回答更貼近日常交流，若在產品中，需要較「擬人化」的模型互動，頗具參考價值。

---


## 5. Prompt 設計理念與學習重點

1. **多階段提示**  
   - 在提示中建立一整套「從理解到驗證」的流程化框架，而非一次性給出所有指令。  
   - 模型收到指令後就能依照分階段流程思考，減少答非所問、跳步等情況。  

2. **強調驗證、誤差修正**  
   - 給模型空間多次檢查自己的推論，並嘗試「修正」先前的錯誤假設。  
   - 大型模型容易受先入為主或上下文偏誤影響，這種多次驗證能大幅降低失誤。  

3. **清晰區隔「思考」與「最終輸出」**  
   - 能避免模型把雜亂的過程直接呈現給用戶，也避免外界對模型中間結論的誤解。  
   - 如果需要提供「解題過程」的可解釋性，可以在部分情境下有選擇地展示，但依賴同樣的基礎架構。  

4. **人性化與偵探式的語氣**  
   - 使用更貼近人類思維的語助詞，能讓答案更生動，但要注意場景是否合適。  
   - 在商業應用中，有些領域可能需要更正式的語氣，就可依需求調整對話風格。  

---

## 6. 如何透過這個 Prompt 概念，提升自己的 Prompt Writing

1. **導入多階段思路**  
   - 給模型下指令時，先明確列出「理解問題 → 拆解需求 → 建立假設 → 驗證 → 輸出」等階段。  
   - 避免讓模型只進行單次直接回答，提高它思考深度。  

補充: 在寫Prompt時要思考，並且建議可以使用html或是markdown語法做分級分層。
```
# 任務內容
# 情境
# 角色
# 流程
# 預期成果
# 目的
# 輸入與輸出範例
```


2. **插入驗證步驟**  
   - 在提示中鼓勵模型檢查矛盾、檢視多種路徑，如「請確定答案是否自洽，如果發現錯誤請修正」。  
   - 有助於在應用中減少簡單出錯。  

3. **思考/回答分離**  
   - 適用在需要「簡潔回答」給用戶的場景，但背後仍要做嚴謹推理。  
   - 若要展示中間推理，可考慮只展示精華版，而非全部流程。  

4. **善用語氣與風格**  
   - 若產品定位是「聊天機器人」或「教學助理」，可加強對話式思維引導；  
   - 若是商務、法務等嚴肅場合，則可調整提示內容更正式或高度結構化。  

---

## 7. 結論

這份 Prompt 展現了**引導大型語言模型進行多階段、深度思考**的典範；  
其核心要點包含：
- **Chain-of-Thought 思路**  
- **自我一致性檢查**  
- **隱藏的思考區與公開的最終答案**  
- **口語化與偵探式引導**  

若想加強自己在提示工程上的能力，可以參考該 Prompt 的分段架構與思維模式，並根據自身需求做裁減或調整。通過將「先思考，後輸出」的理念有效落實在 Prompt 中，可顯著提升大型語言模型在複雜任務上的表現與邏輯嚴謹度，也同時為使用者帶來更高的可用性與信賴感。


## 參考文獻與資料：


Jason Wei et al. (2023). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.

Xuezhi Wang et al. (2023). Self-Consistency Improves Chain of Thought Reasoning in Language Models.

Richards Tu (2024). Thinking-Claude
[GitHub連結](https://github.com/richards199999/Thinking-Claude)
