Chain-of-Thought(CoT) 프롬프팅은 2022년 Google Brain이 발표한 LLM 추론 능력 향상 기법이다. 문제의 답을 바로 요구하는 대신 단계별 추론 과정을 보여주거나 요청함으로써 복잡한 수학, 논리 문제에서 성능을 크게 향상시킨다.
기본 원리
# 표준 프롬프팅
Q: 사과 5개에 3개 더하면?
A: 8개
# CoT 프롬프팅
Q: 사과 5개에 3개 더하면? 단계별로 설명해.
A: 처음 5개 → 3개 추가 → 총 5+3=8개
CoT 유형
python
# 1. Few-shot CoT (예시 제공)
few_shot_prompt = """
Q: 철수는 15개의 공을 갖고 있다. 영희에게 7개를 주면?
A: 철수는 15개를 갖고 있다. 7개를 주면 15-7=8개가 남는다. 답: 8개
Q: 버스에 25명이 있다. 10명이 내리고 5명이 탔다. 몇 명?
A:""" # 모델이 추론 과정을 따라 함
# 2. Zero-shot CoT
zero_shot_prompt = "문제를 단계별로 생각해보자. (Let's think step by step)"
# 3. Self-Consistency CoT
def self_consistency(question, model, n_samples=10):
answers = [model.generate(question + " 단계별로 설명해.") for _ in range(n_samples)]
# 다수결로 최종 답 선택
return most_common(extract_answers(answers))
성능 개선 효과
| 작업 유형 | 표준 | CoT | 향상 |
|---|
| 수학 추론 | 17.9% | 56.9% | +218% |
| 상식 추론 | 73.9% | 78.9% | +7% |
| 기호 추론 | 53.8% | 79.5% | +48% |
(GPT-3 기준, 단위: 정확도)
최신 발전
- •Tree of Thought (ToT): 여러 추론 경로를 트리로 탐색
- •Graph of Thought: 비선형 추론 그래프
- •Program-of-Thought: 코드로 추론 과정 표현
- •ReAct: 추론 + 행동(도구 사용) 결합
관련 개념