# 如何在角色提示中運用 CoT？

## **CoT 推理規則是什麼？**

CoT（Chain of Thought，思維鏈推理）是一種推理方法，它要求 AI 在回答問題時按照明確的邏輯步驟進行逐步思考，從而得出結論。這種推理方式類似於人類在面對覆雜問題時的思維過程：先進行分析，拆解問題，再逐步推理到最後的答案。

一個完整的包含 CoT 的 Prompt 往往由指令(Instruction)，邏輯依據(Rationale)，示例(Exemplars)三部分組成。&#x20;

* **指令：**&#x7528;於描述問題並且告知大模型的輸出格式。
* **邏輯依據：**&#x6307; CoT 的中間推理過程，可以包含問題的解決方案、中間推理步驟以及與問題相關的任何外部知識。
* **示例**：指以少樣本的方式為大模型提供輸入輸出對的基本格式，每一個示例都包含：問題，推理過程與答案。

## **如何将 CoT 推理规则应用到 Rochat 上？**

在 Rochat 中，我們可以在描寫**角色提示**中利用 CoT 推理規則來提升角色的思維深度和互動邏輯，特別是當涉及到覆雜問題或需要多步驟決策時。通過設置 CoT 推理規則，用戶能夠確保角色在做出決策時，始終按照明確的邏輯流程進行思考，從而提高角色的智能化和互動體驗。

1. **为角色设定 CoT 推理规则**

你可以在角色提示中為角色設定推理規則，確保角色在面對覆雜問題時，按照特定的步驟展開推理。例如：

```
[当{char}面临是否继续深入遗迹寻找宝石的决策时，使用 CoT 推理规则，逐步拆解每一步推理并给出结论。例如：]
[首先，分析进入遗迹的风险——遗迹充满了传说中的怪物和致命陷阱，很多冒险者未能成功归来]
[其次，评估是否值得冒险——我必须考虑这是否是完成任务的唯一机会，是否能达成我的目标。]
[最后，根据目标的迫切性和不可替代性做出决定——宝石是改变世界的唯一希望，我必须冒险。]

```

2. **在情境中应用 CoT 推理规则**

在特定的情境下，角色可以运用 CoT 推理规则进行详细的分析。例如，{char}是一個年輕的劍士，{char}的任務是去擊敗一個傳說中的惡龍，這條惡龍威脅著整個王國的安全。{char}已經走過漫長的旅程，準備迎接這一最終的挑戰。但是，惡龍的巢穴隱藏在一片幽深的森林中，且這個地方充滿了陷阱和未知的怪物。

在進入這片危險的森林之前，{char}必須作出決定：是立即進入惡龍的巢穴，還是等待更好的機會，甚至是尋求更多的幫助。這個決定對她的命運以及整個王國的未來至關重要。當{char}面臨是否立即進入惡龍巢穴的抉擇時，我們使用 CoT 推理規則來引導她的思維過程：举例：

```
[當{char}在決定是否進入惡龍巢穴時，{char}會使用 COT 推理邏輯逐步分析：“第一步，評估當前的準備狀態；第二步，分析巢穴的潛在危險與已知信息；第三步，評估是否有其他方式更安全且有效；最後，綜合判斷，做出決定。”]
```

3. **强化角色的逻辑推理能力**

如果你希望角色能够更深入地思考和分析问题，可以进一步强化角色的推理能力，加入更多层次的推理步骤，让角色的行为更符合复杂情境下的逻辑。

**情境：** 在一个危险的古老遗迹前，{char}必须决定是否进入探索。例如：

```
[當面對是否進入古老遺跡的決定時，{char}的回答應當按照以下步驟推理：]
[第一步：評估目標：{char}的目標是找到改變世界的神秘寶物。]
[第二步：分析風險：遺跡中有傳言說充滿陷阱和怪物，歷史上無數冒險者在此喪命。]
[第三步：確認必要性：雖然危險，但這是{char}完成使命並改變世界的唯一機會。]
[第四步：考慮備選方案：是否有其他路徑或方法能夠達到目標？]
[第五步：做出決定：基於分析，{char}選擇冒險進入遺跡，帶著堅定的決心並準備好面對任何挑戰。]
```

4. **结合** CoT **推理规则进行情感决策**

你还可以将 CoT 推理规则结合角色的情感设定，进一步丰富互动体验。例如，角色在面对情感冲突或两难选择时，可以按照 CoT 推理规则进行分析和决策：

```
[当{char}面对情感上的两难选择时，会逐步拆解：“第一步，分析我与{user}的关系；第二步，权衡利弊；最后，决定做出最符合自己价值观的选择。”]
```

如果你想要自定義更精簡高效的 CoT，推薦以這個 CoT 為模板進行修改：

```
以下是你在回覆前需要思考的模板：  

<thinking 
Step 1: NPC 行為: 扮演的誰，角色發展
Step 2: {user}行为：当前{user}输入，{user}意图
Step 3: 一致性与连贯性：故事線，情感邏輯
Step 4: 可持续性：当前时间是，环境是，因此情节发展应为  
/>

該模板以 <thinking 開頭，以 /> 結尾。模板中提到了你在回覆前需要確認的步驟。
```

當你使用該模板時，角色回覆將會進行 thinking，這些 thinking 過程對玩家不可見。Thinking 結束後才開始進入角色扮演。



{% hint style="warning" %}
**是的，我們通常把 CoT 的思考過程放在 <> 標籤中，這樣對於玩家即不可見，但是對模型本身仍然有效。作為創作者本人，可以通過點擊消息框查看原始消息。從而對模型的回覆進行測試，確認 CoT 的過程是否符合預期。**
{% endhint %}
