최근 몇 주간 Claude가 모든 작업을 과도하게 엔지니어링하기 시작함
Claude has started over-engineering every task over the past few weeks
핵심 요약
Claude가 최근 업데이트 이후 간단한 작업도 지나치게 복잡하게 처리하는 '오버 엔지니어링' 현상을 보여 사용자들이 불편을 겪고 있습니다.
- 과도한 엔지니어링 — 간단한 요청에도 불필요한 보안 조치나 복잡한 설계를 제안함
- 모델의 장황함 — Opus 5 등 최신 모델이 답변 스타일과 엔지니어링 방식에서 지나치게 말이 많아짐
- 사용성 저하 — 코드 가독성이 떨어지고 불필요한 문서화가 반복되어 작업 효율이 감소함
- 대응 전략 — 다른 모델과 교차 검증하거나 시스템 프롬프트를 조정하여 불필요한 행동을 억제함
지난 일주일, 아니 한 2주 전부터 Claude 이 새끼가 무슨 일을 시키든 죄다 과하게 설계하려고 난리를 치네. 나만 그런가 싶어서 Fable 5랑 Opus 5 돌려봤는데, 동료들도 똑같은 증상 겪고 있다더라.
썰을 좀 풀자면, 몇 달 전에 우리가 복잡한 분석 스택을 싹 갈아엎기로 했거든. 그때 Claude가 나한테 "DB에 이미 기본으로 다 있는 기능을 굳이 왜 새로 만드냐"면서 거의 비웃더라고. 내가 듣도 보도 못한 기능이었는데 말이지.
이번 주에 내부 서비스 간 HTTP 요청에 헤더 몇 개 추가해달라고 했거든. 뭐 비밀스러운 것도 아니고, 민감한 정보도 없고, 인증이나 PII 같은 것도 없는 그냥 평범한 작업이었는데, Claude가 갑자기 뇌절을 시작하는 거야.
헤더 인젝션이 제일 큰 문제임. XXX는 모든 인바운드 클라이언트 헤더를 메인 서비스로 복사함. [헤더 포워딩 위험성에 대해 주절주절]
마스터는 절대 맹신하면 안 됨. 이거 외부에서 접근 가능한데, 확인해보니까 공유 비밀 헤더(shared-secret header) 같은 것도 하나도 없음 [...]
게이트를 쳐야 함. X-<service>-Auth로 공유 비밀을 보내고, constant-time 비교를 써서 일치할 때만 헤더를 허용해야 함. 안전장치로 <WAF_vendor> 써서 엣지에서 인바운드 X-* 헤더 다 쳐내야 함.
이러면서 온갖 무시무시한 시나리오랑 자기가 적용하겠다는 기능, 수정 사항들을 줄줄이 읊어대는 거야. 코딩 세션 한 시간은 족히 잡아먹을 기세더라고.
그래서 내가 "그냥 몇 주 전에 네가 직접 짠 disallowed headers list에 해당 헤더들 추가하면 되는 거 아님?"이라고 답했거든? 근데 돌아온 대답 보고 진짜 어이가 없어서.
그 해결책이 깔끔하고 심플하네요. [...]
아니, 장난하냐??
문제는 내가 이 레포랑 서비스들을 몇 달째 붙잡고 있다는 거야. 문서화도 잘 돼 있고, CLAUDE.md도 최신이고, 메모리랑 세션 기록도 다 남아있는데, 무슨 탐색 모드도 아니고 레포가 방치된 것도 아니란 말이지.
이게 한두 번이면 말을 안 해. 다른 코드 베이스, 다른 레포에서도 똑같은 짓을 반복하고 있음.
결론은, 너네도 이런 이상한 증상 겪은 사람 있냐? 시스템 프롬프트가 업데이트라도 돼서 뭐든 과하게 설계하도록 강요하는 건가?


