Anthropic Claude Code 품질 저하 사후분석 - 한 달 동안 겹친 세 가지 버그
목차
개요
Anthropic이 Claude Code 품질 저하에 관한 사후분석을 공개했다. 서로 무관한 세 가지 이슈가 한 달간 겹치면서 모델이 전반적으로 열화된 것처럼 보였다. API와 추론 레이어 자체는 영향을 받지 않았고, 대상은 Claude Code의 Sonnet 4.6, Opus 4.6, Opus 4.7이다.
타임라인
| 날짜 | 사건 |
|---|---|
| 3월 4일 | 추론 노력 기본값 high → medium 변경 |
| 3월 26일 | 캐싱 최적화 배포 (버그 포함) |
| 4월 7일 | 추론 노력 기본값 high로 복원 |
| 4월 10일 | v2.1.101에서 캐싱 버그 수정 |
| 4월 16일 | 장황함 축소용 시스템 프롬프트 추가 |
| 4월 20일 | v2.1.116에서 장황함 프롬프트 철회 |
| 4월 23일 | 전체 구독자 사용 한도 리셋 |
핵심 내용
추론 노력 기본값 변경
3월 4일 팀은 추론 노력 기본값을 high에서 medium으로 낮추며 지능보다 지연 시간을 우선시했다. 이 결정은 사용자 선호를 잘못 읽은 것이었다. 사용자들은 기본값을 더 높은 지능으로 두고, 간단한 과제에 한해 낮은 노력으로 내려가는 방식을 선호했다. 4월 7일 high가 기본값으로 복원됐다.
캐싱 최적화 버그
3월 26일 배포된 프롬프트 캐싱 최적화는 유휴 세션의 오래된 사고 과정을 “한 번만” 삭제하도록 설계됐다. 그러나 구현 오류로 인해 해당 동작이 세션 내 매 턴마다 반복됐다. 결과적으로 Claude는 대화 턴 사이에서 컨텍스트를 반복적으로 잃었다. 사용자 체감으로는 “Claude가 이전 메시지를 잊는다”는 문제였다. 캐시 미스가 늘며 사용 한도도 더 빠르게 소진됐다. 버그는 4월 10일 v2.1.101에서 수정됐다.
장황함 억제 시스템 프롬프트
4월 16일에는 도구 호출 사이의 텍스트를 25 단어 이하로 유지하라는 시스템 프롬프트 지시가 추가됐다. 내부 평가를 통과했음에도 실제 출력 품질을 저하시켰다. 과제 수행 중 필요한 설명과 계획을 과도하게 압축하게 만들었기 때문이다. 4월 20일 v2.1.116에서 이 프롬프트가 철회됐다. 이 사건은 평가 방법론 자체의 사각지대를 드러낸 대표 사례로 기록됐다.
영향과 조치
이슈들은 Sonnet 4.6, Opus 4.6, Opus 4.7에 영향을 주었다. 사용자는 망각, 반복, 일관성 없는 성능을 경험했고 캐시 미스로 사용 한도가 평소보다 빨리 소진됐다. API와 추론 레이어는 영향을 받지 않았다.
Anthropic은 4월 23일 전체 구독자의 사용 한도를 리셋했다. 세 이슈는 2024년 4월 20일까지 모두 해결됐다고 명시됐다. 조치 이후 다음과 같은 재발 방지 조치가 적용됐다.
- 시스템 프롬프트 변경에 대한 통제 강화
- 코드 리뷰 도구의 역량 확장
- 모델별 수정에 대한 더 넓은 평가 스위트 확보
의미와 시사점
세 이슈는 성격이 모두 다르다. 하나는 제품 기본값의 사용자 선호 오독, 하나는 최적화 코드의 실행 빈도 버그, 하나는 시스템 프롬프트의 과도한 제약이었다. 공통점은 내부 평가 기준을 통과했지만 실사용 품질에는 부정적으로 작용했다는 점이다.
이 사례는 모델 행동을 결정하는 여러 레이어(기본값, 캐시, 시스템 프롬프트)가 각각 독립적으로 배포되면서 결합 효과를 일으킬 수 있음을 보여준다. 사용자는 단일 모델 품질 저하로 체감하지만, 실제로는 주변 인프라의 작은 결정들이 누적된 결과였다. 기존 평가 스위트가 다루지 못한 “턴 간 컨텍스트 유지”와 “설명 품질” 같은 지표가 별도로 필요하다는 점도 확인됐다.
결론
Claude Code 품질 저하는 모델이 아니라 모델을 감싸는 래퍼들의 문제였다. Anthropic은 기본값 결정, 최적화 구현, 시스템 프롬프트 추가라는 세 축 모두에서 검증 절차를 재정비하고 구독자 사용 한도를 리셋해 사과 의사를 구체적으로 표현했다. 내부 평가와 실사용 품질 사이의 간극을 좁히는 일이 향후 과제임을 분명히 한 사후분석이다.