⚡ 중급2026-06-176분
Chain-of-Thought로 AI 추론 품질을 2배 끌어올리는 법
복잡한 문제에서 AI가 '왜 그런 답을 냈는지' 추론 과정을 직접 보여주도록 유도하면 정확도가 크게 올라갑니다. CoT 기법의 핵심 패턴과 실전 적용법을 알아봅니다.
prompt-engineeringchain-of-thoughtreasoning
CoT(Chain-of-Thought)란 무엇인가?
AI 모델은 기본적으로 최종 답변만 바로 출력하려는 경향이 있습니다. 하지만 추론 단계를 명시적으로 요청하면 모델이 중간 사고 과정을 거쳐 훨씬 정확한 결론에 도달합니다.
특히 다음 상황에서 효과가 두드러집니다:
- 수학·논리 문제
- 여러 조건이 얽힌 의사결정
- 코드 버그 분석
- 법률·의료처럼 근거가 중요한 도메인
프롬프트 패턴 3가지
| 패턴 | 프롬프트 예시 | 효과 |
|------|-------------|------|
| Zero-shot CoT | "단계별로 생각해 보세요." | 간단하고 범용적 |
| Few-shot CoT | 예제 풀이 2~3개 제공 후 질문 | 특정 형식 고정 시 유리 |
| Role + CoT | "당신은 시니어 엔지니어입니다. 아래 버그를 단계별로 분석하세요." | 전문 도메인에 강력 |
Anthropic SDK 실전 예제 (TypeScript)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
async function analyzeWithCoT(userProblem: string): Promise<void> {
const systemPrompt = `당신은 시니어 소프트웨어 엔지니어입니다.
문제를 분석할 때 반드시 아래 형식을 따르세요:
1. 문제 이해: 핵심 요구사항을 한 줄로 요약
2. 원인 분석: 가능한 원인을 3가지 이내로 나열
3. 해결 방안: 각 원인별 대응책 제시
4. 최종 권고: 가장 적합한 방안과 이유`;
const response = await client.messages.create({
model: "claude-haiku-4-5",
max_tokens: 1024,
system: systemPrompt,
messages: [
{
role: "user",
content: userProblem,
},
],
});
const content = response.content[0];
if (content.type === "text") {
console.log("=== CoT 분석 결과 ===");
console.log(content.text);
console.log(`\n입력 토큰: ${response.usage.input_tokens}`);
console.log(`출력 토큰: ${response.usage.output_tokens}`);
}
}
// 실제 사용 예
await analyzeWithCoT(
"React 앱에서 useEffect 내부 setState가 메모리 누수를 일으키는 것 같습니다. " +
"컴포넌트 언마운트 후에도 상태 업데이트 경고가 뜹니다."
);
핵심 포인트:
system프롬프트에 번호가 있는 추론 형식을 박아두면, 매번"단계별로..."를 반복하지 않아도 됩니다.
마무리 체크리스트
- [ ] 단순 Q&A에는 CoT 없이 사용 (불필요한 토큰 낭비 방지)
- [ ] 추론 형식을
system프롬프트에 고정해 일관성 확보 - [ ] Few-shot 예제는 2~3개가 최적 (그 이상은 토큰 낭비)
- [ ] 출력이 너무 길어지면
"최종 결론만 한 문장으로 요약"지시 추가 - [ ]
claude-haiku-4-5로 빠르게 프로토타입 →claude-sonnet-4-6으로 품질 업그레이드 검토