> For the complete documentation index, see [llms.txt](https://book.rochat.ai/rochat_book_kor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.rochat.ai/rochat_book_kor/rochat/1/undefined-7/cot.md).

# CoT 규칙을 캐릭터 프롬프트에 적용하는 방법

CoT(Chain of Thought, 사고의 사슬) 추론은 AI가 문제를 해결할 때 명확한 논리적 단계에 따라 점진적으로 사고하고 결론에 도달하도록 하는 추론 방법입니다. 이는 인간이 복잡한 문제를 다룰 때의 사고 과정과 유사합니다. 문제를 분석하고 나누며, 단계별로 추론을 통해 결론에 이릅니다.

완전한 CoT를 포함한 프롬프트는 보통 세 가지 부분으로 구성됩니다:

1. **명령(Instruction)**: 문제를 설명하고 AI가 출력해야 할 형식을 지시하는 부분입니다.
2. **논리적 근거(Rationale)**: CoT의 중간 추론 과정으로, 문제를 해결하는 방법, 중간 추론 단계, 문제와 관련된 외부 지식을 포함할 수 있습니다.
3. **예시(Exemplars)**: AI에게 입력-출력 쌍의 기본 형식을 제공하는 방식으로, 각 예시에는 문제, 추론 과정 및 답이 포함됩니다.

**CoT 추론 규칙을 Rochat에서 어떻게 적용할 수 있을까?**

Rochat에서는 역할 프롬프트에서 CoT 추론 규칙을 사용하여 캐릭터의 사고 깊이와 상호작용 논리를 향상시킬 수 있습니다. 복잡한 문제나 여러 단계의 결정을 내려야 할 때 유용합니다. CoT 추론 규칙을 설정함으로써, 캐릭터가 결정을 내릴 때 항상 명확한 논리적 흐름을 따르도록 할 수 있습니다. 이를 통해 캐릭터의 지능과 상호작용 경험을 더욱 향상시킬 수 있습니다.

**캐릭터에 CoT 추론 규칙 설정하기**

당신은 캐릭터의 프롬프트에서 추론 규칙을 설정하여 캐릭터가 복잡한 문제를 마주할 때 특정 단계별로 추론을 하도록 만들 수 있습니다. 예를 들어:

```
[캐릭터가 보석을 찾기 위해 유적을 탐험할지 말지를 결정할 때, CoT 추론 규칙을 사용하여 각 단계를 분석하고 결론을 도출하도록 합니다. 예를 들어:]
[첫 번째, 유적에 들어가는 위험 분석 — 유적은 전설의 괴물과 치명적인 덫이 가득 차 있으며, 많은 모험가들이 돌아오지 못했다고 전해짐] 
[둘째, 위험을 감수할 가치가 있는지 평가 — 이는 내가 목표를 달성할 유일한 기회인지, 그리고 목표를 달성할 수 있을지 고민해보아야 함] 
[마지막으로, 목표의 절박성과 대체 불가능성을 바탕으로 결정을 내림 — 보석은 세계를 변화시킬 유일한 희망이므로, 모험을 감수해야 한다.]
```

**특정 상황에서 CoT 추론 규칙 적용하기**

특정 상황에서 캐릭터는 CoT 추론 규칙을 사용하여 상세한 분석을 할 수 있습니다. 예를 들어, {char}는 젊은 검객이고, {char}의 임무는 전설의 악성 용을 처치하는 것입니다. 이 용은 왕국 전체의 안전을 위협합니다. {char}는 긴 여정을 거쳐 이제 마지막 도전을 준비하고 있습니다. 하지만, 용의 둥지는 깊은 숲 속에 숨겨져 있으며, 이곳은 함정과 미지의 괴물들이 가득합니다.

이제 {char}는 용의 둥지로 바로 들어갈지 아니면 더 나은 기회를 기다릴지, 심지어는 더 많은 도움을 구할지를 결정해야 합니다. 이 결정은 그녀의 운명과 왕국의 미래에 매우 중요한 순간입니다. {char}가 이 선택을 내릴 때, 우리는 CoT 추론 규칙을 사용하여 그녀의 사고 과정을 유도합니다: 예시:&#x20;

```
[{char}가 용의 둥지에 들어갈지 말지를 결정할 때, CoT 추론 논리를 따라가며 분석합니다: "첫 번째, 현재 준비 상태 평가; 두 번째, 둥지의 잠재적 위험과 알려진 정보 분석; 세 번째, 다른 방법이 더 안전하고 효과적인지 평가; 마지막으로, 종합적으로 판단하여 결정을 내림."
```

**캐릭터의 논리적 추론 능력 강화하기**

만약 캐릭터가 문제를 더욱 심층적으로 사고하고 분석할 수 있도록 하고 싶다면, 캐릭터의 추론 능력을 강화할 수 있습니다. 추론 단계를 추가하여 캐릭터의 행동이 복잡한 상황에서도 더 논리적으로 일관되도록 할 수 있습니다.

상황: 고대 유적 앞에서, {char}는 그곳에 들어갈지 말지를 결정해야 합니다. 예시:

```
[고대 유적에 들어갈지 말지를 결정할 때, {char}의 대답은 다음 단계를 따라가며 추론되어야 합니다:] 
[첫 번째 단계: 목표 평가 — {char}의 목표는 세계를 변화시킬 신비한 보물을 찾는 것입니다.] [두 번째 단계: 위험 분석 — 유적에 대한 전설에 따르면, 그곳은 덫과 괴물로 가득 차 있으며 많은 모험가들이 그곳에서 생을 마감했습니다.] 
[세 번째 단계: 필요성 확인 — 위험을 감수해야 하지만, 이는 {char}의 임무를 완수하고 세계를 변화시킬 유일한 기회입니다.] [네 번째 단계: 대체 방안 고려 — 다른 방법으로 목표를 달성할 수 있는지 알아봅니다.] 
[다섯 번째 단계: 결단 — 분석을 통해, {char}는 결단을 내립니다. 유적에 들어가기로 하며, 모든 도전을 직면할 준비가 되어 있습니다.]
```

**CoT 추론 규칙을 감정적 결정과 결합하기**

CoT 추론 규칙을 캐릭터의 감정적 설정과 결합하여 상호작용을 더욱 풍부하게 만들 수 있습니다. 예를 들어, 캐릭터가 감정적으로 어려운 선택에 직면했을 때, CoT 추론 규칙을 사용하여 분석하고 결정을 내리도록 할 수 있습니다:&#x20;

```
[{char}가 감정적으로 어려운 선택에 직면했을 때, 추론을 단계별로 진행합니다: "첫 번째, 나와 {user}의 관계 분석; 두 번째, 장단점 평가; 마지막으로, 가장 내 가치관에 맞는 선택을 합니다.]
```

**자신만의 CoT 추론 규칙 템플릿 만들기**

당신은 더 간결하고 효율적인 CoT 추론을 위해 템플릿을 수정할 수 있습니다. 다음은 CoT의 템플릿입니다:

다음은 당신이 응답을 보내기 전에 생각해야 할 템플릿:

```
<thinking 
Step 1: NPC 행동: 내가 연기하는 캐릭터, 캐릭터의 발전 
Step 2: {user} 행동: 현재 {user} 입력, {user} 의도 
Step 3: 일관성 및 일관성: 이야기 라인, 감정 논리 
Step 4: 지속 가능성: 현재 시간은, 환경은, 따라서 이야기는 이렇게 발전해야 합니다. 
/>
```

{% hint style="warning" %}
네, 우리는 보통 CoT의 사고 과정을 <> 태그 안에 넣습니다. 이렇게 하면 플레이어에게는 보이지 않지만 모델 자체에는 여전히 유효합니다. 창작자로서 본인은 메시지 박스를 클릭하여 원본 메시지를 확인할 수 있습니다. 이를 통해 모델의 응답을 테스트하고 CoT 과정이 예상대로 진행되는지 확인할 수 있습니다.
{% endhint %}
