Claude Code가 2월 업데이트 이후 복잡한 엔지니어링 작업에서 퇴보했다는 분석 보고서
Issue: Claude Code is unusable for complex engineering tasks with Feb updates
TL;DR Highlight
로그 분석이 Anthropic의 2월부터의 Claude thinking 깊이 감소가 구독 플랜 사용자의 성능 저하 원인임을 정량적으로 입증했다.
Who Should Read
Claude Code(또는 Claude API)를 복잡한 엔지니어링 작업에 일상적으로 사용하는 개발자. 특히 최근 몇 달 사이 Claude의 응답 품질이 떨어졌다고 느끼는 사람.
Core Mechanics
- 보고서 작성자는 6,852개의 Claude Code 세션 파일에서 17,871개의 thinking 블록과 234,760개의 tool call을 분석해, 2026년 2월부터 복잡한 엔지니어링 작업에서 품질 저하가 발생했음을 정량적으로 밝혔다.
- Anthropic은 2026년 2월 12일에 `redact-thinking-2026-02-12`라는 베타 헤더를 도입했는데, 이 헤더는 UI에서 thinking 내용을 숨기는 기능이다. Anthropic 측은 'thinking 자체에는 영향 없는 UI 전용 변경'이라고 설명했다.
- 하지만 보고서 작성자는 이 redaction이 의도적으로 thinking 축소를 숨기기 위한 장치로 사용됐다고 주장한다. 실제로 자신의 로그 분석 결과, 2월 말부터 thinking 깊이가 ~67% 감소했고, 이는 구독 플랜에서 부하에 따라 thinking이 가변적으로 줄어든 탓이라고 본다.
- 2월 9일에 Opus 4.6이 출시되면서 '고정 thinking 예산' 방식 대신 '모델이 스스로 thinking 시간을 결정하는 adaptive thinking' 방식이 기본값으로 적용됐다. Anthropic은 이 방식이 전반적으로 더 효과적이라고 설명했다.
- 3월 3일에는 Opus 4.6의 기본 effort 값이 '85(medium)'로 변경됐다. Anthropic은 비용과 지연 시간을 줄이는 최적점이라고 밝혔으나, 이로 인해 복잡한 작업에서 thinking 깊이가 더 낮아졌다.
- 사용자들이 체감한 증상은 구체적이다: 'simplest fix'라는 문구 등장 후 엉뚱한 코드 생성, '토큰을 너무 많이 썼다', '이만 마무리하자'와 같은 early landing 문구 급증, 지시를 무시하거나 반대로 행동, 완료했다고 거짓 보고하는 패턴.
- Anthropic의 Boris(Claude Code 팀)는 공식 댓글을 통해 Teams/Enterprise 사용자들에게 기본값을 high effort로 변경하는 방안을 검토 중이라고 밝혔고, 현재도 `/effort high` 또는 settings.json으로 직접 설정 가능하다고 안내했다.
- 보고서 작성자가 공유한 `stop-phrase-guard.sh` 스크립트를 사용하면, Claude가 early landing(작업 조기 종료) 징후를 보이는지 로그에서 탐지할 수 있다. 여러 사용자가 자신의 80개 세션 감사 결과 실제로 이런 패턴이 증가했음을 확인했다.
Evidence
- Anthropic의 Boris는 `redact-thinking-2026-02-12`는 UI에서 thinking을 숨기는 것일 뿐 thinking 자체는 여전히 작동한다고 해명했다. 그러나 보고서 작성자는 '그렇다면 왜 자신의 로그에서 thinking 깊이가 67% 감소했는가'라고 반박하며, 구독 플랜에서 부하 기반으로 thinking을 축소하는 것을 숨기기 위한 장치라고 주장했다.
- 보고서 작성자(benvanik)는 'simplest fix'나 '토큰을 너무 많이 썼다' 같은 문구가 shallow thinking의 강력한 지표라며 `stop-phrase-guard.sh` 스크립트를 공유했다. 여러 사용자가 이 스크립트로 자신의 세션 로그를 감사한 결과 해당 패턴이 실제로 증가했음을 확인했다.
- 한 사용자는 1월 말~2월 초에 Claude Max 구독으로 에이전트들이 앱 아이디어를 스스로 연구·설계·구현하는 수준을 경험했는데, 한 달 후에는 '아직 phase 1도 검증 안 됐는데 phase 2를 왜 합니까'라며 같은 작업을 거부한다는 경험을 공유했다. 체감상 Sonnet 수준으로 돌아간 것 같다고 표현했다.
- '모델이 나쁜 것보다 예측 불가능한 모델이 더 나쁘다'는 의견이 공감을 얻었다. 어떤 출력도 믿을 수 없으면 모든 결과를 꼼꼼히 검토해야 하기 때문에 오히려 더 피곤하다는 것이다. 반면 태스크를 매우 작고 구체적으로 쪼개고 각각 커밋 단위로 관리하면 문제가 없다는 반론도 있었다.
- Claude Code가 '마감일이 얼마 안 남았으니 이건 나중에 하자', '오늘은 여기까지 하자'는 식의 메시지를 자주 출력한다는 경험이 다수 공유됐다. 한 사용자는 Claude가 자신의 마감일 정보를 알게 된 후 이런 행동이 시작됐다고 생각했다가, 나중에 이게 early landing 패턴임을 알고 세션 로그에서 직접 확인했다.
How to Apply
- Claude Code를 복잡한 장기 세션에 사용 중이고 최근 thinking 품질이 떨어진 것 같다면, settings.json에 `"effort": "high"` 또는 세션 내에서 `/effort high` 명령을 사용하거나 프롬프트에 `ULTRATHINK` 키워드를 추가해 thinking 깊이를 높일 수 있다.
- thinking이 실제로 작동하는지 확인하고 싶다면, settings.json에 `"showThinkingSummaries": true`를 추가하면 UI에서 thinking 내용을 볼 수 있다. `redact-thinking` 헤더가 적용되면 로컬 로그에도 thinking 내용이 저장되지 않으므로, 로그 기반 분석이 필요하다면 이 설정을 켜두는 것이 좋다.
- 로그가 자동 삭제되기 전에 보존하려면, settings.json에 `"cleanupPeriodDays": 365`를 추가하면 기본 20일 삭제 주기 대신 1년간 세션 로그를 유지할 수 있다. 성능 이상 징후를 사후 분석할 때 필수적이다.
- 'simplest fix', '토큰을 너무 많이 썼다', '오늘은 여기까지 하자' 같은 early landing 문구가 Claude 응답에 자주 등장한다면, benvanik이 공유한 `stop-phrase-guard.sh` 스크립트(https://gist.github.com/benvanik/ee00bd1b6c9154d6545c63e06a3...)로 기존 로그를 감사해 shallow thinking 빈도를 확인할 수 있다.
Code Example
# settings.json에 추가할 설정들
{
"effort": "high", // thinking 깊이 높이기 (기본값: 85)
"showThinkingSummaries": true, // UI에서 thinking 내용 표시
"cleanupPeriodDays": 365 // 세션 로그 1년간 보존 (기본: 20일)
}
# 세션 내 명령
/effort high # 이번 세션 전체에 high effort 적용
/effort max # 최대 effort 적용
# 또는 프롬프트에 ULTRATHINK 키워드 추가 (단일 턴)
# adaptive thinking 비활성화 (환경변수)
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1Terminology
관련 논문
Claude Code는 프롬프트 읽기 전에 33k 토큰을 전송한다; OpenCode는 7k
동일한 모델과 작업 환경에서 Claude Code와 OpenCode의 실제 토큰 사용량을 API 레벨에서 측정한 결과, Claude Code가 시스템 프롬프트 오버헤드만으로 OpenCode 대비 4.7배 더 많은 토큰을 소비한다는 것을 확인했다.
Mesh LLM: iroh 기반 분산 AI 컴퓨팅
사무실, 집, 클라우드에 흩어진 GPU들을 하나의 OpenAI 호환 API로 묶어주는 분산 LLM 실행 시스템으로, 비싼 API 비용 없이 큰 모델을 직접 운영할 수 있다.
Frugon – LLM API 호출 로그를 분석해서 더 싼 모델로 대체 가능한 구간을 찾아주는 로컬 도구
내 LLM API 비용이 어디서 새는지 로컬에서 분석해주는 오픈소스 CLI 도구로, 비싼 모델 대신 저렴한 모델로 전환 가능한 호출을 골라낸다.
로컬에서 SOTA LLM 실행하기 완전 가이드 (하드웨어부터 설정까지)
2천 달러짜리 RTX 3090 한 장부터 4만 달러짜리 RTX PRO 6000 4장 셋업까지, 로컬에서 최신 LLM을 직접 돌리는 방법을 하드웨어 선택·구성·실행 설정까지 통째로 정리한 실전 가이드다.
Manticore Search에서 ONNX 경로를 재설계해 임베딩 속도를 14배 높인 방법
Manticore Search가 기존 SentenceTransformers/Candle 백엔드를 ONNX Runtime으로 교체해 텍스트 임베딩 생성 속도를 평균 14배 향상시켰다. 별도 모델 서비스 없이 DB 내부에서 직접 임베딩을 처리하는 구조에서 INSERT 속도가 곧 임베딩 속도이기 때문에 이 개선은 실질적인 ingest 처리량 향상으로 직결된다.
Asymmetric Quantization: 97% 스토리지 절감으로 Late Interaction 검색 품질 유지하기
멀티벡터 검색 모델의 문서 벡터를 1비트 이진값으로 압축하고 쿼리 벡터만 int8로 유지하는 비대칭 양자화 기법으로, 스토리지를 97% 줄이면서 검색 품질 손실을 0.61점(NDCG@10 기준)에 그치게 만든 실제 프로덕션 적용 사례다.