사고 수준 (/think 디렉티브)

기능

  • 모든 인바운드 본문의 인라인 디렉티브: /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에 매핑됩니다.
  • 프로바이더 참고:
    • Anthropic Claude 4.6 모델은 명시적 사고 수준이 설정되지 않으면 기본적으로 adaptive를 사용합니다.
    • Z.AI (zai/*)는 이진 사고(on/off)만 지원합니다. off가 아닌 모든 수준은 on으로 처리됩니다(low에 매핑).
    • Moonshot (moonshot/*)은 /think offthinking: { type: "disabled" }에 매핑하고 off가 아닌 모든 수준을 thinking: { type: "enabled" }에 매핑합니다. 사고가 활성화되면 Moonshot은 tool_choice auto|none만 허용합니다. OpenClaw는 호환되지 않는 값을 auto로 정규화합니다.

해석 순서

  1. 메시지의 인라인 디렉티브 (해당 메시지에만 적용).
  2. 세션 재정의 (디렉티브 전용 메시지를 보내서 설정).
  3. 전역 기본값 (설정의 agents.defaults.thinkingDefault).
  4. 폴백: Anthropic Claude 4.6 모델은 adaptive, 기타 추론 지원 모델은 low, 그 외는 off.

세션 기본값 설정

  • 디렉티브만 포함된 메시지를 보냅니다(공백 허용). 예: /think:medium 또는 /t high.
  • 현재 세션에 유지됩니다(기본적으로 발신자별). /think:off 또는 세션 유휴 리셋으로 해제됩니다.
  • 확인 응답이 전송됩니다(Thinking level set to high. / Thinking disabled.). 수준이 유효하지 않으면(예: /thinking big), 명령이 힌트와 함께 거부되고 세션 상태는 변경되지 않습니다.
  • 인수 없이 /think(또는 /think:)를 보내면 현재 사고 수준을 확인할 수 있습니다.

에이전트별 적용

  • 내장 Pi: 해석된 수준이 인프로세스 Pi 에이전트 런타임에 전달됩니다.

빠른 모드 (/fast)

  • 수준: on|off.
  • 디렉티브 전용 메시지는 세션 fast-mode 재정의를 토글하고 Fast mode enabled. / Fast mode disabled.로 응답합니다.
  • 모드 없이 /fast(또는 /fast status)를 보내면 현재 유효 fast-mode 상태를 확인합니다.
  • OpenClaw는 다음 순서로 fast 모드를 해석합니다:
    1. 인라인/디렉티브 전용 /fast on|off
    2. 세션 재정의
    3. 모델별 설정: agents.defaults.models["<provider>/<model>"].params.fastMode
    4. 폴백: off
  • openai/*의 경우, fast 모드는 OpenAI 빠른 프로파일을 적용합니다: 지원 시 service_tier=priority, 낮은 추론 노력 및 낮은 텍스트 상세도.
  • openai-codex/*의 경우, fast 모드는 Codex Responses에 동일한 저지연 프로파일을 적용합니다. OpenClaw는 두 인증 경로에 걸쳐 하나의 공유 /fast 토글을 유지합니다.
  • 직접 anthropic/* API 키 요청의 경우, fast 모드는 Anthropic 서비스 티어에 매핑됩니다: /fast onservice_tier=auto, /fast offservice_tier=standard_only.
  • Anthropic fast 모드는 API 키 전용입니다. OpenClaw는 Claude 셋업 토큰/OAuth 인증 및 비 Anthropic 프록시 base URL에 대해 Anthropic 서비스 티어 주입을 건너뜁니다.

상세 디렉티브 (/verbose 또는 /v)

  • 수준: on (최소) | full | off (기본값).
  • 디렉티브 전용 메시지는 세션 상세 모드를 토글하고 Verbose logging enabled. / Verbose logging disabled.로 응답합니다. 유효하지 않은 수준은 상태를 변경하지 않고 힌트를 반환합니다.
  • /verbose off는 명시적 세션 재정의를 저장합니다. Sessions UI에서 inherit를 선택하여 해제하세요.
  • 인라인 디렉티브는 해당 메시지에만 영향을 미칩니다. 그 외에는 세션/전역 기본값이 적용됩니다.
  • 인수 없이 /verbose(또는 /verbose:)를 보내면 현재 상세 수준을 확인합니다.
  • 상세 모드가 활성화되면, 구조화된 도구 결과를 출력하는 에이전트(Pi 등)는 각 도구 호출을 <emoji> <tool-name>: <arg> 형식의 메타데이터 전용 메시지로 전송합니다(사용 가능한 경우 path/command). 이러한 도구 요약은 각 도구가 시작될 때(별도 버블) 전송되며, 스트리밍 델타가 아닙니다.
  • 도구 실패 요약은 일반 모드에서도 표시되지만, 원시 오류 상세 접미사는 verbose가 on 또는 full인 경우에만 포함됩니다.
  • verbose가 full이면 완료 후 도구 출력도 전달됩니다(별도 버블, 안전한 길이로 잘림). 실행 중에 /verbose on|full|off를 토글하면 이후 도구 버블이 새 설정을 따릅니다.

추론 가시성 (/reasoning)

  • 수준: on|off|stream.
  • 디렉티브 전용 메시지는 응답에 사고 블록 표시 여부를 토글합니다.
  • 활성화되면 추론이 Reasoning: 접두사가 붙은 별도 메시지로 전송됩니다.
  • stream (Telegram 전용): 응답 생성 중 Telegram 초안 버블에 추론을 스트리밍한 후, 추론 없이 최종 답변을 전송합니다.
  • 별칭: /reason.
  • 인수 없이 /reasoning(또는 /reasoning:)을 보내면 현재 추론 수준을 확인합니다.

관련 문서

하트비트

  • 하트비트 프로브 본문은 설정된 하트비트 프롬프트입니다(기본값: 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를 설정하세요.

웹 채팅 UI

  • 웹 채팅 사고 선택기는 페이지 로드 시 인바운드 세션 저장소/설정에서 세션의 저장된 수준을 반영합니다.
  • 다른 수준을 선택하면 다음 메시지에만 적용됩니다(thinkingOnce). 전송 후 선택기는 저장된 세션 수준으로 돌아갑니다.
  • 세션 기본값을 변경하려면 /think:<level> 디렉티브를 보내세요(이전과 동일). 다음 리로드 후 선택기에 반영됩니다.