사고연쇄 프롬프팅 (Chain-of-Thought Prompting)

컴퓨터과학·AI
한 줄 정의: 언어 모델에게 답만 바로 요구하지 않고 "단계별로 풀이 과정을 써가며" 답하도록 유도하는 프롬프트 기법입니다.

쉽게 풀면

수학 시험에서 답만 쓰면 틀리기 쉽지만, 풀이 과정을 한 줄씩 적으면서 풀면 실수를 줄일 수 있습니다. 사고연쇄 프롬프팅은 언어 모델에게도 이런 방식을 강제하는 것입니다. "정답만 말해줘" 대신 "차근차근 단계별로 생각한 후 답을 말해줘"라고 요청하거나, 문제와 함께 단계별 풀이 예시를 몇 개 보여주면 모델이 중간 추론 과정을 스스로 생성한 뒤 최종 답을 냅니다. 신기하게도 이렇게 중간 과정을 글로 풀어내게 하는 것만으로도 복잡한 산술 문제나 논리 문제의 정답률이 크게 올라갑니다.

왜 중요한가

대규모 언어 모델은 파라미터 수만 늘린다고 추론 능력이 저절로 좋아지지 않는데, 사고연쇄 프롬프팅은 별도의 추가 학습이나 모델 구조 변경 없이 프롬프트 작성 방식만 바꿔서 추론 성능을 끌어올릴 수 있다는 점에서 주목받았습니다. 이 때문에 프롬프트 엔지니어링, 퓨샷 러닝, 인컨텍스트 러닝 연구 전반에서 기본 비교 기법(baseline)으로 널리 인용됩니다. 또한 이후 등장한 자기일관성(self-consistency), 트리 오브 소트(tree-of-thought) 같은 여러 추론 기법 연구의 출발점이 되었고, 실무에서도 복잡한 질의응답이나 코드 생성 시스템의 프롬프트 설계에 그대로 응용됩니다.

논문에서는 이렇게 쓰입니다

"사고연쇄 프롬프팅(chain-of-thought prompting)을 적용한 결과, 다단계 산술 추론 벤치마크에서 기존 프롬프트 대비 정확도가 큰 폭으로 향상되었다."

이 문장은 "모델에게 풀이 과정을 단계별로 쓰도록 유도했더니, 여러 단계를 거쳐야 하는 문제에서 정답률이 눈에 띄게 좋아졌다"는 뜻입니다.

"본 연구에서는 코드 생성 과제에 사고연쇄 프롬프팅을 도입하여, 모델이 함수 구현 전에 알고리즘 설계 단계를 먼저 서술하도록 유도했다."

정답 코드를 곧바로 생성하게 하는 대신, 어떤 순서로 문제를 풀지 먼저 말로 설계하게 한 뒤 코드를 작성하도록 했다는 의미입니다.

"제로샷 사고연쇄(zero-shot chain-of-thought) 설정에서 별도의 예시 없이 '단계별로 생각해보자'라는 지시문만 추가했음에도 상식 추론 과제의 성능이 개선되었다."

구체적인 풀이 예시를 보여주지 않고 "차근차근 생각해보자"라는 문구만 덧붙였는데도, 상식적인 판단이 필요한 문제에서 성능이 좋아졌다는 뜻입니다.

조금 더 깊게 보면

사고연쇄 프롬프팅은 크게 예시 기반(few-shot) 방식과 지시문만 추가하는 제로샷 방식으로 나뉘며, 두 방식 모두 모델이 최종 답 이전에 중간 추론 텍스트를 생성하도록 유도한다는 공통점이 있습니다. 이와 관련해 자기일관성(self-consistency)은 같은 문제에 대해 여러 개의 사고연쇄 풀이를 생성한 뒤 가장 많이 나온 답을 최종 답으로 선택하는 방식으로, 단일 풀이보다 더 안정적인 결과를 얻기 위해 함께 쓰이는 경우가 많습니다. 성능 평가는 대체로 수학·논리·상식 추론 벤치마크에서의 정답률로 이루어지며, 모델 크기가 어느 정도 이상일 때 이 기법의 효과가 두드러진다는 관찰도 자주 언급됩니다.

주의할 점

사고연쇄 프롬프팅으로 만들어진 풀이 과정이 항상 실제로 모델이 답을 도출한 근거라고 보장되지는 않습니다. 그럴듯해 보이는 풀이를 늘어놓고도 결론이 틀리거나, 겉보기 논리와 실제 계산이 어긋나는 환각현상이 함께 나타날 수 있어 해석에 주의가 필요합니다.

관련 용어