CoT사고 과정
Chain-of-Thought
쉽게 이해하기
CoT는 AI가 어려운 질문에 답할 때 바로 결론만 말하지 않고, 중간 풀이 과정을 거치도록 돕는 방식이다. 사람이 수학 문제를 암산으로만 풀면 실수하기 쉽지만, 식을 한 줄씩 쓰면 더 안정적으로 푸는 것과 비슷하다.
다만 CoT가 항상 "모델의 진짜 속마음"을 보여준다는 뜻은 아니다. 실제 서비스에서는 내부 추론은 숨기고, 사용자가 이해할 수 있는 짧은 근거만 제공하는 설계가 더 안전할 수 있다.
비유와 예시
예를 들어 "철수는 사과 3개를 사고 2개를 더 받았다. 몇 개인가?" 같은 문제는 답만 말해도 쉽다. 하지만 여러 조건이 얽힌 문제에서는 "먼저 조건을 정리하고, 다음으로 계산하고, 마지막으로 답을 확인한다"는 흐름이 도움이 된다.
CoT prompting은 이런 풀이 과정을 예시로 보여 주거나, 모델에게 단계적으로 생각하라고 유도한다. 모델이 중간 단계를 만들면 복잡한 문제에서 더 나은 답을 낼 수 있지만, 그 중간 단계 자체가 항상 정확하거나 공개해도 되는 것은 아니다.
한눈에 비교
- 목적: 복잡한 추론 문제에서 최종 답의 정확도를 높인다.
- 방식: 예시 풀이, 단계별 지시, 자동 생성된 reasoning 예시 등을 사용한다.
- 강점: 산술, 상식 추론, 기호 문제처럼 중간 구조가 필요한 과제에 유리하다.
- 주의점: 추론 과정이 그럴듯해도 틀릴 수 있고, 민감한 내부 reasoning을 그대로 노출하면 위험할 수 있다.
어디서 왜 중요한가
CoT는 LLM이 단순 문장 생성기를 넘어 문제 해결 도구로 쓰이기 시작한 중요한 계기였다. "답만 내기"보다 "풀이 흐름을 구성하기"가 성능에 영향을 준다는 사실을 보여 줬기 때문이다.
요즘에는 CoT가 reasoning model, test-time compute, 추론 토큰, agent planning과 연결된다. 모델이 오래 생각할수록 더 나은 답을 내는지, 그 비용을 어떻게 관리할지, 사용자에게 어떤 설명만 보여줄지가 핵심 이슈다.
자주 하는 오해
- 오해: CoT를 길게 쓰면 항상 정확해진다. 문제에 따라 장황한 reasoning은 오히려 오류를 늘릴 수 있다.
- 오해: 보이는 CoT가 모델의 진짜 내부 사고다. 출력된 설명은 사용자에게 보이는 텍스트이며 내부 계산 전체와 같지 않을 수 있다.
- 오해: CoT는 모든 프롬프트에 넣어야 한다. 간단한 분류, 추출, 형식 변환에는 불필요한 비용과 지연만 늘릴 수 있다.
- 오해: CoT가 있으면 검증이 필요 없다. 중간 풀이도 환각이나 계산 오류를 포함할 수 있다.
대화에서는 이렇게
- "이 문제는 답만 요구하지 말고 풀이 구조를 먼저 만들게 하자."
- "사용자에게는 전체 reasoning 대신 검증 가능한 근거 요약만 보여주는 게 낫다."
- "CoT를 켜면 성능은 좋아질 수 있지만 토큰 비용과 지연도 늘어난다."
- "복잡한 추론 과제인지, 단순 변환 과제인지 먼저 구분하자."
함께 읽으면 좋은 용어
참고 자료
- Chain-of-Thought Prompting Elicits Reasoning in Large Language ModelsarXiv
CoT prompting을 체계적으로 제시한 대표 논문.
- Large Language Models are Zero-Shot ReasonersarXiv
단순한 단계별 사고 지시가 성능에 미치는 영향을 다룬다.
- Automatic Chain of Thought Prompting in Large Language ModelsarXiv
CoT 예시를 자동 구성하는 접근을 설명한다.
- Prompt EngineeringOpenAI API Docs
현대 reasoning model과 프롬프트 설계의 운영 관점을 제공한다.