콘텐츠로 이동

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 프롬프트

가장 간단한 방법은 "단계별로 생각해주세요"를 추가하는 것입니다.

한 농장에 닭 23마리와 소 17마리가 있습니다.
다리는 총 몇 개입니까?
한 농장에 닭 23마리와 소 17마리가 있습니다.
다리는 총 몇 개입니까?

단계별로 생각해서 답해주세요.

2. 추론 유도 문구들

문구 사용 상황
"단계별로 생각해주세요" 일반적인 문제 해결
"Let's think step by step" 영어 프롬프트
"하나씩 분석해주세요" 복잡한 정보 분석
"논리적으로 추론해주세요" 논리 문제
"과정을 설명하면서 풀어주세요" 수학/과학 문제

3. 구조화된 CoT

더 복잡한 문제에는 명시적인 구조를 제공합니다.

다음 문제를 해결해주세요.

[문제]
회사에서 새로운 마케팅 전략을 선택해야 합니다.
옵션 A: SNS 광고 (비용 500만원, 예상 도달 10만명)
옵션 B: 인플루언서 협업 (비용 800만원, 예상 도달 15만명)
어떤 전략이 더 효율적입니까?

[분석 단계]
1. 각 옵션의 비용 대비 효과 계산
2. 추가 고려 요소 분석
3. 종합 평가
4. 최종 결론

활용 예시

수학 문제

철수는 사과 3개를 가지고 있었습니다.
영희에게 1개를 주고, 가게에서 5개를 더 샀습니다.
그 중 절반을 동생에게 주었습니다.
철수에게 남은 사과는 몇 개입니까?

단계별로 계산해주세요.
단계별로 계산하겠습니다.

1단계: 초기 상태
- 철수의 사과: 3개

2단계: 영희에게 1개 줌
- 3 - 1 = 2개

3단계: 가게에서 5개 구매
- 2 + 5 = 7개

4단계: 절반을 동생에게 줌
- 7 ÷ 2 = 3.5개
- 사과는 쪼갤 수 없으므로, 3개를 주고 4개 남음
  (또는 문제 조건에 따라 3.5개로 계산)

답: 철수에게 남은 사과는 3~4개입니다.

논리 추론

다음 정보를 바탕으로 범인을 추론해주세요.

- 범행 시간: 오후 3시
- A는 오후 2시부터 4시까지 회의 중이었다 (증인 있음)
- B는 오후 3시에 범행 장소 근처에서 목격되었다
- C는 오후 1시에 출장을 떠나 저녁에 돌아왔다 (비행기 티켓 확인)

논리적으로 단계별 추론해주세요.
단계별로 추론하겠습니다.

1단계: 각 용의자의 알리바이 검토

[용의자 A]
- 오후 2시~4시 회의 중
- 범행 시간(3시)에 회의 참석
- 증인이 있어 알리바이 확실
→ 범행 불가능

[용의자 B]
- 오후 3시 범행 장소 근처 목격
- 범행 시간과 장소 모두 일치
- 알리바이 없음
→ 범행 가능

[용의자 C]
- 오후 1시 출장 출발
- 비행기 티켓으로 확인됨
- 범행 시간에 물리적으로 부재
→ 범행 불가능

2단계: 결론
소거법에 의해 용의자 B가 가장 유력합니다.

의사결정

[상황]
스타트업에서 첫 직원을 채용해야 합니다.
- 후보 1: 경력 5년, 연봉 요구 6000만원, 즉시 출근 가능
- 후보 2: 경력 2년, 연봉 요구 4000만원, 1개월 후 출근
- 현재 예산: 월 500만원

[요청]
각 후보의 장단점을 분석하고, 최적의 선택을 추천해주세요.
단계별로 분석해주세요.

Zero-shot CoT vs Few-shot CoT

Zero-shot CoT

예시 없이 "단계별로 생각해주세요"만 추가하는 방식입니다.

Q: 가게에서 사과 3개(개당 500원)와 바나나 5개(개당 300원)를 샀습니다.
   총 얼마를 지불해야 합니까? 단계별로 계산해주세요.

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"