0Pricing
AI Prompt Engineering · 강의

추론 모델은 어떻게 다른가요?

내부 사고 연쇄를 사용하는 모델과 일반 모델의 차이, 그리고 프롬프트 작성자에게 달라지는 점을 알아봅니다.

추론 모델은 어떻게 다른가요?은(는) CoddyKit의 무료 AI Prompt Engineering 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Prompt Engineering 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.

추론 모델이란 무엇인가요

추론 모델은 응답을 생성하기 전에 확장된 내부 숙고를 run하도록 특별히 학습되고 구성된 LLM입니다. 예로는 OpenAI의 o1/o3/o4 시리즈와 확장 사고가 활성화된 Anthropic의 Claude가 있습니다.

프롬프트에서 직접 토큰 단위로 텍스트를 생성하는 일반 모델과 달리, 추론 모델은 먼저 긴 내부 사고 과정을 generate한 다음 이를 최종 답변으로 요약합니다.

일반 모델과 추론 모델: 보이는 차이

애플리케이션 프로그래밍 인터페이스 사용자의 관점에서 차이는 다음과 같습니다.

  • 일반 모델: 입력 → 출력(빠르고 직접적임)
  • 추론 모델: 입력 → [내부 사고, 숨겨지거나 실시간 전송됨] → 출력(느리지만 어려운 문제에서 더 정확함)

사고 과정은 모델만 사용하는 비공개 메모장입니다. 여기에는 최종 답변에 나타나지 않는 잘못된 시도, 자체 수정, 중간 계산이 포함될 수 있습니다.

OpenAI o 시리즈: 애플리케이션 프로그래밍 인터페이스 동작

OpenAI의 o1/o3/o4 모델은 내부적으로 사고를 처리하므로 기본적으로 추론 토큰이 보이지 않습니다. 사용량 메타데이터에서는 사고 토큰 수를 확인할 수 있지만, 그 내용은 확인할 수 없습니다.

import openai

client = openai.OpenAI(api_key='sk-...')

# o3 — reasoning happens internally
response = client.chat.completions.create(
    model='o3',
    messages=[
        {'role': 'user', 'content': 'Solve: A train leaves Chicago at 9am going 60mph. Another leaves NYC at 10am going 80mph. If the distance is 790 miles, when do they meet?'}
    ],
    # reasoning_effort='high'  # Optional: 'low', 'medium', 'high'
)

print(response.choices[0].message.content)
# Check how many tokens were used for thinking:
print('Input tokens:', response.usage.prompt_tokens)
print('Output tokens:', response.usage.completion_tokens)

Claude 확장 사고: 애플리케이션 프로그래밍 인터페이스 동작

Anthropic의 Claude는 애플리케이션 프로그래밍 인터페이스를 통해 확장 사고 토큰을 노출합니다. stream 기능을 통해 모델의 추론 과정을 실시간으로 관찰할 수 있습니다. 사고 내용은 최종 응답보다 먼저 나타납니다.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

# Enable extended thinking
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=16000,
    thinking={
        'type': 'enabled',
        'budget_tokens': 10000  # Max tokens for thinking
    },
    messages=[{
        'role': 'user',
        'content': 'What is the 100th prime number?'
    }]
)

# Response contains both thinking blocks and text blocks
for block in response.content:
    if block.type == 'thinking':
        print('THINKING:', block.thinking[:200], '...')
    elif block.type == 'text':
        print('ANSWER:', block.text)

사고 토큰 실시간 전송

확장 사고의 실시간 stream을 통해 모델의 추론이 전개되는 과정을 볼 수 있습니다. 이는 사용자 경험에 유용합니다. 예를 들어 ‘사고 중’ 애니메이션을 표시하거나 고급 사용자가 추론 과정을 관찰하도록 할 수 있습니다.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

def stream_with_thinking(question):
    with client.messages.stream(
        model='claude-opus-4-5',
        max_tokens=16000,
        thinking={'type': 'enabled', 'budget_tokens': 8000},
        messages=[{'role': 'user', 'content': question}]
    ) as stream:
        current_block_type = None
        for event in stream:
            # Track which block type we're in
            if hasattr(event, 'type'):
                if 'thinking' in str(event.type):
                    current_block_type = 'thinking'
                elif 'text' in str(event.type):
                    current_block_type = 'text'
            # Print text delta
            if hasattr(event, 'delta') and hasattr(event.delta, 'text'):
                prefix = '[THINK] ' if current_block_type == 'thinking' else '[ANS] '
                print(prefix + event.delta.text, end='', flush=True)

stream_with_thinking('Explain why P != NP is unproven.')

내부에서 일어나는 일: 메모장

모델의 내부 사고는 다음과 같은 작업을 수행할 수 있는 메모장입니다.

  • 결정하기 전에 여러 접근 방식 탐색
  • 계산을 수행하고 검증
  • 자체 오류를 파악하고 되돌아가기
  • 예외 상황 고려
  • 여러 단계의 해결책 계획

이러한 내부 숙고 때문에 추론 모델은 어려운 수학, 코딩, 전략적 계획에서 일반 모델을 크게 능가합니다. 답변을 작성하기 전에 본질적으로 문헌 검토를 수행하기 때문입니다.

budget_tokens: 사고 깊이 조절

budget_tokens (클로드) 또는 reasoning_effort (OpenAI)는 모델이 얼마나 깊이 사고할지를 조절합니다. 더 많이 사고하면 어려운 문제의 정확도는 높아지지만 비용과 지연 시간도 증가합니다.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

def ask_with_budget(question, budget):
    r = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=budget + 2048,  # must exceed budget_tokens
        thinking={'type': 'enabled', 'budget_tokens': budget},
        messages=[{'role': 'user', 'content': question}]
    )
    thinking_tokens = sum(
        len(b.thinking.split()) * 1.3  # rough estimate
        for b in r.content if b.type == 'thinking'
    )
    answer = next(b.text for b in r.content if b.type == 'text')
    return answer, int(thinking_tokens)

# Same hard question with different budgets
q = 'Prove that the square root of 2 is irrational.'
ans_small, tok_small = ask_with_budget(q, 1024)
ans_large, tok_large = ask_with_budget(q, 8000)
print(f'Small budget ({tok_small} thinking tokens): {ans_small[:100]}')
print(f'Large budget ({tok_large} thinking tokens): {ans_large[:100]}')

온도 설정과 추론 모델

추론 모델은 온도 설정에 따라 다르게 작동합니다:

  • OpenAI o 시리즈의 경우 온도는 기본값이 1이며 항상 변경할 수 있는 것은 아닙니다
  • 클로드의 확장 사고에서는 사고 중 온도가 일반적으로 1로 설정됩니다

온도를 사용해 추론 모델의 동작을 조절하려고 하지 마십시오. 대신 budget_tokens 또는 reasoning_effort를 사용하십시오.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

# For Claude with extended thinking, temperature=1 is the default
# and best practice
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=10000,
    temperature=1,  # Required to be 1 when extended thinking is enabled
    thinking={
        'type': 'enabled',
        'budget_tokens': 5000
    },
    messages=[{
        'role': 'user',
        'content': 'Write a Python function to find all prime numbers up to N.'
    }]
)
print(response.content[-1].text[:300])

성능 평가: 추론이 강점을 보이는 경우

추론 모델은 다음과 같은 영역에서 일반 모델보다 특히 뛰어난 성능을 보입니다:

  • 경시 수학: AIME, AMC (o3는 인간 전문가에 근접)
  • 복잡한 코딩: 경쟁 프로그래밍(코드포스)
  • 과학적 추론: GPQA (대학원 수준의 과학)
  • 다단계 논리: 순차적인 추론이 필요한 문제

간단한 작업(문법, 요약, 사실 기반 질의응답)에서는 일반 모델도 10~100배 낮은 비용으로 동일하게 우수한 성능을 냅니다.

지연 시간의 현실

추론 모델은 느립니다. 높은 추론 수준으로 어려운 문제를 처리하면 30~60초가 걸릴 수 있습니다. 이에 맞춰 사용자 경험을 설계하십시오:

  • '사고 중...' 진행 표시기를 보여 주십시오
  • 스트리밍을 사용해 부분 결과가 제공되는 대로 보여 주십시오
  • 지연 시간이 중요한 실시간 대화에는 추론 모델을 사용하지 마십시오
  • 이미 알려진 어려운 질문에 대한 추론 모델의 출력을 미리 계산하십시오
import time
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

def timed_reasoning_call(question, budget):
    start = time.time()
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=budget + 2000,
        thinking={'type': 'enabled', 'budget_tokens': budget},
        messages=[{'role': 'user', 'content': question}]
    )
    elapsed = time.time() - start
    answer = next(b.text for b in response.content if b.type == 'text')
    print(f'Latency: {elapsed:.1f}s | Answer: {answer[:100]}')
    return answer

# Hard problem — expect 20-45 seconds
timed_reasoning_call(
    'Design a database schema for a multi-tenant SaaS billing system.',
    budget=8000
)

추론 모델과 시스템 프롬프트

추론 모델은 일반 모델과 다르게 시스템 프롬프트에 응답합니다. 추론 모델은 답변하기 전에 내부적으로 숙고하므로 시스템 프롬프트의 복잡한 다단계 지침을 더 안정적으로 따를 수 있습니다.

그러나 지나치게 길고 제약이 많은 시스템 프롬프트는 내부 추론과 충돌할 수 있습니다. 권장 방식은 추론 모델의 시스템 프롬프트를 간결하게 유지하는 것입니다. 역할과 출력 형식을 정의한 다음 전략은 모델의 내부 추론에 맡기십시오.

지식 확인: 추론 모델의 사고

프롬프트 작성자가 제공하는 것과 추론 모델 내부에서 일어나는 일의 핵심적인 차이는 무엇입니까?

복습: 추론 모델의 차이

o1/o3와 확장 사고 기능이 있는 클로드 같은 추론 모델은 응답하기 전에 내부적인 사고 연쇄를 실행합니다. 프롬프트 작성자는 문제를 제공하고, 모델은 내부적으로 여러 접근 방식을 검토하며 스스로 오류를 수정한 다음 최종 답변을 생성합니다. budget_tokens (클로드) 또는 reasoning_effort (OpenAI)로 사고 깊이를 조절할 수 있습니다. 추론 모델은 복잡한 수학, 코딩, 다단계 논리에서 뛰어나지만 일반 모델보다 비용이 10~100배 높고 10~100배 느립니다. 사용자 경험에서 지연 시간을 관리하려면 스트리밍과 진행 표시기를 사용하십시오.

자주 묻는 질문

“추론 모델은 어떻게 다른가요?” 강의는 무료인가요?

네 — “추론 모델은 어떻게 다른가요?” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Prompt Engineering 강의 전체를 잠금 해제할 수 있습니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.

“추론 모델은 어떻게 다른가요?”에서 뭘 배우나요?

내부 사고 연쇄를 사용하는 모델과 일반 모델의 차이, 그리고 프롬프트 작성자에게 달라지는 점을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 AI Prompt Engineering을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

AI Prompt Engineering을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 AI Prompt Engineering은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“추론 모델은 어떻게 다른가요?” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 AI Prompt Engineering 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 AI Prompt Engineering 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 추론 모델은 어떻게 다른가요?
  2. 확장된 사고를 위한 효과적인 프롬프트
  3. 추론 모델과 일반 모델은 언제 사용할까요?
  4. 비용과 지연 시간의 절충
← AI Prompt Engineering(으)로 돌아가기