
연쇄 사고(Chain of Thought) 프롬프팅에는 2026년판 문제가 있는데, 이는 주요 가이드들이 놓치고 있는 부분이다. 바로, 2022년에 모델을 더 똑똑하게 만들었던 바로 그 기법이 오늘날에는 추론 모델을 오히려 조용히 더 나쁘게 만들 수 있다는 것이다. Wei et al.은 2022년에 이를 도입했으며, 모델이 추론 과정을 단계별로 보여주도록 함으로써 어려운 수학과 논제에서의 정확도를 끌어올렸다. 하지만 함정이 있었다. 이 기법은 모델이 대략 1,000억 개의 파라미터를 넘어서야만 비로소 효과를 발휘했다. 이제 o-series와 GPT-5 추론 모델은 그 사고를 내부적으로 수행하므로, "단계별로 생각하라"고 지시하는 것은 대개 토큰만 낭비할 뿐이다. 그렇다면 언제 여전히 이 기법을 사용해야 하고, 언제는 건너뛰어야 할까?
핵심 요점:
- 연쇄 사고 프롬프팅은 모델의 추론 단계를 드러내며, 다단계 수학, 논리, 코드에서의 정확도를 높여준다.
- 이는 창발적 능력이다. 작은 모델에는 거의 도움이 되지 않으며, 추론 모델은 이미 내부적으로 이를 수행한다.
- o-series, GPT-5 추론, Claude 확장 사고(extended thinking)에서는 수동적인 "단계별로 생각하라" 지시가 대개 불필요하다.
- 비추론 모델이나 로컬 오픈소스 모델에서는 여전히 수동 CoT를 사용하거나, 감사 가능한 추론 경로가 필요할 때 사용하라.
Chain of Thought 프롬프팅이란?
Chain of Thought(CoT) 프롬프팅은 언어 모델이 최종 답변을 내놓기 전에 명시적인 중간 단계를 거쳐 문제를 풀도록 요청하는 기법입니다. 2022년 **Wei et al.**이 도입한 이 기법은 다단계 수학, 논리, 상식 추론 과제의 정확도를 높여 주며, 모델의 추론 과정을 눈에 보이게 만들어 줍니다.
평범한 모델에게 별다른 지시 없이 문장제 문제를 던지면 엉뚱한 숫자를 툭 내뱉는 경우가 많습니다. 하지만 먼저 추론하라고 요청하면 정답률이 껑충 뜁니다. "선반 위에 7권씩 든 상자 3개가 있고, 5권을 빼면 몇 권이 남을까?"라는 문제를 그냥 던지면 작은 모델은 "21"이라고 답할 수 있습니다. 여기에 "단계별로 생각해 보자"를 덧붙이면, 모델은 3 x 7 = 21, 그리고 21 - 5 = 16이라고 풀어씁니다. 같은 모델인데 더 나은 답이 나오고, 혹시 틀리더라도 어디서 어긋났는지 확인할 수 있습니다. CoT는 저희 프롬프트 엔지니어링 가이드에서 다루는 더 넓은 도구 상자 속 도구 중 하나이며, 이 글에서는 바로 이 CoT를 깊이 파고듭니다.
작동 원리 (그리고 왜 대규모에서만 효과가 나타나는가)
CoT는 모델이 자연어 추론 경로를 토큰 단위로 생성하도록 작동하며, 각 중간 결론이 다음 결론의 조건이 됩니다. Wei et al. (2022)은 이것이 창발적 능력임을 발견했습니다. 작은 모델에는 거의 도움이 되지 않으며, 모델이 대략 1,000억 개의 매개변수를 넘어서야만 큰 정확도 향상이 나타납니다.
수학 시간에 풀이 과정을 보여 주는 것과 비슷하다고 생각하면 됩니다. 모델은 한 번에 하나의 토큰을 예측하며, 모델이 쓰는 각 단어는 다음 단어의 입력 일부가 됩니다. 중간 결과로 "21"을 쓰면, 그 "21"이 이제 컨텍스트에 자리 잡아 최종 단계를 "16" 쪽으로 이끕니다. 단계를 건너뛰면 모델은 의지할 것 없이 곧바로 정답으로 도약해야 합니다. 이상한 점은 이 이점이 대규모에서만 나타난다는 것입니다. 최초 논문에서 Wei 팀은 아주 작은 모델은 거의 향상이 없었고, 때로는 오히려 더 나빠졌다는 것을 발견했습니다. 그래서 7B 로컬 모델에서는 실패하는 동일한 프롬프트가 프론티어 모델에서는 극적인 변화를 만들 수 있습니다.
세 가지 변형: 제로샷, 퓨샷, 그리고 자기 일관성
주요 CoT 변형은 세 가지입니다. 제로샷 CoT는 단순히 "단계별로 차근차근 생각해 보자"를 덧붙이는 방식입니다(Kojima et al., 2022). 퓨샷 CoT는 먼저 풀이 과정이 담긴 추론 예시를 보여줍니다. 자기 일관성(Wang et al., 2022)은 여러 추론 경로를 샘플링한 뒤 답변에 대해 다수결 투표를 하는 방식으로, 세 가지 중 가장 신뢰할 만하면서도 가장 비용이 많이 듭니다.
제로샷은 게으른 마술 트릭입니다. 문장 하나만 추가하면 모델이 어떤 예시 없이도 추론합니다. Kojima et al.은 "단계별로 차근차근 생각해 보자"라는 말만으로도 큰 모델을 꽤 괜찮은 제로샷 추론기로 바꿀 수 있음을 보였습니다.
# Zero-shot CoT: 트리거 문구를 추가하세요. 비추론 모델에서 가장 효과적입니다.
# 모델 이름은 자주 바뀌므로, 아래 문자열을 플레이스홀더로 취급하세요.
from openai import OpenAI
client = OpenAI()
prompt = (
"Q: A shelf holds 3 boxes. Each box has 7 books. "
"I remove 5 books. How many are left?\n"
"A: Let's think step by step."
)
resp = client.chat.completions.create(
model="your-non-reasoning-model",
messages=[{"role": "user", "content": prompt}],
)
print(resp.choices[0].message.content)Few-shot CoT goes further: you hand the model two or three worked examples so it copies the reasoning pattern for your domain. Self-consistency is the accuracy dial. Instead of trusting one chain, you sample five at a higher temperature and let them vote. Wang et al. found the majority answer is usually right even when individual chains wander off.
# 자기 일관성(Self-consistency): N개의 추론 경로를 샘플링하여 다수결로 답을 결정합니다.
# 더 정확하지만, 더 비싸다. Wang et al., 2022.
from collections import Counter
def self_consistency(prompt, n=5, temperature=0.7):
answers = []
for _ in range(n):
resp = client.chat.completions.create(
model="your-non-reasoning-model",
messages=[{"role": "user", "content": prompt}],
temperature=temperature, # diversity across paths
)
answers.append(extract_final_answer(resp.choices[0].message.content))
return Counter(answers).most_common(1)[0][0] # majority vote자유 텍스트 대신 깔끔한 JSON으로 추론 결과를 받고 싶으신가요? CoT를 저희 구조화된 출력 가이드의 패턴과 결합하면 후속 단계에서 이를 파싱할 수 있습니다.
2026년의 전환: 추론 모델이 규칙을 바꾸다
추론 모델인 OpenAI의 o-시리즈와 GPT-5 추론, Claude의 확장 사고(extended thinking), DeepSeek R1은 답변 전에 내부적으로 사고의 사슬(chain of thought)을 수행합니다. OpenAI의 자체 가이드에 따르면, 이러한 모델에게 "단계별로 생각해라"라고 명시적으로 지시하는 것은 불필요하며, 추론 모델에게 더 많이 추론하라고 요청하는 것이 오히려 성능을 저하시킬 수 있다고 합니다. 비계(scaffolding)는 이미 내장되어 있습니다.
이것은 오래된 가이드들이 마치 존재하지 않는 것처럼 가장하는 부분입니다. 추론 모델은 답변을 보여주기 전에 비공개 사고의 사슬을 생성하므로, 과거에 손수 작성하던 단계별 지시는 이제 내부에서 처리됩니다. OpenAI의 추론 모범 사례에서는 단도직입적으로 이렇게 말합니다: "사고의 사슬 프롬프트를 피하세요: 이러한 모델은 내부적으로 추론을 수행하므로, '단계별로 생각해라' 또는 '추론 과정을 설명해라'라는 프롬프트는 불필요합니다." 이들의 o3/o4-mini 프롬프팅 가이드는 한 걸음 더 나아갑니다: "추론 모델에게 더 많이 추론하라고 요청하는 것이 오히려 성능을 저하시킬 수 있습니다."
Anthropic의 확장 사고는 동일한 아이디어를 제품화한 것입니다. 단계별 스크립트 대신 Claude에게 사고 예산(thinking budget)을 부여하면, 최신 모델들은 스스로 얼마나 깊이 생각할지 결정합니다. 이 부류의 모델에서는 문구가 아니라 reasoning_effort 또는 사고 예산을 조정합니다. DeepSeek R1을 포함한 오픈 추론 모델 진영에 대해서는 저희의 Qwen vs DeepSeek vs GLM 분석을 참고하세요.
수동 CoT가 여전히 도움이 되는 경우 vs 역효과가 나는 경우
수동 CoT는 비추론 모델과 소형 또는 로컬 오픈소스 모델에서, 혹은 특정 추론 구조나 감사 가능한 흔적이 필요할 때 여전히 도움이 된다. 네이티브 추론 모델(중복되고 느려짐), 단순한 단일 단계 작업, 그리고 정확도 향상 없이 토큰만 소모하는 지연 시간 또는 비용 민감 경로에서는 역효과가 난다.
| 수동 CoT가 여전히 도움이 되는 경우 | 수동 CoT가 역효과가 나는 경우 |
|---|---|
| 비추론 모델을 사용할 때 (구형 GPT, base Llama) | 추론 모델을 사용할 때 (o-series, GPT-5 reasoning, Claude thinking) |
| 소형 또는 로컬 오픈소스 모델을 실행할 때 | 작업이 단일 단계 조회, 분류, 또는 형식 변환일 때 |
| 고정된 감사 가능한 추론 구조 하나가 필요할 때 | 지연 시간에 민감한 실시간 경로일 때 |
| 작업이 다단계 수학, 논리, 또는 계획일 때 | 대량 처리의 비용 민감 엔드포인트일 때 |
| 검사하거나 grep할 수 있는 가시적 흔적을 원할 때 | 모델이 이미 내부적으로 추론하므로 단계가 그저 반복될 때 |
우리 팀의 실제 사례를 하나 소개하겠다. 이 글을 작성한 12개 에이전트 파이프라인은 Claude 모델로 구동되며, 우리는 의도적으로 그 에이전트들에게 "단계별로 생각해"라고 절대 지시하지 않는다. 모델이 이미 내부적으로 추론하므로 노이즈만 추가될 뿐이기 때문이다. 우리가 손으로 직접 작성하는 것은 엄격하고 grep 가능한 추론 스캐폴드다. 검증 에이전트는 고정된 100점 루브릭(품질 50점, SEO 50점)과 8개의 순차적 게이트 체크를 실행한다. 번역 에이전트는 정해진 체크리스트를 따른다. 원문의 H2 개수 일치, 0건 초과를 반환해야 하는 분음 부호 grep 실행, 그리고 80~120% 줄 수 범위 유지다. 게시 에이전트는 publishedAt 날짜시간을 정규식으로 검사하는 게시 전·후 게이트를 실행한 다음, CMS에 쿼리해 본문이 비어 있지 않은지 확인한다.
이 중 어느 것도 더 많은 사고에 관한 것이 아니다. 이는 우리가 검사하고 grep할 수 있는 고정되고 감사 가능한 경로이며, 바로 이것이 "수동 CoT가 여전히 도움이 되는" 경우에 해당한다. 그 게이트를 추가한 데는 이유가 있다. 날짜만 있는 publishedAt 값이 블로그 인덱스에서 게시물 전체를 조용히 숨긴 적이 있었고, 그래서 모델이 검증을 건너뛰는 것을 막기 위해 엄격한 단계 순서가 이제 존재하게 되었다. 솔직한 주의 사항 하나: 이것은 운영상의 관찰이지 벤치마크가 아니다. 우리는 "단계별로 생각해"와 무지시를 비교하는 통제된 정확도 A/B를 실행하지 않았으므로, 이를 수치에 대한 주장이 아닌 구조와 감사 가능성에 대한 교훈으로 받아들여 달라.
수동 CoT가 여전히 효과를 발휘하는 로컬 모델을 실행 중이신가요? 2026년 최고의 오픈소스 LLM 종합 정리에서 해당 분야를 다루고 있습니다. 또한 모델의 사고 과정을 사용자에게 노출하는 경우가 있다면, 이를 신뢰할 수 없는 출력으로 취급하세요. 그 이유는 프롬프트 인젝션 방지 가이드에서 설명합니다.
숨겨진 비용: 토큰, 지연 시간, 그리고 청구서
CoT는 공짜가 아닙니다. 모든 추론 단계는 비용을 지불하는 출력 토큰이며, 생성이 길어질수록 지연 시간도 늘어납니다. 추론 모델은 눈에 보이는 답변 위에 숨겨진 추론 토큰까지 과금합니다. 트래픽이 많거나 실시간 엔드포인트에서는 단계별 출력을 강제하면 비용이 소리 없이 곱절로 불어날 수 있으므로, 예산을 미리 책정하거나 reasoning_effort로 상한을 두세요.
모델이 작성하는 모든 "1단계, 2단계, 3단계"는 출력 토큰이며, 출력 토큰은 비싼 쪽에 속합니다. 단순한 답변보다 5배 긴 체인은 해당 호출에서 대략 5배의 비용이 들고, 스트리밍도 더 느려집니다. 추론 모델에는 한 가지 함정이 더 있습니다. 여러분이 절대 볼 수 없는 내부 사고에 대해서도 추론 토큰을 과금하기 때문에, 짧은 최종 답변 뒤에 비용이 청구되는 긴 체인이 숨어 있을 수 있습니다. 트래픽이 적은 엔드포인트에서는 무시할 수준이지만, 트래픽이 많은 곳에서는 빠르게 불어납니다. 두 가지 습관이 이를 합리적으로 유지해 줍니다. 컨텍스트에서 변하지 않는 부분은 캐시하여 다시 읽는 데 비용을 내지 않도록 하고(방법은 프롬프트 캐싱 가이드에서 확인하세요), CoT를 모든 곳에 적용하기 전에 추가 토큰이 실제로 정확도를 높이는지 측정하세요. LLM 평가 가이드에서 그 측정 방법을 다루므로, 점수를 올리지 못하는 추론에 비용을 지불하는 일은 없을 것입니다.
2026년에 CoT를 활용하는 방법: 의사결정 체크리스트
먼저, 모델 클래스를 파악하세요. 추론 모델이라면 수동 CoT는 건너뛰고, 대신 reasoning_effort나 thinking budget을 조정하세요. 비추론 모델이나 로컬 모델이라면 제로샷 "Let's think step by step"을 추가하고, 도메인 작업에는 few-shot으로 업그레이드하며, 정확도가 토큰 비용보다 중요할 때만 자기 일관성(self-consistency)을 추가하세요.
전체 의사결정 과정을 다섯 단계로 정리하면 다음과 같습니다:
- 모델 클래스를 파악하세요. 추론 모델인가요, 아닌가요? 이 하나의 사실이 아래의 모든 것을 결정합니다.
- 추론 모델에서는 CoT를 직접 작성하지 마세요. 대신
reasoning_effort나 thinking budget을 조정하고, 모델이 내부적으로 추론하도록 맡기세요. - 비추론 모델이나 로컬 모델에서는 제로샷 "Let's think step by step"을 추가하세요. 한 줄이면 되고, 부담 없이 시도할 수 있습니다.
- 도메인 특화 작업에는 2~3개의 풀이 예시를 포함한 few-shot CoT로 업그레이드하세요. 정확도가 토큰 비용보다 중요할 때만 자기 일관성(self-consistency)을 추가하세요.
- 추론 과정을 외부에 노출할 경우, eval로 측정하고 노출되는 추론 체인을 신뢰할 수 없는 출력으로 취급하세요.
트리거 문구 자체는 보통 시스템 프롬프트에 들어갑니다. 저희 시스템 프롬프트 예시에서 어디에 넣는지, 어떻게 표현하는지 확인하실 수 있습니다.
# 추론 모델에서는 CoT를 직접 작성하지 말고, 대신 effort를 조정하세요.
# 파라미터 이름과 레벨은 제공업체 및 버전에 따라 달라지므로 최신 문서를 확인하세요.
resp = client.responses.create(
model="your-reasoning-model",
reasoning={"effort": "medium"}, # 예: low | medium | high
input="2의 제곱근이 무리수임을 증명하세요.",
)
# Anthropic의 대응 방식: 확장된 사고 예산.
# budget_tokens는 반드시 max_tokens보다 작아야 합니다.
# thinking = {"type": "enabled", "budget_tokens": 4000}이것을 프로덕션 스택에 통합하는 작업은 블로그 예제에서 보이는 것보다 훨씬 까다롭습니다. 추론 예산과 평가 하네스를 직접 튜닝하고 싶지 않으시다면, 저희 팀이 이러한 파이프라인을 처음부터 끝까지 구축해 드립니다. AI 통합을 확인하시거나 문의하기를 통해 연락해 주세요.
저자 소개
Mert Batur Gurbuz는 Techsy.io의 공동 창업자로, 팀은 B2B 고객을 위한 AI 에이전트, 자동화 시스템, 음성/SDR 파이프라인을 구축하고 있습니다. 버밍엄 대학교(University of Birmingham)에서 공부하고 있으며, Techsy 팀이 실제 프로덕션에서 사용하는 LLM 도구 스택에 대해 글을 쓰고 있습니다.
Techsy.io 공동 창업자, 버밍엄 대학교(University of Birmingham). LinkedIn에서 연결하세요.
자주 묻는 질문
2026년에도 사고의 사슬(CoT) 프롬프팅은 여전히 유효한가?
그렇다. 다만 역할은 축소되었다. 비추론 모델이나 소형·로컬 오픈소스 모델에서는 수동 CoT가 여전히 다단계 작업의 정확도를 끌어올린다. 추론 모델에서는 대부분 불필요하다. 남아 있는 가장 강력한 용도는 직접 검토할 수 있는 하나의 고정된 감사(audit) 가능한 추론 경로를 강제하는 것이다.
GPT-5, o3, Claude 같은 추론 모델에서도 사고의 연쇄 프롬프팅이 효과가 있나요?
이러한 모델은 이미 내부적으로 추론을 수행하므로, 수동 CoT는 대개 불필요하며 오히려 해로울 때도 있습니다. OpenAI 문서에 따르면, 이 모델들에게 "단계별로 생각해라"라고 프롬프트하는 것은 불필요하며, 더 많이 추론하라고 요청하는 것이 "오히려 성능을 떨어뜨릴 수 있다"고 합니다. 단계를 작성하는 대신 추론 노력(reasoning effort)을 조절하세요.
제로샷 사고의 연쇄 프롬프팅이란?
제로샷 CoT는 사전에 풀이 예시를 제공하지 않고, 보통 "Let's think step by step"과 같은 트리거 문구를 추가하는 방식을 의미합니다. Kojima et al. (2022)은 이 문구 하나만으로도 대규모 모델이 상당한 수준의 추론 능력을 발휘하게 된다는 것을 보여주었습니다. 이는 가장 저비용의 CoT 변형으로, 한 줄이면 충분하고 예시 선별이 필요 없으며 빠르게 테스트할 수 있습니다.
생각 사슬 프롬프팅에서 자기 일관성이란?
Wang et al. (2022)에서 제안한 자기 일관성(Self-consistency)은 더 높은 온도에서 여러 개의 독립적인 추론 사슬을 샘플링한 뒤, 최종 답변에 대해 다수결 투표를 수행하는 방식입니다. 잘못된 추론 사슬들이 서로 같은 결론에 도달하는 경우는 드물기 때문에, 이는 가장 정확한 CoT 변형 기법입니다. 다만 샘플링된 모든 경로에 대해 비용을 지불해야 하므로 가장 비용이 많이 드는 방식이기도 합니다.
Chain-of-Thought와 Few-Shot 프롬프팅의 차이점은 무엇인가요?
Few-Shot 프롬프팅은 모델에 입력-출력 예시 쌍을 보여줍니다. Chain-of-Thought는 입력과 출력 사이의 추론 과정에 초점을 맞춥니다. 두 기법은 함께 사용하기에 좋습니다. Few-Shot CoT는 추론 단계를 포함한 풀이 예시를 제공하므로, 모델은 답변 형식만이 아니라 여러분의 추론 패턴까지 따라 하게 됩니다.
Chain of Thought vs Prompt Chaining vs Tree of Thought: 차이점은 무엇일까?
Chain of Thought는 하나의 프롬프트 안에서 추론을 수행한다. Prompt Chaining은 작업을 여러 번의 개별 모델 호출로 나누고, 각 호출의 결과값을 다음 단계로 전달한다. Tree of Thought는 여러 갈래의 추론 분기를 탐색하면서 약한 분기는 가지치기한다. CoT는 단일 선형 경로인 반면, 나머지 두 기법은 모델 외부에 추가적인 구조를 더한다.
누가 연쇄 사고 프롬프팅을 발명했나요?
연쇄 사고(Chain of Thought) 프롬프팅은 2022년 논문 "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models"에서 Google의 Jason Wei와 동료들이 처음 제안했습니다. 이후 Kojima 등은 제로샷 CoT를, Wang 등은 자기 일관성(Self-Consistency)을 추가했으며, 두 연구 모두 2022년에 발표되었습니다.
코드 생성에 연쇄적 사고(Chain of Thought) 프롬프팅이 효과가 있을까?
네, 비추론(non-reasoning) 모델에서는 효과가 있습니다. 모델에게 코드를 작성하기 전에 먼저 로직을 계획하도록 요청하면 엣지 케이스를 포착하고 복잡한 작업에서 버그를 줄일 수 있습니다. 추론(reasoning) 모델에서는 계획 과정이 내부적으로 이루어지므로, 손으로 작성한 "단계별로 추론해라" 같은 접두사보다 일반적인 지시가 대개 더 잘 작동합니다.