
CLAUDE.md에 규칙을 더 넣을수록 나빠지는 이유
앤트로픽은 2026년 7월 24일 클로드 코드의 시스템 프롬프트를 80% 이상 삭제했고, 코딩 평가에서 측정 가능한 성능 저하가 없었다고 밝혔습니다. 진단은 한 단어였습니다 — overconstraining(과잉 제약). 이 글은 그 발표에 담긴 여섯 가지 기준을 정리하고, 실제로 매일 돌아가는 설정 하나에 그대로 대봤을 때 무엇이 맞고 무엇이 어긋났는지를 기록한 것입니다. 출처는 앤트로픽 공식 블로그 "The new rules of context engineering for Claude 5 generation models"(Thariq Shihipar)입니다.
앤트로픽이 지운 것은 무엇인가
80%라는 숫자의 기준량이란?
여기서 80%는 클로드 코드라는 제품의 시스템 프롬프트 기준입니다. 사용자가 작성하는 CLAUDE.md가 80% 줄었다는 뜻이 아니고, 모든 프롬프트를 80% 줄이라는 권고도 아닙니다. 원문 표현은 다음과 같습니다.
왜 지울 수 있게 됐나
모델 세대가 바뀌었기 때문입니다. 구형 모델은 지시를 좁게 못 박아야 원하는 대로 움직였습니다. 새 세대는 같은 결과를 판단의 여지를 주는 문장으로도 냅니다. 그래서 과거에 필요했던 제약이 지금은 오히려 서로 부딪치는 소음이 됐다는 것이 앤트로픽의 설명입니다. 실제로 자사 사용 기록을 읽어보니 한 요청 안에 서로 충돌하는 지시가 여러 개 들어 있었다고 합니다.
여섯 가지 기준
1. 규칙을 주지 말고 판단을 맡긴다
예전에는 "주석은 한 줄까지"처럼 못 박아야 했습니다. 지금은 "주변 코드처럼 읽히게 써라 — 주석 밀도, 이름 짓기, 관용구를 맞춰라" 정도면 됩니다. 규칙이 아니라 기준을 주는 쪽이 낫다는 것입니다.
2. 예시를 주지 말고 인터페이스를 설계한다
도구 사용 예시를 잔뜩 붙이면 모델이 그 예시 근처에서만 움직입니다. 예시를 붙이는 대신 매개변수 자체를 표현력 있게 만드는 편이 낫습니다. 상태를 자유 문자열이 아니라 열거형으로 받게 하는 식입니다.
3. 앞에 다 넣지 말고 필요할 때 꺼낸다
모든 정보를 앞에 쌓아두는 대신, 필요한 시점에 해당 맥락만 불러오는 방식(progressive disclosure)입니다. 스킬과 지연 로딩 도구가 그 방향으로 진화한 이유입니다. 여섯 가지 중 개인 설정에 가장 크게 걸리는 항목입니다.
4. 반복하지 말고 도구 설명에만 쓴다
같은 지시를 시스템 프롬프트에도 쓰고 도구 설명에도 쓰는 중복을 없애라는 것입니다. 새 모델은 한 번만 말해도 알아듣습니다.
5. CLAUDE.md에 기억을 쌓지 말고 자동 메모리를 쓴다
기억을 손으로 CLAUDE.md에 적어 쌓는 대신, 모델이 관련 있는 것을 스스로 저장하게 하라는 것입니다. CLAUDE.md에 대한 원문의 권고는 명확합니다.
저장소가 무엇을 하는 곳인지 짧게 적고, 토큰의 대부분은 코드베이스 안의 함정(gotchas)에 쓰라는 뜻입니다.
6. 단순한 명세 대신 풍부한 참조를 준다
마크다운 명세만 던지는 대신 HTML 아티팩트, 코드, 검증용 루브릭처럼 구조가 있는 참조를 주라는 것입니다. 새 모델은 복잡한 참조를 다룰 수 있고, 사람도 그쪽이 읽기 좋습니다.
실제 설정에 대봤습니다
매일 실제 업무로 돌아가는 설정 하나를 여섯 기준으로 점검했습니다. 결과가 반반이었습니다.
| 기준 | 실측 결과 | 판정 |
|---|---|---|
| 1. 규칙 대신 판단 | 규칙 형태의 문장이 다수. 다만 대부분이 실제 사고에서 나온 것이라 단순 과잉 제약과 성격이 다름 | 보류 |
| 2. 예시 대신 인터페이스 | 예시 위주로 작성돼 있음 | 어긋남 |
| 3. 앞에 다 넣지 않기 | 세션 시작 시 고정 로드가 약 45,000자(대략 2만 토큰). 정확히 "앞에 다 넣기" | 어긋남 |
| 4. 반복하지 않기 | 같은 규율이 서로 다른 문서 3곳에 중복(자기 검수·실패 3회 규칙 등) | 어긋남 |
| 5. 자동 메모리 | 메모리를 별도 파일 106개로 분리해 필요 시 불러오는 구조 | 맞음 |
| 6. 풍부한 참조 | 산출물을 HTML로 내는 방식을 이미 사용 중 | 맞음 |
CLAUDE.md 자체는 48줄이었습니다. "가볍게 유지하라"는 권고에는 맞습니다. 문제는 그 파일이 아니라, 세션 시작에 함께 딸려 올라가는 나머지였습니다.
80%를 그대로 따라 지우면 안 되는 이유
지워도 되는 것과 지우면 안 되는 것이 섞여 있습니다
과잉 제약에는 두 종류가 있습니다.
- 모델 세대가 낡아서 넣었던 제약 — 지금은 없어도 됩니다. 이건 지우는 게 맞습니다.
- 실제 사고를 겪고 넣은 제약 — 모델이 좋아진 것과 무관합니다. 같은 사고가 다시 나면 손해는 그대로입니다.
앤트로픽이 지운 80%는 제품 시스템 프롬프트이고, 그들은 그것을 평가 지표로 검증한 뒤 지웠습니다. 개인 설정에는 그 평가 지표가 없습니다. 그래서 같은 비율을 근거 없이 적용하면, 줄어든 것은 토큰이고 늘어난 것은 재발 위험이 됩니다.
먼저 손댈 곳은 3번과 4번입니다
여섯 개를 한꺼번에 고칠 필요는 없습니다. 위 점검에서 어긋난 셋 중 3번(앞에 다 넣기)과 4번(중복)은 지워도 잃는 것이 없습니다. 중복은 정의상 같은 말이 두 번 있는 것이고, 앞에 다 넣기는 필요할 때 꺼내는 방식으로 바꾸면 내용이 사라지지 않습니다. 반면 1번은 위에서 말한 두 종류가 섞여 있어 한 줄씩 봐야 합니다.
이 글에서 확인하지 못한 것
- 토큰 절감량을 실측하지 않았습니다. "45,000자 ≈ 2만 토큰"은 글자 수 기준 추정이며, 실제 토크나이저로 센 값이 아닙니다.
- 지운 뒤 품질이 유지되는지 아직 재지 않았습니다. 앤트로픽은 코딩 평가로 검증했지만, 이 글에서 점검한 설정에는 비교할 평가 세트가 없습니다.
- 여섯 기준의 원문 전체를 옮기지 않았습니다. 각 항목의 요지만 정리했으므로 정확한 표현은 원문을 확인하는 편이 낫습니다.
- 이 발표는 클로드 5 세대 모델을 전제로 합니다. 구형 모델을 쓰고 있다면 그대로 적용되지 않을 수 있습니다.
자주 묻는 질문 FAQ
Q1. CLAUDE.md는 몇 줄이 적당한가요?
앤트로픽은 줄 수를 정하지 않았습니다. 기준은 길이가 아니라 내용입니다 — 저장소가 무엇을 하는 곳인지 짧게 적고, 토큰의 대부분을 코드베이스 안의 함정에 쓰라는 것이 원문의 권고입니다.
Q2. 내 프롬프트도 80% 지워야 하나요?
아닙니다. 80%는 앤트로픽이 자사 제품의 시스템 프롬프트를 코딩 평가로 검증하며 줄인 수치입니다. 검증 수단 없이 같은 비율을 적용할 근거는 없습니다.
Q3. 규칙을 지우면 품질이 떨어지지 않나요?
앤트로픽은 코딩 평가에서 측정 가능한 손실이 없었다고 밝혔습니다. 다만 이는 클로드 5 세대 모델 기준이며, 개인 설정에서는 지우기 전에 무엇을 기준으로 확인할지 먼저 정해두는 편이 안전합니다.
Q4. 과잉 제약(overconstraining)은 정확히 무슨 뜻인가요?
지시를 너무 많이, 너무 좁게 걸어서 서로 부딪치게 만든 상태를 말합니다. 앤트로픽은 자사 사용 기록에서 한 요청 안에 충돌하는 지시가 여러 개 들어 있는 것을 발견했다고 설명합니다.
Q5. progressive disclosure는 어떻게 적용하나요?
모든 맥락을 처음에 올리는 대신, 필요한 시점에 해당 맥락만 불러오는 방식입니다. 스킬과 지연 로딩 도구가 그 형태입니다.
Q6. 자동 메모리를 쓰면 CLAUDE.md는 필요 없나요?
용도가 다릅니다. 기억은 자동 메모리에 맡기고, CLAUDE.md에는 그 저장소에서 반복해서 발이 걸리는 지점을 적는 쪽이 원문의 권고에 가깝습니다.
Q7. 어디부터 손대는 게 좋은가요?
중복된 지시와 처음부터 전부 올리는 부분입니다. 둘 다 지워도 내용이 사라지지 않기 때문입니다. 판단이 필요한 규칙은 한 줄씩 "모델이 못해서 넣었나, 사고가 나서 넣었나"로 갈라 보는 편이 낫습니다.
출처
- Anthropic, The new rules of context engineering for Claude 5 generation models (Thariq Shihipar, 2026-07-24)
- 본문의 설정 점검 수치는 2026-08-04 기준 자체 실측입니다.