Rubric Labs
Simon Willison이 llm-anthropic 0.25에 추가한 thinking_effort·thinking_display 옵션으로, pip 한 줄과 플래그 하나만 붙이면 Claude Opus 4.7의 extended thinking 결과를 JSON 로그로 뽑아볼 수 있어요. 핵심 동작: -o thinking_effort xhigh 플래그.
← Tips
설정/세팅· easy

llm CLI로 Claude Opus 4.7 thinking 모드 켜기

Simon Willison이 llm-anthropic 0.25에 추가한 thinking_effort·thinking_display 옵션으로, pip 한 줄과 플래그 하나만 붙이면 Claude Opus 4.7의 extended thinking 결과를 JSON 로그로 뽑아볼 수 있어요.

Simon Willison이 llm-anthropic 플러그인 0.25를 릴리스하면서 claude-opus-4-7 모델 지원과 함께 thinking_effort, thinking_display 옵션을 추가했어요. 터미널에서 llm CLI를 쓰고 있다면, 플러그인 버전만 올리면 바로 extended thinking을 써볼 수 있어요.

thinking_display 옵션의 요약 출력은 현재 JSON 출력이나 JSON 로그 모드에서만 보여요. 일반 텍스트 출력에선 안 나와서, 처음엔 왜 아무것도 안 나오나 싶을 수 있어요.

준비물

  • Python 3.9+
  • llm CLI 설치 (pip install llm)
  • Anthropic API 키

스텝

1. 플러그인 업그레이드

기존에 llm-anthropic이 설치돼 있어도 버전을 올려야 새 옵션이 생겨요.

pip install -U llm-anthropic

설치 후 버전 확인.

llm plugins | grep anthropic

0.25 이상이면 돼요.

2. API 키 등록

처음 설정하는 경우라면 키를 등록해요. 이미 돼 있으면 건너뛰어도 돼요.

llm keys set anthropic
# 프롬프트가 뜨면 API 키 입력

3. thinking 모드로 쿼리 날리기

thinking_effort: xhigh가 핵심이에요. claude-opus-4-7 모델에서만 이 값을 지원해요.

llm -m claude-opus-4-7 \
  -o thinking_effort xhigh \
  -o thinking_display true \
  "피보나치 수열의 100번째 항을 구하는 가장 효율적인 방법을 설명해줘"

앞서 말했듯 thinking_display 결과는 일반 출력엔 안 보여요. JSON 로그로 봐야 해요.

4. JSON 로그에서 thinking 블록 확인

--json 플래그를 붙이면 응답 전체가 JSON으로 나와요. thinking 블록도 여기 담겨요.

llm -m claude-opus-4-7 \
  -o thinking_effort xhigh \
  -o thinking_display true \
  --json \
  "피보나치 수열의 100번째 항을 구하는 가장 효율적인 방법을 설명해줘"

저장된 로그에서 꺼내보고 싶다면 llm logs 명령을 써요.

llm logs --json | head -c 5000

확인 방법

JSON 출력 안에 thinking 키가 있고, 내용이 비어 있지 않으면 정상이에요. 대략 이런 구조로 나와요.

{
  "model": "claude-opus-4-7",
  "content": "...",
  "thinking": "먼저 행렬 거듭제곱 방식을 고려해보면..."
}

thinking 필드가 아예 없거나 null이면 플러그인 버전을 다시 확인해요.

응용

thinking_adaptive 옵션도 새로 생겼어요. true로 켜면 모델이 질문 복잡도에 따라 thinking 깊이를 알아서 조절해요. 단순한 질문엔 짧게, 복잡한 추론엔 길게 쓰는 식이에요.

llm -m claude-opus-4-7 \
  -o thinking_adaptive true \
  --json \
  "이 코드의 시간복잡도를 분석해줘"

트러블슈팅

thinking_display 결과가 안 보인다면 --json 플래그를 빠뜨린 경우가 대부분이에요. 일반 텍스트 모드에선 thinking 블록이 출력에 포함되지 않아요.

thinking_effort: xhigh 옵션이 unknown option 에러를 낸다면 플러그인이 0.25 미만이에요. pip install -U llm-anthropic으로 다시 올려요.

모델 이름을 claude-opus-4 또는 다른 버전으로 쓰면 thinking_effort: xhigh가 지원 안 될 수 있어요. 이 옵션은 claude-opus-4-7에서 확인된 값이에요.

이 설정으로 터미널에서 바로 Claude의 추론 과정을 들여다볼 수 있게 돼요. 디버깅이나 프롬프트 튜닝할 때 모델이 어떻게 생각하는지 보고 싶을 때 꽤 유용하더라고요.

참고 출처