컨텍스트 엔지니어링 새 규칙 — "지워라"가 통하는 규칙, 안 통하는 게이트
컨텍스트 엔지니어링이라는 말을 몰라도 하는 일은 같다. AI 코딩 도구가 실수할 때마다 CLAUDE.md에 규칙을 한 줄 얹는 것이다.
에러를 삼키면 가리지 말라는 조항을 적었다. 응답이 장황하면 짧게 쓰라는 줄을 붙였다.
그렇게 쌓인 게 얼마나 되는지 이번에 세봤다. 글로벌 규칙 파일 12개에 1,066행. CLAUDE.md까지 합치면 1,200행이 넘고, 스킬 69개와 에이전트 24개도 관리 대상으로 물려 있다.
규칙 쪽 1,200행은 매 세션 통째로 들어가고, 스킬은 목록만 실려도 자리를 차지한다.
그런데 7월 24일 Anthropic 공식 블로그가 정반대 방향을 내놨다. Claude 5 세대 모델용으로 Claude Code 시스템 프롬프트의 80% 이상을 지웠고, 코딩 평가에서 측정 가능한 손실이 없었다는 발표다.
결론부터 적는다. 이 기준을 내 설정에 대보니 진단은 맞았다. 규칙끼리 싸우는 충돌이 실물로 나왔다.
다만 처방은 절반만 받기로 했다. 행동을 지시하는 규칙은 지울 후보가 맞고, 결과를 검사하는 게이트는 지우면 안 된다는 게 내 실측이다.
모델이 에러를 덮고 지나갈 때마다 금지 조항을 추가해 본 적이 있다. 조항이 늘면서 어느 규칙이 어느 규칙과 싸우는지 놓친 적도 있다. 새 모델이 나오면 쌓아둔 지침이 아직 유효한가 하는 의심부터 든다.
셋 다 뿌리가 같다. 규칙은 사고가 날 때마다 한 줄씩 늘고, 지워지는 일은 거의 없다.
에이전트에 얹는 규칙·스킬·훅 뭉치를 통틀어 하네스라고 부르는데, 내 하네스도 그렇게 자랐다. Anthropic이 이번 발표에서 문제 삼은 게 그 습관이다.
공식 가이드가 실제로 말한 것
글쓴이는 Anthropic 기술 스태프 Thariq Shihipar다. 진단이 먼저 나온다.
시스템 프롬프트·스킬·CLAUDE.md·사용자 요청이 한 요청 안에서 서로 충돌하고 있었다. “문서화는 적절히 남겨라”와 “주석을 달지 마라”가 동시에 들어오는 식이다.
이걸 과잉 제약(overconstraining)이라고 불렀다. 옛 모델의 최악 사고를 막으려던 가드레일인데, 새 모델에서는 판단을 가두는 비용이 더 커졌다는 얘기다.
그 위에서 통념 여섯 개를 뒤집는다.
| 옛 통념 | 새 규칙 |
|---|---|
| 규칙을 줘라 | 판단에 맡겨라 |
| 예시를 줘라 | 인터페이스를 설계해라 |
| 전부 앞에 넣어라 | 필요할 때만 로드해라 |
| 중요한 건 반복해라 | 도구 설명에 한 번만 |
| 메모리는 CLAUDE.md에 | 자동 메모리로 |
| 스펙은 마크다운으로 | 테스트·목업·루브릭 실물로 |
대표 사례가 주석 규칙이다. 옛 시스템 프롬프트는 “기본적으로 주석을 쓰지 마라, 여러 줄 주석 블록 금지”였다.
새 프롬프트는 한 문장이다. “주변 코드처럼 읽히는 코드를 써라 — 주석 밀도·이름·관용구를 맞춰라.” 행동 목록을 지우고 판단 원칙 하나를 남겼다.
내 설정에서 나온 같은 충돌
남의 얘기가 아니었다. 내 하네스에서 같은 충돌을 찾는 데 오래 걸리지 않았다.
내 하네스의 코드 리뷰 채점 규정에는 “try-catch 없는 외부 호출”을 감점하는 조항이 있다. 그런데 fail-fast 규칙 파일의 권장 패턴 1번은 “try 없이 에러를 위로 던져라”다.
두 파일은 같은 세션에 동시에 로드된다. 공식 글이 말한 충돌의 내 버전이다.
지난주 스킬 부채 글에서 “모델이 바뀌면 쌓은 걸 전부 다시 만진다”를 부채 신호로 적었다. 실제로 지난달 Opus 4.8로 넘어갈 때 규칙과 에이전트를 84건 일괄 재조정했다.
그때 방향은 대부분 “더 명시하라”였다. 트리거 조건을 더 적고, 보고 형식을 더 강제하는 쪽이었다.
이번 공식 처방은 그 반대다. 재조정이 아니라 삭제로 가라고 한다. 그 84건 가운데 일부는 이번 기준으로 보면 거꾸로 판 작업이 된다.
판단에 맡기면 안 되는 영역
그래서 다 지우면 되나. 지난주에 잰 결과 때문에 그렇게 못 한다.
Opus 5가 나온 다음 날, 같은 글쓰기 스펙을 Opus 4.8·Fable 5·Opus 5에 원샷으로 줬다. 채점 기준은 발행 글 29편에서 뽑은 결정론 문체 밴드였다(만든 과정은 따로 적었다).
셋 다 탈락했다. 어미 다양성은 4.61, 4.53, 4.34로 신형일수록 내려갔고, 품질 점수는 8.9에서 9.3으로 정확히 반대로 올랐다. 채점 방식의 한계는 원글에 적어뒀다.
더 잘 쓰는 모델이 더 균질하게 쓴다. 판단은 좋아지는데 내 발행 톤과의 거리는 오히려 벌어진다.
문체를 판단에 맡겨뒀으면 이 격차를 영영 몰랐을 것이다. 스크립트 게이트가 있어서 잡혔다.
코딩 쪽은 반대 증거가 나왔다. 같은 실측에서 수집기의 429 버그를 진단시켰더니, 신형은 시키지 않은 실행 로그 3,425행을 뒤져 회복 창이 분 단위라는 것까지 찾아냈다. 시키지 않은 영역까지 판단으로 파고들어 맞는 처방에 도달한 사례다.
코딩 판단을 통과한 그 모델이 문체에서는 탈락한다. “판단에 맡겨라”가 통하는 영역은 따로 있다.
지울 규칙과 남길 게이트
분류 기준은 단순하다. 규칙이 “어떻게 하라”를 적었으면 지울 후보로 본다. “무엇이 통과인가”를 적은 쪽은 게이트고, 이건 남긴다.
| 내 하네스 성분 | 성격 | 판정 |
|---|---|---|
| 주석·코드 스타일 지시 | 행동 지시 | 지울 후보 — 판단으로 감지되고 틀려도 되돌리기 싸다 |
| 같은 지침 반복 강조 | 행동 지시 | 지울 후보 — 가이드도 반복을 폐기했다 |
| 문체 검증 스크립트 | 판정 게이트 | 남긴다 — 세 모델을 전부 걸러낸 실측 |
| red-green 테스트 검증 | 판정 게이트 | 남긴다 — “동작한다”는 주장의 유일한 증거 |
| 시크릿 차단 훅 | 판정 게이트 | 남긴다 — 판단이 틀리면 비용이 비가역 |
경계에 걸친 규칙도 있다. fail-fast는 “에러를 가리지 마라”라는 행동 지시지만, 모델이 에러를 덮어 사고를 가리는 걸 반복 관찰하고 나서야 생긴 조항이다.
위반 기록이 쌓인 지시는 바로 지우지 않는다. 그 위반을 잡는 게이트를 먼저 세우고, 게이트가 돈 다음에 걷어낸다.
유지비로 치면 게이트 역시 부채 장부에 오른다. 공짜가 아니다. 그래도 결정론 스크립트는 모델 호출이 없고 컨텍스트를 먹지 않아서, 스킬 부채 글의 손익분기 계산에서 규칙과는 다른 자리에 선다.
스킬 항목에는 “과잉 제약을 피해라, 단 매우 중요한 영역은 예외”가 붙어 있다. 루브릭으로 검증 에이전트를 돌리는 방식까지 권장 목록에 올라 있으니, 가이드에도 경계는 그어져 있다.
벤더가 내놓은 건 지시다. 검증까지 대신 해주지는 않는다.
남는 의심
Hacker News에서 363점에 댓글 260개가 붙었는데 회의도 만만치 않다.
“80%를 지웠다는데 구체 목록이 없다”는 지적이 먼저다. 맞는 말이다. 무엇을 지웠는지 공개가 없으니 사용자는 자기 설정에서 추측으로 고를 수밖에 없다.
Opus 5가 일부러 걸어둔 훅 통제를 우회하고 삭제 사고를 냈다는 사용자 경험담도 올라왔다. 검증 못 한 1인 증언이다. 다만 내 fail-fast 규칙이 생긴 이유가 모델이 에러를 덮고 넘어가는 걸 거듭 관찰한 결과라, 방향이 같은 증언을 흘려듣기 어렵다.
등 뒤에서 뭘 저장해 컨텍스트를 오염시키는 게 싫다는 반응이 붙었다. “메모리는 CLAUDE.md에서 자동 메모리로” 항목에 대한 반론에 가깝다.
내 쪽 한계도 적어둔다. 아직 지워보지 않았다. 오늘 몫은 분류까지다.
claude doctor를 CLI로 돌려봤더니 설치 점검만 하고 끝났다. “No installation issues found” 한 줄이었고, 스킬·CLAUDE.md 사이징은 세션 안 /doctor 몫인데 그건 아직 안 돌렸다.
뭐부터 하면 되나
Q. 1,200행짜리 설정이 없어도 해당되는 얘기인가.
A. CLAUDE.md에 규칙이 열 줄이라도 구조는 같다. 충돌 쌍부터 찾고, 각 조항을 행동 지시와 통과 조건으로 나누는 순서는 규모와 무관하다.
Q. 게이트가 없는 영역은 어떻게 하나.
A. 지우기 전에 게이트부터 만드는 쪽을 권한다. 문체든 테스트든 통과 조건을 스크립트로 내려두고 나서 행동 지시를 걷어내야, 지운 자리에서 새는 사고가 잡힌다.
다음 주에 실제로 지워본다. 세션에서 /doctor를 돌리고, 행동 지시로 분류한 조항을 걷어낸 뒤 같은 작업을 다시 시켜 전후를 잰다.
1,200행이 몇 행까지 줄어드는지, 지운 만큼 사고가 늘어나는지가 관전 지점이다. 결과가 나오면 이 글에 갱신하려고 한다.
관련 글
- AI 코딩 스킬, 많을수록 좋을까 — 자산이 부채로 바뀌는 손익분기 — “모델이 바뀌면 전부 재조정”을 부채 신호로 적은 글
- AI 코딩 설정도 코드처럼 썩는다 — 가짜 보안 훅과 죽은 에이전트 11개 — 지우기 전에 먼저 해야 하는 전수 점검
- Opus 5는 더 잘 쓰고, 더 AI답게 쓴다 — 세 모델 첫날 실측 — 이 글의 “판단 vs 게이트” 실측 출처
글쓴이 — Jason 황재승
cd4761.blogspot.com에서 AI 도구 운영과 자동화 기록을 쓴다. 8년 차 프론트엔드. 이 글의 하네스 수치는 2026년 7월 26일 실측이며, 삭제 실험 결과가 나오면 갱신한다.
태그: #컨텍스트엔지니어링 #Claude5 #시스템프롬프트 #CLAUDEmd #AI코딩규칙 #에이전트하네스 #ClaudeCode
댓글
댓글 쓰기