Thinking 수준 (/think 지시문)
기능
- 인바운드 본문의 인라인 지시문: /t <level>, /think:<level> 또는 /thinking <level>.
- 수준 (별칭): off | minimal | low | medium | high | xhigh (GPT-5.2 + Codex 모델만)
- minimal → "think"
- low → "think hard"
- medium → "think harder"
- high → "ultrathink" (최대 예산)
- xhigh → "ultrathink+" (GPT-5.2 + Codex 모델만)
- highest, max는 high에 매핑됩니다.
- 제공자 참고사항:
- Z.AI (zai/*)는 바이너리 thinking (on/off)만 지원합니다. off가 아닌 모든 수준은 on으로 처리됩니다 (low에 매핑됨).
해결 순서
- 메시지의 인라인 지시문 (해당 메시지에만 적용).
- 세션 재정의 (지시문 전용 메시지를 보내서 설정).
- 전역 기본값 (구성의 agents.defaults.thinkingDefault).
- 폴백: 추론 가능 모델의 경우 low; 그렇지 않으면 off.
세션 기본값 설정
- 지시문만 있는 메시지를 보냅니다 (공백 허용), 예: /think:medium 또는 /t high.
- 현재 세션에 고정됩니다 (기본적으로 발신자별); /think:off 또는 세션 유휴 재설정으로 지워집니다.
- 확인 응답이 전송됩니다 (Thinking level set to high. / Thinking disabled.). 수준이 유효하지 않은 경우 (예: /thinking big), 명령이 힌트와 함께 거부되고 세션 상태는 변경되지 않습니다.
- 인수 없이 /think (또는 /think:)을 보내면 현재 thinking 수준을 확인할 수 있습니다.
에이전트별 적용
- Embedded Pi: 해결된 수준이 인프로세스 Pi 에이전트 런타임에 전달됩니다.
Verbose 지시문 (/verbose 또는 /v)
- 수준: on (minimal) | full | off (기본값).
- 지시문 전용 메시지는 세션 verbose를 토글하고 Verbose logging enabled. / Verbose logging disabled.로 응답합니다; 유효하지 않은 수준은 상태를 변경하지 않고 힌트를 반환합니다.
- /verbose off는 명시적 세션 재정의를 저장합니다; inherit를 선택하여 Sessions UI를 통해 지웁니다.
- 인라인 지시문은 해당 메시지에만 영향을 줍니다; 그렇지 않으면 세션/전역 기본값이 적용됩니다.
- 인수 없이 /verbose (또는 /verbose:)를 보내면 현재 verbose 수준을 확인할 수 있습니다.
- verbose가 on인 경우 구조화된 도구 결과를 내보내는 에이전트 (Pi, 기타 JSON 에이전트)는 각 도구 호출을 자체 메타데이터 전용 메시지로 다시 보냅니다. 가능한 경우 <emoji> <tool-name>: <arg> (path/command)가 접두사로 붙습니다. 이러한 도구 요약은 각 도구가 시작되자마자 전송됩니다 (별도의 버블), 스트리밍 델타가 아닙니다.
- verbose가 full인 경우 도구 출력도 완료 후 전달됩니다 (별도의 버블, 안전한 길이로 잘림). 실행 중에 /verbose on|full|off를 토글하면 후속 도구 버블이 새 설정을 따릅니다.
Reasoning 가시성 (/reasoning)
- 수준: on|off|stream.
- 지시문 전용 메시지는 thinking 블록이 응답에 표시되는지 여부를 토글합니다.
- 활성화되면 reasoning은 Reasoning: 접두사가 붙은 별도의 메시지로 전송됩니다.
- stream (Telegram만): 응답이 생성되는 동안 reasoning을 Telegram 초안 버블로 스트리밍한 다음 reasoning 없이 최종 답변을 보냅니다.
- 별칭: /reason.
- 인수 없이 /reasoning (또는 /reasoning:)을 보내면 현재 reasoning 수준을 확인할 수 있습니다.
관련
- Elevated 모드 문서는 Elevated mode에 있습니다.
Heartbeat
- Heartbeat 프로브 본문은 구성된 heartbeat 프롬프트입니다 (기본값: 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.). Heartbeat 메시지의 인라인 지시문은 평소와 같이 적용됩니다 (하지만 heartbeat에서 세션 기본값을 변경하는 것은 피하세요).
- Heartbeat 전달은 기본적으로 최종 페이로드만 전달합니다. 별도의 Reasoning: 메시지 (사용 가능한 경우)도 보내려면 agents.defaults.heartbeat.includeReasoning: true 또는 에이전트별 agents.list[].heartbeat.includeReasoning: true를 설정하세요.
웹 채팅 UI
- 웹 채팅 thinking 선택기는 페이지가 로드될 때 인바운드 세션 저장소/구성에서 세션의 저장된 수준을 미러링합니다.
- 다른 수준을 선택하면 다음 메시지에만 적용됩니다 (thinkingOnce); 전송 후 선택기는 저장된 세션 수준으로 돌아갑니다.
- 세션 기본값을 변경하려면 /think:<level> 지시문을 보내세요 (이전과 같이); 선택기는 다음 새로고침 후 이를 반영합니다.