메인 콘텐츠로 건너뛰기

Thinking 수준 (/think 지시어)

What it does

  • 모든 수신 본문에서 인라인 지시어를 사용할 수 있습니다: /t <level>, /think:<level>, 또는 /thinking <level>.
  • 수준(별칭): off | minimal | low | medium | high | xhigh | adaptive
    • minimal → “think”
    • low → “think hard”
    • medium → “think harder”
    • high → “ultrathink” (최대 예산)
    • xhigh → “ultrathink+” (GPT-5.2 + Codex 모델 전용)
    • adaptive → 공급자가 관리하는 적응형 추론 예산(Anthropic Claude 4.6 모델 계열에서 지원)
    • x-high, x_high, extra-high, extra high, extra_highxhigh로 매핑됩니다.
    • highest, maxhigh로 매핑됩니다.
  • Provider notes:
    • Anthropic Claude 4.6 모델은 명시적인 thinking 수준이 설정되지 않으면 기본값으로 adaptive를 사용합니다.
    • Z.AI(zai/*)는 이진 thinking(on/off)만 지원합니다. off가 아닌 모든 수준은 on으로 처리됩니다(low로 매핑).
    • Moonshot(moonshot/*)은 /think offthinking: { type: "disabled" }로, off가 아닌 모든 수준을 thinking: { type: "enabled" }로 매핑합니다. thinking이 활성화되면 Moonshot은 tool_choiceauto|none만 허용하며, OpenClaw는 호환되지 않는 값을 auto로 정규화합니다.

Resolution order

  1. 메시지의 인라인 지시어(해당 메시지에만 적용).
  2. session override(지시어만 있는 메시지를 보내 설정).
  3. global default(설정의 agents.defaults.thinkingDefault).
  4. fallback: Anthropic Claude 4.6 모델은 adaptive, 그 외 reasoning-capable models는 low, 나머지는 off.

Setting a session default

  • 공백만 허용된 상태로 지시어만 포함한 메시지를 보내세요. 예: /think:medium 또는 /t high.
  • 이 설정은 현재 session(기본적으로 sender별)에 유지되며, /think:off 또는 session idle reset으로 해제됩니다.
  • 확인 응답이 전송됩니다(Thinking level set to high. / Thinking disabled.). 수준이 올바르지 않으면(예: /thinking big) 힌트와 함께 명령이 거부되며 session state는 변경되지 않습니다.
  • 현재 thinking 수준을 보려면 인자 없이 /think(또는 /think:)를 보내세요.

Application by agent

  • Embedded Pi: 결정된 수준이 인프로세스 Pi 에이전트 런타임에 전달됩니다.

Verbose directives (/verbose 또는 /v)

  • 수준: on (최소) | full | off (기본값).
  • 지시어만 있는 메시지는 session verbose를 전환하고 Verbose logging enabled. / Verbose logging disabled.로 응답합니다. 잘못된 수준은 상태를 바꾸지 않고 힌트를 반환합니다.
  • /verbose off는 명시적인 session override를 저장합니다. Sessions UI에서 inherit를 선택해 이를 해제하세요.
  • 인라인 지시어는 해당 메시지에만 영향을 주며, 그 외에는 session/global defaults가 적용됩니다.
  • 현재 verbose 수준을 보려면 인자 없이 /verbose(또는 /verbose:)를 보내세요.
  • verbose가 켜져 있으면 구조화된 도구 결과를 내보내는 에이전트(Pi, 기타 JSON 에이전트)는 각 도구 호출을 별도의 메타데이터 전용 메시지로 다시 보냅니다. 가능한 경우 <emoji> <tool-name>: <arg> 형식의 접두사(경로/명령)가 붙습니다. 이러한 도구 요약은 각 도구가 시작되는 즉시(별도 버블) 전송되며 스트리밍 델타로 전송되지는 않습니다.
  • 도구 실패 요약은 일반 모드에서도 계속 표시되지만, 원시 오류 상세 접미사는 verbose가 on 또는 full이 아니면 숨겨집니다.
  • verbose가 full이면 완료 후 도구 출력도 전달됩니다(별도 버블, 안전한 길이로 잘림). 실행이 진행 중일 때 /verbose on|full|off를 전환하면 이후 도구 버블은 새 설정을 따릅니다.

Reasoning visibility (/reasoning)

  • 수준: on|off|stream.
  • 지시어만 있는 메시지는 replies에서 thinking blocks를 표시할지 여부를 전환합니다.
  • 활성화되면 추론은 Reasoning: 접두사가 붙은 별도 메시지로 전송됩니다.
  • stream(Telegram 전용): 응답 생성 중 Telegram 초안 버블에 추론을 스트리밍한 뒤, 최종 응답은 추론 없이 전송합니다.
  • 별칭: /reason.
  • 현재 추론 수준을 보려면 인자 없이 /reasoning(또는 /reasoning:)을 보내세요.

Heartbeats

  • 하트비트 프로브 본문은 구성된 하트비트 프롬프트입니다(기본값: Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.). 하트비트 메시지의 인라인 지시어는 평소처럼 적용되지만(하트비트에서 세션 기본값을 바꾸는 것은 피하세요).
  • 하트비트 전달은 기본적으로 최종 페이로드만 보냅니다. 별도의 Reasoning: 메시지도 함께 보내려면(사용 가능한 경우) agents.defaults.heartbeat.includeReasoning: true 또는 에이전트별 agents.list[].heartbeat.includeReasoning: true를 설정하세요.

Web chat UI

  • 웹 채팅 thinking selector는 페이지가 로드될 때 inbound session store/config에 저장된 session level을 반영합니다.
  • 다른 수준을 선택하면 다음 메시지에만 적용됩니다(thinkingOnce). 전송 후 selector는 저장된 session level로 돌아갑니다.
  • session default를 바꾸려면 예전과 같이 /think:<level> 지시어를 보내세요. selector는 다음 reload 후 이를 반영합니다.