Chain of Thought (CoT)¶
최종 수정일: 2025-01-15
단계별 추론을 유도하여 AI의 문제 해결 능력을 향상시키는 프롬프팅 기법입니다.
개념 이해¶
Chain of Thought(CoT)는 AI에게 답을 바로 말하지 않고, 생각의 과정을 단계별로 설명하도록 유도하는 기법입니다. 마치 수학 문제를 풀 때 풀이 과정을 적는 것처럼, AI도 추론 과정을 명시적으로 거치면 더 정확한 답을 도출합니다.
왜 효과적인가?¶
일반 프롬프트: "15 + 27 × 3 = ?"
→ AI가 바로 답을 추측 (오류 가능성 높음)
CoT 프롬프트: "15 + 27 × 3 = ? 단계별로 계산해주세요."
→ AI가 과정을 거침:
1) 곱셈 먼저: 27 × 3 = 81
2) 덧셈: 15 + 81 = 96
→ 정확한 답: 96
사용 방법¶
1. 기본 CoT 프롬프트¶
가장 간단한 방법은 "단계별로 생각해주세요"를 추가하는 것입니다.
2. 추론 유도 문구들¶
| 문구 | 사용 상황 |
|---|---|
| "단계별로 생각해주세요" | 일반적인 문제 해결 |
| "Let's think step by step" | 영어 프롬프트 |
| "하나씩 분석해주세요" | 복잡한 정보 분석 |
| "논리적으로 추론해주세요" | 논리 문제 |
| "과정을 설명하면서 풀어주세요" | 수학/과학 문제 |
3. 구조화된 CoT¶
더 복잡한 문제에는 명시적인 구조를 제공합니다.
다음 문제를 해결해주세요.
[문제]
회사에서 새로운 마케팅 전략을 선택해야 합니다.
옵션 A: SNS 광고 (비용 500만원, 예상 도달 10만명)
옵션 B: 인플루언서 협업 (비용 800만원, 예상 도달 15만명)
어떤 전략이 더 효율적입니까?
[분석 단계]
1. 각 옵션의 비용 대비 효과 계산
2. 추가 고려 요소 분석
3. 종합 평가
4. 최종 결론
활용 예시¶
수학 문제¶
논리 추론¶
의사결정¶
[상황]
스타트업에서 첫 직원을 채용해야 합니다.
- 후보 1: 경력 5년, 연봉 요구 6000만원, 즉시 출근 가능
- 후보 2: 경력 2년, 연봉 요구 4000만원, 1개월 후 출근
- 현재 예산: 월 500만원
[요청]
각 후보의 장단점을 분석하고, 최적의 선택을 추천해주세요.
단계별로 분석해주세요.
Zero-shot CoT vs Few-shot CoT¶
Zero-shot CoT¶
예시 없이 "단계별로 생각해주세요"만 추가하는 방식입니다.
Few-shot CoT¶
예시와 함께 추론 과정을 보여주는 방식입니다.
예시 1:
Q: 연필 2자루(자루당 200원)와 지우개 1개(개당 500원)의 총 가격은?
A: 단계별로 계산하겠습니다.
1) 연필 가격: 2 × 200 = 400원
2) 지우개 가격: 1 × 500 = 500원
3) 총 가격: 400 + 500 = 900원
답: 900원
이제 다음 문제를 풀어주세요:
Q: 사과 3개(개당 500원)와 바나나 5개(개당 300원)의 총 가격은?
언제 무엇을 사용할까?
- Zero-shot CoT: 간단한 문제, 빠른 결과 필요 시
- Few-shot CoT: 특정 형식의 답변 필요, 복잡한 추론 시
효과적인 CoT 작성 팁¶
Do's (권장)¶
- 명확한 단계 구분 요청하기
- 중간 결과 확인 요청하기
- 가정과 전제 명시하도록 요청하기
- 복잡한 문제는 하위 문제로 분해하기
Don'ts (주의)¶
- 너무 단순한 문제에 CoT 적용 (오히려 비효율)
- 단계 수를 과도하게 지정 (자연스러운 추론 방해)
- 창의적 작업에 과도한 구조화 (자유로운 발상 제한)
관련 기법¶
| 기법 | 설명 | CoT와의 관계 |
|---|---|---|
| Few-shot Learning | 예시 기반 학습 | CoT와 결합하여 사용 |
| Self-Consistency | 여러 추론 경로로 검증 | CoT 결과의 신뢰도 향상 |
| Tree of Thoughts | 분기형 추론 탐색 | CoT의 확장 버전 |
참고 자료¶
- Wei, J. et al. (2022). "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models"
- Kojima, T. et al. (2022). "Large Language Models are Zero-Shot Reasoners"