깊은 사고로 추론하기 (Deep Thinking)

깊은 사고로 추론하기 (Deep Thinking)

단순한 질문-답변을 넘어, 여러 단계의 논리 분석이 필요한 문제라면 모델이 답을 내놓기 전에 '생각하는 시간'을 갖게 하는 게 좋아요. 지능형 사고(Thinking) 기능이 바로 그 일을 하는데, 추론 사슬(Chain of Thought)을 켜서 답하기 전에 단계적으로 분석하도록 해요. 이번 글에서는 이 기능을 켜고 끄는 방법과, 추론 강도를 조절하는 파라미터를 살펴볼게요.

출처: 深度思考 (Deep Thinking) - 智谱开放平台 문서

어떤 일을 해주나요

깊은 사고를 켜면 모델이 다단계 추론, 논리 분석, 문제 해결에 특히 강해져요. 구체적으로는 복잡한 문제를 여러 단계로 쪼개 풀어나가고, 명확한 추론 과정을 내보여 주며, 오답을 줄여 답변 품질을 높입니다. 또한 때에 따라 '굳이 깊이 생각할 필요가 없는 질문'이면 모델이 스스로 판단해서 생략하니 응답 효율도 잡아줍니다.

지원 모델은 GLM-5.3, GLM-5.3-FLASH, GLM-5.2, GLM-5.1, GLM-5, GLM-5-Turbo, GLM-5V-Turbo, GLM-4.7, GLM-4.6, GLM-4.5 계열이에요.

핵심 파라미터

  • thinking.type — 깊은 사고 모드 제어.
    • enabled(기본): 생각을 켭니다. GLM-5.2·GLM-5.1 등은 모델이 자동 판단하고, GLM-5.3·GLM-5.3-FLASH·GLM-4.7·GLM-4.5V는 강제로 생각합니다.
    • disabled: 생각을 끄고 바로 답을 냅니다.
  • reasoning_effort — 생각 사슬의 추론 강도를 조절하며, GLM-5.2 이상에서 지원해요.
    • max(기본·권장, 깊은 추론), high(강화 추론), low(가벼운 추론).
    • GLM-5.3/GLM-5.3-FLASHmax·high·low만 받고, 다른 값을 넣으면 오류가 나요.
    • GLM-5.2는 이외에도 xhigh·medium·minimal·none을 받는데, none/minimal은 생각을 포기한다는 뜻이고 일부 값은 max/high로 매핑됩니다.

특이하게도 GLM-5.3GLM-5.3-FLASH더 이상 생각을 끄는 것을 지원하지 않아요. 요청에 thinking.typedisabled로 넣으면 오류가 나니, 최신 모델은 항상 생각을 켠 상태로 쓴다고 보면 됩니다.

호출 예시

cURL로 깊은 사고를 켜고 추론 강도를 지정하는 요청은 이렇게 생겼어요.

curl --location 'https://open.bigmodel.cn/api/paas/v4/chat/completions' \
  --header 'Authorization: Bearer ***' \
  --header 'Content-Type: application/json' \
  --data '{
      "model": "glm-5.3",
      "messages": [
          { "role": "user", "content": "이 수학 문제의 풀이 방식을 분석해줘" }
      ],
      "thinking": { "type": "enabled" },
      "reasoning_effort": "max"
  }'

스트리밍과 함께 쓰면 thinking.type: enabledstream: true를 함께 보내고, 응답의 delta.reasoning_content에서 점진적인 생각 과정을 받아볼 수 있어요.

더 알아보기 (Learn more)