Chain-of-thought는 언어 모델이 최종 답변을 내기 전에 중간 추론 단계의 연속을 생성하도록 요청받거나 권장되는 프롬프트 기법으로, 직접 결론으로 건너뛰지 않도록 하는 방식이다. 이 기법은 여러 단계의 산술, 논리, 또는 상식 추론이 필요한 작업에서 정확도를 향상시키며, 2022년에 공식적으로 기술된 이후 Prompt engineering에서 가장 영향력 있는 아이디어 중 하나가 되었다.
기원
이 용어는 2022년 1월 논문 "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models"에서 Google의 Jason Wei와 공동 저자들에 의해 소개되었다. 이 논문은 프롬프트에 최종 답변만이 아닌 추론 단계가 각각 작성된 소수의 작업 예시를 포함하면 수학 단어 문제 및 기타 다단계 작업에서 모델의 성능이 극적으로 향상된다는 것을 보여주었으며, 이는 프롬프트 자체를 통해 적용되는 Few-shot learning의 한 형태였다. 중요한 점은 이 논문이 이러한 이점이 충분히 큰 모델에서만 나타난다고 보고하여, chain-of-thought를 Emergent abilities 및 Scaling laws 논의와 밀접하게 연결했다는 것이다.
제로샷 chain-of-thought
2022년 후반, Takeshi Kojima와 공동 저자들의 별도 논문은 작업 예시가 전혀 없는 질문에 "let's think step by step"이라는 문구를 추가하는 훨씬 간단한 프롬프트가 많은 작업에서 추론 정확도의 유사한 향상을 가져온다는 것을 발견했다. 제로샷 chain-of-thought로 알려진 이 결과는 이점이 엄격하게 few-shot 예시를 요구하지 않는다는 것을 보여주었으며, 단순히 모델에게 답변 전에 추론하도록 지시하는 것만으로도 더 나은 성능을 발휘할 수 있었고, 이는 사전 훈련에서 모델이 이미 가진 능력을 기반으로 한 zero-shot 행동의 사례였다.
메커니즘 및 자기 일관성
연구자들은 chain-of-thought가 도움이 되는 이유에 대해 여러 설명을 제시했는데, 여기에는 답변을 확정하기 전에 모델이 작업할 더 많은 계산 단계를 제공한다는 점, 모델이 In-context learning을 통해 자신의 이전 추론을 추가 컨텍스트로 사용할 수 있게 한다는 점, 그리고 단일 순방향 패스 내에서 오류가 조용히 누적될 가능성을 줄인다는 점이 포함된다. 자기 일관성이라고 불리는 관련 기법은 동일한 질문에 대해 여러 개의 독립적인 추론 체인을 생성하고 그중 가장 흔한 최종 답변을 선택하여 추가 계산 비용으로 정확도를 더욱 향상시킨다.
프롬프트 기법에서 훈련된 행동으로
Chain-of-thought는 단계별 추론을 위해 특별히 훈련되지 않은 모델에 적용되는 프롬프트 전략으로 시작되었지만, 새로운 시스템 클래스의 기초가 되었다. 2024년 OpenAI o1을 시작으로 연구소들은 사용자가 프롬프트를 통해 해당 행동을 요청하는 데 의존하는 대신, 답변 전에 길고 효과적인 추론 체인을 생성하도록 강화 학습으로 모델을 훈련하기 시작했다. 이러한 전환은 reasoning models 범주를 탄생시켰으며, 여기에는 DeepSeek-R1이 포함되고, chain-of-thought를 선택적인 프롬프트 트릭에서 훈련되고 종종 숨겨진 내부 프로세스로 재구성했다. 모델이 수행하는 추론의 양은 Test-time compute라고 불리는 새로운 레버가 되어 추가 추론 시간 비용으로 정확도를 향상시키는 수단이 되었다.