추론하기

추론하기 (Reasoning)

Grok의 추론 모델은 답을 내기 전에 문제를 단계별로 곱씹는 특징이 있어요. 복잡한 수학·논리·분석 작업에서 특히 강점을 보이고, 모델이 얼마나 깊이 생각할지 reasoning_effort 파라미터로 조절할 수 있죠. 이 페이지에서는 추론 모델을 다룰 때 알아 두면 좋은 파라미터와 동작을 정리해요.

출처: xAI 공식 문서 — Reasoning

추론 모델의 주요 특징

  • 답하기 전에 생각하기: 추론 모델은 답변 전에 문제를 단계별로 생각해요.
  • 수학·정량적 강점: 수치 문제, 논리 퍼즐, 복잡한 분석 작업에 탁월해요.
  • 추론 트레이스: 사용량 메트릭에서 reasoning_tokens를 노출하고, 일부 모델은 include: ["reasoning.encrypted_content"]로 암호화된 추론 내용을 돌려줄 수 있어요.

reasoning_effort 파라미터

grok-4.6grok-4.5reasoning_effort 파라미터를 지원해서, 모델이 답변 전에 생각에 쏟는 노력을 조절할 수 있어요. 값을 지정하지 않으면 기본값은 "high"이고, 추론을 아예 끌 수는 없습니다.

주의할 점이 하나 있어요. presencePenalty, frequencyPenalty, stop은 추론 모델과 함께 쓸 수 없어요. 여기에 포함된 요청은 오류를 돌려줍니다.

노력 단계 비교

설정 설명 가장 적합한 용도
"low" 추론 토큰을 적게 쓰지만 여전히 빠름 지연에 민감한 에이전트 작업, 간단한 도구 호출
"medium" 덜 지연에 민감한 앱을 위해 더 생각함 복잡한 데이터 분석, 긴 문맥 추론
"high" (기본) 더 깊은 사고를 위해 추론 토큰을 더 사용 매우 어려운 문제, 복잡한 수학, 다단계 논리
"xhigh" 최대 추론 깊이, 그만큼 지연도 높음 정답 품질이 응답 시간보다 중요한 최난해 문제

"xhigh"grok-4.6 이후에서만 쓸 수 있어요. grok-4.5처럼 지원하지 않는 모델에서는 "xhigh" 요청이 "high"로 처리됩니다.

파라미터 설정 예시

import os

from xai_sdk import Client
from xai_sdk.chat import system, user

client = Client(
    api_key=os.getenv("XAI_API_KEY"),
    timeout=3600,
)

chat = client.chat.create(
    model="grok-4.6",
    reasoning_effort="high",
    messages=[system("You are a highly intelligent AI assistant.")],
)
chat.append(user("Find all prime numbers p such that p^2 + 2 is also prime. Prove your answer."))

response = chat.sample()

print("Final Response:")
print(response.content)

멀티 에이전트 모델에서의 의미

grok-4.20-multi-agent에서는 reasoning.effort가 추론 깊이가 아니라 요청에 협력하는 에이전트 수를 제어해요. 자세한 내용은 멀티 에이전트 문서에서 확인할 수 있어요.

모델별 동작 요약

모델 reasoning 파라미터 동작
grok-4.6 reasoning.effort: "low" / "medium" / "high" (기본) / "xhigh" 추론 깊이 제어 (끌 수 없음)
grok-4.5 reasoning.effort: "low" / "medium" / "high" (기본) 추론 깊이 제어 (끌 수 없음)
grok-4.20-multi-agent reasoning.effort: "low" / "medium" / "high" / "xhigh" 에이전트 수 제어 (4 또는 16)

요약된 추론 내용 스트리밍

grok-4.6에서는 모델의 내부 추론 요약을 노출해요. 최종 응답과 함께 추론 요약 델타를 스트리밍해 보는 예시예요. 추론 모델은 답이 길어질 수 있으니 타임아웃을 길게 잡아 두는 게 좋습니다.

import os

from xai_sdk import Client
from xai_sdk.chat import system, user

client = Client(
    api_key=os.getenv("XAI_API_KEY"),
    timeout=3600,  # 추론 모델용으로 타임아웃을 길게
)

chat = client.chat.create(
    model="grok-4.6",
    messages=[system("You are a highly intelligent AI assistant.")],
)
chat.append(user("A projectile is launched at 30 m/s at 37° above horizontal from a 45 m cliff. Find its speed on impact. (g=10 m/s²)"))

for response, chunk in chat.stream():
    if chunk.reasoning_content:
        print(chunk.reasoning_content, end="", flush=True)

추론 모델을 쓰면 추론 토큰도 총 사용량의 일부로 과금된다는 점을 기억해 두세요.

더 알아보기