본문 바로가기
AI 신기능 분석

AI 추론 모델(o1, DeepSeek-R1) 쓰는 법 - 기존 LLM과 뭐가 다른가

by 소개왕 탑백귀 2026. 4. 20.

AI 추론 모델(o1, DeepSeek-R1) 쓰는 법 - 기존 LLM과 뭐가 다른가

2026년 4월 기준 | AI 신기능 분석

요약: 추론 전용 모델(OpenAI o1/o3, DeepSeek-R1, Claude Extended Thinking)은 일반 LLM과 무엇이 다르고, 어떤 문제에서 진가를 발휘하는지 정리했습니다. 프롬프트 작성 요령, 실전 예제, 비용 가이드까지 포함한 실전 가이드입니다.

추론 모델이 뭐길래

기존 LLM은 질문을 받자마자 곧바로 답을 쏟아냅니다. 추론 모델은 답하기 전에 "속으로 생각"하는 시간을 갖습니다. 이 내부 사고 과정(chain of thought)이 많을수록 복잡한 문제에서 정답률이 올라갑니다.

사람으로 비유하면, 평범한 LLM이 "반사적으로 답하는 똑똑한 친구"라면, 추론 모델은 "잠깐만, 연필 좀 들고 올게"라고 말하는 친구입니다. 쉬운 질문에는 과하지만, 어려운 문제에선 정답률이 확연히 다릅니다.

내부 동작 원리

추론 모델은 답하기 전 다음 과정을 거칩니다.

  1. 문제를 작은 단계로 분해
  2. 각 단계에서 중간 가설을 세우고 검증
  3. 오류가 있으면 되돌아가 재시도 (self-correction)
  4. 최종 답변 생성

이 과정이 모델 출력에 "보이지 않게" 포함됩니다. 개발자는 최종 답변만 보지만, 그 이면에 수천~수만 토큰의 reasoning tokens가 소비됩니다. 이것이 추론 모델이 비싸고 느린 이유입니다.

2026년 추론 모델 라인업

모델 제공사 특징 접근성
o3 / o4-mini OpenAI 수학/코딩 최강, reasoning effort 조절 유료 API
Claude Extended Thinking Anthropic 일반 모델에 추론 모드 토글, 사고 과정 노출 유료 API
DeepSeek-R1 DeepSeek 오픈소스, 로컬 구동 가능, 저비용 오픈웨이트
Gemini Deep Think Google 2M 컨텍스트 + 추론 결합, 장문 분석 유료 API
Qwen QwQ Alibaba 오픈소스, 중국어 추론 강점 오픈웨이트

언제 써야 하나

추론 모델이 빛나는 상황
  • 수학 문제, 경시대회 수준 문제
  • 복잡한 SQL 쿼리 설계 (다중 조인·서브쿼리)
  • 알고리즘 설계 및 시간 복잡도 분석
  • 긴 법률·계약서 해석과 논리적 일관성 검증
  • 과학 연구 가설 수립
  • 복잡한 디버깅 (재현 조건 추론)
일반 LLM이 더 나은 상황
  • 간단한 분류, 요약, 번역
  • 대화형 챗봇 (실시간 응답)
  • 창작 글쓰기, 마케팅 카피
  • 대규모 배치 처리 (비용 민감)

프롬프트 작성법

추론 모델은 일반 LLM과 프롬프트 쓰는 방식이 다릅니다.

  • Chain-of-Thought 프롬프트 불필요: "단계별로 생각해줘"를 붙이면 오히려 방해. 모델이 이미 알아서 함.
  • Few-shot 예제 최소화: 예제가 많으면 생각을 제약함. 제로샷이 더 좋을 때가 많음.
  • 명확한 목표 한 줄: "이 SQL의 버그를 찾고, 고친 버전을 제시하라" 식으로 목표를 짧고 명확히.
  • 컨텍스트는 충분히: 생각할 재료(코드/데이터/제약조건)는 풍부하게 제공.

실전 코드 예제

1) OpenAI o3 — reasoning effort 조절

from openai import OpenAI

client = OpenAI()
response = client.responses.create(
    model="o3",
    input="""
다음 SQL의 논리 버그를 찾아 고쳐라.
목표: 지난 30일간 가장 많이 팔린 상품 TOP 10 (취소 주문 제외).

SELECT p.name, SUM(o.quantity) AS total
FROM orders o
JOIN products p ON p.id = o.product_id
WHERE o.created_at > NOW() - INTERVAL 30 DAY
  OR o.status = 'cancelled'
GROUP BY p.name
ORDER BY total DESC
LIMIT 10;
""",
    reasoning={"effort": "high"},
)
print(response.output_text)

effortlow/medium/high로 조절할 수 있습니다. high는 정확도가 올라가지만 reasoning 토큰이 5~10배 증가하고 응답도 느려집니다.

2) Claude Extended Thinking — 사고 과정 확인

from anthropic import Anthropic

client = Anthropic()
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=16000,
    thinking={"type": "enabled", "budget_tokens": 8000},
    messages=[{"role": "user", "content": "주어진 계약서에서 갑이 불리해지는 조항 3개를 찾아라."}],
)

for block in response.content:
    if block.type == "thinking":
        print("[사고]", block.thinking)
    elif block.type == "text":
        print("[답변]", block.text)

Claude는 사고 과정을 개발자가 직접 볼 수 있습니다. "왜 그렇게 답했지?"를 감사(audit)하거나 UI에 노출할 때 유용합니다.

3) DeepSeek-R1 — 로컬에서 무료로

# Ollama로 로컬 실행
ollama run deepseek-r1:14b

# 파이썬에서 호출
import ollama
result = ollama.chat(
    model="deepseek-r1:14b",
    messages=[{"role": "user", "content": "정수 n의 소인수분해 알고리즘을 O(sqrt(n))으로 구현"}],
)
print(result["message"]["content"])

DeepSeek-R1은 14B 버전이면 RTX 4070(12GB)에서도 동작합니다. API 비용 0원으로 추론 모델을 활용할 수 있는 유일한 선택지입니다.

일반 모델과 품질 비교

"한 변이 10이고 각도가 37도인 직각삼각형의 나머지 두 변을 소수점 둘째 자리까지 구하라" 같은 고교 수준 문제 20개를 풀게 한 결과입니다.

모델 정답률 평균 응답 시간
GPT-5 (일반)14/203.2초
o3 (effort=medium)19/2018초
o3 (effort=high)20/2042초
Claude + Extended Thinking19/2025초
DeepSeek-R1 14B (로컬)17/2031초

비용 감각

추론 모델은 일반 모델 대비 토큰당 단가가 2~5배 비싸고, 실제 출력은 reasoning 토큰까지 과금되어 총 비용이 5~15배 높아집니다.

실무에서 권장되는 전략:

  • 라우팅: 쉬운 요청은 일반 모델, 복잡한 요청만 추론 모델로.
  • effort 조절: 기본 medium, 정말 어려운 문제만 high.
  • 캐싱: 동일 문제 반복 호출은 결과를 캐시.

함정

  • 오버킬: "이메일 한 줄 써줘"에 o3를 쓰면 돈만 낭비. 일반 모델이 더 빠르고 자연스러움.
  • 장황한 답변: 추론 모델은 답을 길게 풀어내는 경향. "한 줄로" 같은 제약을 명시해야 함.
  • 일관성 부족: 동일 입력에 매번 조금씩 다른 답. 결정적 결과가 필요하면 temperature=0 + seed 고정.
  • 한글 상실: DeepSeek-R1은 드물게 중간에 중국어로 생각함. 시스템 프롬프트에 "반드시 한국어로만 답변"을 못박아야 안전.

마무리

추론 모델은 만능이 아닙니다. "어려운 문제를 풀 때 비싼 대신 확실한 답을 주는 전문가"로 이해하면 됩니다. 제품의 핵심 질문 플로우 중 1~5%가 복잡한 추론을 요구한다면, 그 구간에만 추론 모델을 호출하고 나머지는 일반 모델로 처리하는 하이브리드가 비용/성능 모두 최적입니다.

다음 글에서는 일반 LLM과 추론 모델을 자동 라우팅하는 게이트웨이 패턴을 구현해보겠습니다.