為什麼要讓 Claude 思考?

想像一下,如果你被叫醒後立即被要求回答一系列複雜的問題。如果你先花一些時間思考答案,你的表現可能會更好,對吧?這同樣適用於 Claude!

在回應之前允許 Claude 推理問題可以帶來更準確和智能的輸出,特別是對於多面向或具有挑戰性的查詢。通過明確指示 Claude 逐步思考,你鼓勵採用更有條理和徹底的解決問題方法。

此外,檢查 Claude 的思考過程對於故障排除和識別提示指令可能不清楚或容易被誤解的區域非常有價值。

重要的是要注意,沒有輸出就不可能發生思考!Claude 必須輸出其思考才能真正「思考」。


如何提示逐步思考

鼓勵逐步思考的最簡單方法是在提示中包含「逐步思考」這個短語。例如:

角色內容
用戶《大白鯊》和《007:皇家賭場》的導演是否來自同一個國家?請逐步思考。

然後,Claude 會在提供最終答案之前分解其思考過程:

角色內容
Assistant (Claude 的回應)為了確定電影《大白鯊》和《007:皇家賭場》的導演是否來自同一個國家,讓我們分步驟來分析:

步驟 1:確定電影《大白鯊》的導演。
《大白鯊》的導演是史蒂文·斯皮爾伯格。

步驟 2:確定史蒂文·斯皮爾伯格的原籍國。
史蒂文·斯皮爾伯格出生於美國俄亥俄州辛辛那提。

步驟 3:確定電影《007:皇家賭場》的導演。
2006 年電影《007:皇家賭場》的導演是馬丁·坎貝爾。

步驟 4:確定馬丁·坎貝爾的原籍國。
馬丁·坎貝爾出生於新西蘭黑斯廷斯。

步驟 5:比較兩位導演的原籍國。
史蒂文·斯皮爾伯格來自美國,而馬丁·坎貝爾來自新西蘭。

因此,《大白鯊》和《007:皇家賭場》的導演不是來自同一個國家。

對於更複雜的查詢,你可以通過指定 Claude 應採取的步驟來引導其思考。這裡有一個例子:

角色內容
用戶使用以下線索回答下面的多項選擇題,並按照以下步驟進行:
1. 逐一檢查線索,考慮每個線索是否可能相關
2. 結合相關線索推理出問題的答案
3. 將答案映射到多項選擇選項之一:(a)、(b) 或 (c)

線索:
1. Scarlett 小姐是休息室裡唯一的人。
2. 拿著煙斗的人在廚房裡。
3. Mustard 上校是天文台裡唯一的人。
4. Plum 教授不在圖書館也不在撞球室。
5. 拿著燭台的人在天文台。

問題:Mustard 上校是否拿著燭台在天文台?
(a) 是的;Mustard 上校拿著燭台在天文台
(b) 不是;Mustard 上校沒有拿著燭台在天文台
(c) 未知;沒有足夠的信息來確定 Mustard 上校是否拿著燭台在天文台

通過概述清晰的思考過程,你可以幫助 Claude 將其推理集中在最相關的信息上,並確保它考慮所有必要的因素以在給定任務中表現良好。


捕捉 Claude 的思考過程

為了更容易將 Claude 的逐步推理與其最終回應分開,可以考慮使用 XML 標籤,如 <thinking><answer>。你可以指示 Claude 將其思考過程放在 <thinking> 標籤內,將其最終答案放在 <answer> 標籤內。

這是一個使用此方法的示例提示:

角色內容
用戶[提示的其餘部分] 在回答問題之前,請在 <thinking></thinking> 標籤內逐步思考。然後,在 <answer></answer> 標籤內提供你的最終答案。

你甚至可以在 Assistant 角色中預填 <thinking> 標籤,以指導 Claude 從哪裡開始:

角色內容
Assistant (預填)<thinking>

然後,Claude 將在標籤內完成其思考過程並提供其最終答案:

角色內容
Assistant (Claude 的回應)[逐步推理問題]
</thinking>

<answer>[最終答案]</answer>

使用標籤可以在後處理期間輕鬆地僅提取 <answer></answer> 標籤內的最終答案(如果需要)。


一些注意事項

雖然鼓勵逐步思考可以大大增強 Claude 的回應,但請記住以下幾點:

  • 除非允許 Claude 輸出其思考過程,否則不會發生思考。沒有辦法讓 Claude 私下思考並只返回最終答案。
  • 提示逐步推理會增加 Claude 輸出的長度,這可能會影響延遲。在決定是否使用此技術時,請考慮這種權衡。

其他資源

  • 提示工程技術:探索其他優化提示和增強 Claude 性能的策略。
  • Anthropic 食譜:瀏覽 Jupyter 筆記本集合,其中包含可複製的代碼片段,展示使用 Claude 的高效和高級技術、集成和實現。
  • 提示庫:從精選的各種任務和用例提示中獲得靈感。