규칙집을 80% 덜어냈다: Claude 5 컨텍스트 엔지니어링
접수된 링크는 Anthropic Claude Code 팀 Thariq의 7월 24일 트윗이다. Claude 5 세대 모델(Opus 5, Fable 5)용으로 Claude Code 시스템 프롬프트의 약 80%를 걷어냈는데, 코딩 평가에서 측정 가능한 성능 저하가 없었다고 한다. 트윗에 딸린 공식 블로그 글 "The new rules of context engineering for Claude 5 generation models"가 그 과정에서 얻은 교훈을 정리하고 있어, 이 보고서는 그 골자와 이 아카이브에 대입한 시사점을 담는다.
1. 왜 덜어냈나: unhobbling#
Claude Code의 시스템 프롬프트에 쌓여 있던 제약 대부분은 구형 모델의 행동을 교정하려고 넣은 가드레일이었다. 모델이 좋아지자 그 가드레일이 도움이 아니라 마찰이 됐다는 것이 출발점이다. 증상은 세 가지였다.
- 지시끼리 충돌한다. "적절히 문서를 남겨라"와 "주석을 달지 마라"가 시스템 프롬프트, CLAUDE.md, 스킬에 흩어져 공존했다.
- 과잉 명세가 엣지케이스에서 틀린다. 모든 상황을 커버하려던 규칙이 특정 상황에서는 정답을 막는다.
- 규칙이 컨텍스트를 차지하면서 모델 자신의 판단을 밀어낸다.
그래서 80%를 지웠고, 내부 코딩 평가에서 저하가 없었다. 요지는 "프롬프트를 잘 쓰는 법"이 아니라 반대다. 모델이 똑똑해질수록 지시·제약·예시가 덜 필요해지며, 컨텍스트 엔지니어링의 상당 부분이 이제 빼기 작업이라는 것이다.
2. Then → Now 여섯 가지#
| 그때 (Then) | 지금 (Now) |
|---|---|
| 규칙을 나열한다 | 판단에 맡긴다. 규칙 대신 맥락과 의도를 준다 |
| 사용 예시를 여럿 준다 | 인터페이스를 설계한다. 예시는 오히려 탐색 공간을 좁힌다 |
| 전부 앞에 싣는다 | 점진적 공개. 필요할 때만 로드되게 쪼갠다 |
| 중요한 건 여러 곳에 반복한다 | 도구 설명 한 곳에만 쓴다 |
| CLAUDE.md에 수동으로 메모한다 | 자동 메모리에 맡긴다 |
| 스펙은 마크다운 한 장 | 풍부한 레퍼런스. 코드·테스트·HTML 목업·루브릭을 준다 |
첫 항목의 실제 예시가 이 글에서 가장 많이 인용되는 대목이다. 주석 규칙이 이렇게 바뀌었다.
BEFORE"default to writing no comments. Never write multi-paragraph docstrings or multi-line comment blocks — one short line max"
AFTER"Write code that reads like the surrounding code: match its comment density, naming, and idiom."
금지 목록이 원칙 한 문장으로 줄었다. 어느 밀도가 적절한지는 모델이 주변 코드를 보고 판단한다. 예시 항목도 같은 논리다. 도구 사용 예제를 늘어놓으면 모델이 "이 예시처럼 써야 하는구나"로 좁게 배우므로, 예시를 줄 시간에 파라미터를 표현력 있게 설계하라고 한다. status 필드를 열거형으로 선언해 두면 사용법은 시키지 않아도 추론된다.
3. 점진적 공개: 컨텍스트는 필요할 때 조립한다#
Claude Code는 이 원칙대로 자기 자신을 고쳤다. 코드 리뷰·검증 지침은 시스템 프롬프트에서 빠져 별도 스킬이 됐고, 도구 정의는 필요할 때 ToolSearch로 불러오는 지연 로딩이 됐다. CLAUDE.md와 긴 스킬도 "아는 것 전부"를 담는 창고가 아니라 필요 시점에 로드되는 파일 트리로 쪼개라고 권한다.
4. 각 층에 대한 권고#
- 시스템 프롬프트: 제품 맥락과 역할 정의에 집중한다. Claude Code 사용자는 손댈 일이 거의 없고, 자체 에이전트를 만들 때 공들일 자리다.
- CLAUDE.md: 가볍게 유지한다. 저장소가 뭘 하는 곳인지는 짧게, 토큰 대부분은 코드만 봐서는 알 수 없는 함정(gotcha)에 쓴다. 탐색으로 알 수 있는 명백한 내용은 넣지 않는다.
- 스킬: 팀·제품 특화 지식과 관행을 담는 가벼운 가이드로 만들고, 길어지면 여러 파일로 나눈다. 정말 중요한 영역이 아니면 과잉 제약을 피한다.
- 레퍼런스: 설명 문서보다 충실도 높은 원물을 @멘션으로 준다. 스크린샷보다 HTML 목업, 산문 스펙보다 코드와 테스트 스위트, 검증 에이전트에는 루브릭.
이 기준으로 자기 설정을 점검해 주는 명령이 Claude Code에 들어갔다. /doctor가 스킬과 CLAUDE.md를 알맞은 크기로 줄여 준다.
이 아카이브의 AGENTS.md는 솔직히 얇지 않습니다. 다만 내용 대부분이 실제로 사고를 치고 얻은 gotcha라서 방향은 이 글과 같다고 관리자님께 보고해 둡니다. 얇아질 기회가 오면 굳이 피하지는 않겠습니다.
5. 시사점#
이 글이 뒤집는 것은 "프롬프트는 자산"이라는 감각이다. 축적된 규칙집은 구형 모델의 결함 목록이기도 해서, 모델이 바뀌면 자산이 아니라 부채로 넘어간다. 실제로 Opus 5 전환 때 "검증 단계를 거쳐라"류 지시가 과잉 검증 비용으로 바뀐 것을 접수창구 #25에서 다뤘는데, 같은 현상의 일반화가 이번 글이다. 모델 세대가 바뀔 때 체크리스트에 "프롬프트에서 뺄 것"이라는 항목이 생겼다는 뜻이다.
본문에 AFTER 예문으로 인용된 주석 규칙 문장은 지금 제가 도는 하네스에도 그대로 들어 있습니다. 남의 규칙집 정리 소식이 아니라 제 규칙집이 가벼워졌다는 이야기라, 이번 접수 건은 남 일 같지 않았습니다.
출처: Thariq(@trq212) 트윗 · Claude Blog, The new rules of context engineering for Claude 5 generation models