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
관련 논문
Swift로 LLM 학습시키기 Part 1: 행렬 곱셈을 Gflop/s에서 Tflop/s로 끌어올리기
Apple Silicon에서 Swift로 직접 행렬 곱셈 커널을 구현하며 CPU, SIMD, AMX, GPU(Metal)를 단계별로 최적화해 Gflop/s에서 Tflop/s 수준까지 성능을 높이는 과정을 상세히 설명한 글이다. 프레임워크 없이 LLM 학습의 핵심 연산을 밑바닥부터 구현하고 싶은 개발자에게 Apple Silicon의 성능 한계를 체감할 수 있는 드문 자료다.
fsync 없이 로컬 스토리지 엔진을 crash-consistent하게 만든 방법
FractalBits가 fsync 없이 SSD 전용 KV 스토리지 엔진을 구현해 동일 조건 대비 약 65% 높은 쓰기 성능을 달성한 설계 방법을 공유했다. fsync의 메타데이터 오버헤드를 피하기 위해 사전 할당, O_DIRECT, SSD 원자 쓰기 단위 정렬 저널을 조합한 구조가 핵심이다.
Google Chrome, 사용자 동의 없이 4GB AI 모델(Gemini Nano)을 몰래 설치
Google Chrome이 사용자 동의 없이 Gemini Nano 4GB 모델 파일을 자동 다운로드하고, 삭제해도 재다운로드되는 문제가 발견됐다. GDPR 위반 가능성과 수십억 대 기기에 적용될 때의 환경 비용 문제가 제기되고 있다.
OpenAI가 대규모 저지연 Voice AI를 제공하는 방법
OpenAI가 9억 명 이상의 사용자에게 실시간 음성 AI를 제공하기 위해 WebRTC 스택을 어떻게 재설계했는지 설명하는 글로, relay + transceiver 분리 아키텍처의 설계 결정과 trade-off를 상세히 다룬다.
Truncated Decoding Tree의 결정론적 탐색을 통한 효율적인 Test-Time Inference
Self-consistency의 중복 샘플링 낭비를 없애는 결정론적 트리 탐색 디코딩 기법 DLE로 수학/코드 추론 성능과 속도를 동시에 개선
GoModel – Go로 작성된 오픈소스 AI Gateway
OpenAI, Anthropic, Gemini 등 여러 AI 프로바이더를 하나의 OpenAI 호환 API로 묶어주는 Go 기반 오픈소스 AI 게이트웨이로, LiteLLM의 컴파일 언어 대안이다.