02-CoT-변종들
02. CoT의 변종들
섹션 제목: “02. CoT의 변종들”Self-Consistency (Wang et al., 2022)
섹션 제목: “Self-Consistency (Wang et al., 2022)”CoT 한 번이 아니라 여러 번 샘플링한 뒤 다수결을 취한다.
- 같은 프롬프트를 N번(5~40회) 호출
- 각 호출은 서로 다른 추론 경로를 따름 (temperature > 0)
- 최종 답을 다수결로 선택
이 단순한 수정이 GSM8K 등에서 single-pass CoT보다 의미 있는 향상을 만든다. 비용은 N배지만, 한 번 풀면 끝나는 high-stakes 문제에 적합하다.
Tree of Thoughts (Yao et al., 2023)
섹션 제목: “Tree of Thoughts (Yao et al., 2023)”CoT를 트리 탐색으로 확장한다.
- 각 단계에서 여러 후보 사고를 만든다
- 각 후보를 평가(self-evaluation)하고 점수를 매긴다
- BFS / DFS로 가장 유망한 가지만 확장한다
- 막히면 백트래킹
ToT는 계획·게임·창작처럼 탐색이 본질인 문제에 강하다. 계산 비용이 가장 크다.
ReAct — Reasoning + Acting (Yao et al., 2022)
섹션 제목: “ReAct — Reasoning + Acting (Yao et al., 2022)”CoT는 머릿속에서만 추론한다. ReAct는 추론 사이사이에 외부 도구 호출을 끼워 넣는다.
Thought: 사용자가 환율을 묻고 있다. 오늘 환율을 모른다.Action: search("KRW USD exchange rate today")Observation: 1 USD = 1340 KRWThought: 100 USD는 134,000 KRW다.Answer: 134,000원입니다.ReAct는 오늘날의 에이전트 패턴의 직접적 조상이다. Claude Code의 도구 사용 루프, OMC sub-agent 호출, MCP 도구 등이 모두 ReAct의 운영판이다.
어떤 변종을 언제 쓰는가
섹션 제목: “어떤 변종을 언제 쓰는가”| 변종 | 비용 | 적합한 문제 |
|---|---|---|
| Zero-shot CoT | 1x | 일반적인 추론, 첫 시도 |
| Few-shot CoT | 1x + 예시 토큰 | 도메인 특화 추론(법률·의료·코드) |
| Self-Consistency | Nx | 정답이 하나인 high-stakes 산술/논리 |
| Tree of Thoughts | 매우 큼 | 게임·계획·창작 탐색 |
| ReAct | 가변 | 외부 정보·실행이 필요한 모든 작업 |
”사고를 숨겨라” — 출력 분리
섹션 제목: “”사고를 숨겨라” — 출력 분리”사고 사슬이 사용자에게 노출되는 것이 부적절한 경우도 많다(산업용 챗봇·UX). 두 가지 방법:
방법 1 — XML 분리
섹션 제목: “방법 1 — XML 분리”<thinking>... 모델의 사고 과정 ...</thinking>
<answer>... 사용자에게 보일 답 ...</answer>호출 코드에서 <thinking> 블록을 제거하고 <answer>만 노출한다.
방법 2 — Extended Thinking
섹션 제목: “방법 2 — Extended Thinking”Claude의 extended thinking은 사고 토큰을 별도 채널로 처리한다. 호출자가 명시적으로 가져오지 않는 한 사용자에게 노출되지 않는다.
두 방법 모두 핵심은 사고와 최종 출력의 분리다.