답을 바로 내지 않고 풀이 과정을 먼저 글로 쓰게 해서 정확도를 높이는 프롬프팅 기법으로, 수학·논리·코드처럼 여러 단계를 거쳐야 하는 문제에 쓴다. 단순 사실 질문에는 효과가 거의 없고 토큰만 더 든다.
| 질문 종류 | 효과 | 이유 |
|---|---|---|
| 수학, 논리, 코드 추론 | 크다 | 문제를 잘게 쪼개 하나씩 풀 수 있다 |
| 단순 사실 질문 | 거의 없다 | 모르는 지식이 생기지 않고 토큰만 든다 |
암산 대신 종이에 풀게 하는 셈이라 실수가 줄고, 어디서 틀렸는지도 보인다.
"KTX 요금이 59,800원인데 3명이 왕복하면 얼마야?"에 숫자부터 내놓으면 틀리기 쉽다. "편도 3명이면 179,400원, 왕복이니 두 배로 358,800원"처럼 중간 단계를 거치면 정확해진다. 모델은 글자를 하나씩 만들어 가며 계산하므로, 과정을 쓰는 것 자체가 생각할 시간을 더 주는 효과를 낸다.
추론은 지식을 새로 만들지 않고, 이미 아는 것을 제대로 조합하게 도와줄 뿐이다. 같은 문제를 여러 번 풀게 해서 가장 많이 나온 답을 고르는 자기 일관성을 함께 쓰면, 풀이 하나가 어긋나도 다수결로 바로잡을 수 있다.
처음에는 프롬프트에 "Let's think step by step" 한 줄을 붙이는 요령이었다. 요즘의 추론 모델은 시키지 않아도 답하기 전에 스스로 긴 사고 과정을 거친다. Claude 앱에서 답변 전에 펼쳐지는 "생각 중" 내용이 바로 이것이다. 그래서 이제 할 일은 생각하게 만드는 게 아니라 생각을 얼마나 시킬지 정하는 것이다.
Claude API에서는 extended thinking을 켜고 사고에 쓸 토큰 예산을 정할 수 있다. 사고에 쓴 토큰도 요금이 붙고, 쉬운 문제에 오래 생각시키면 오히려 답이 흔들리기도 한다.
| 작업 | extended thinking |
|---|---|
| 복잡한 설계, 까다로운 디버깅 | 켜고 예산 넉넉히 |
| 단순 분류, 형식 변환 | 꺼서 시간·비용 절약 |
"이 코드의 문제점을 찾아줘"보다 "1) 함수의 입출력을 파악하고 2) 엣지 케이스를 확인하고 3) 잠재적 버그를 찾아줘"처럼 단계를 적어 주면 모델이 그 순서로 생각한다. Claude Code에 큰 리팩토링을 맡길 때 "바로 고치지 말고 먼저 영향 범위를 분석해"라고 시키는 것도 같은 원리다. 원하는 풀이 방식의 예시를 몇 개 같이 보여 주면 더 안정적이다.
모델이 보여 주는 풀이가 실제로 답을 만든 과정과 같다는 보장은 없다. Anthropic의 연구에서는 모델이 프롬프트 속 힌트로 답을 정해 놓고, 풀이에서는 그 힌트를 언급하지 않는 경우가 관찰됐다. 정확도를 높이는 도구로는 믿을 만하지만, 중요한 결정이라면 풀이를 읽는 데서 멈추지 말고 결론을 테스트나 외부 사실과 대조해 확인해야 한다.
사람들은 주로 계산·추론·계획이 필요한 단계에 사고의 사슬을 쓰고, 단순한 단계에서는 꺼서 비용을 아낀다. 직접 단계를 적어 주거나 추론 모델의 사고 예산을 조절하는 두 방식을 상황에 따라 고른다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 코딩 에이전트 | 바로 고치지 말고 영향 범위부터 분석하게 하고, 까다로운 디버깅은 사고 예산을 늘린다 |
| 수학·계산 질문 | "단계별로 풀어줘"를 붙여 중간 계산을 보며 직접 검산한다 |
| API 자동화 | 판단이 필요한 단계만 thinking을 켜고, 분류·형식 변환은 꺼서 싸고 빠르게 돌린다 |