「CLAUDE.md가 200행을 넘으면 Claude Code가 지시를 무시하기 시작한다」 —— 그런 이야기를 note.com에서 읽었다. 소스는 단일 기사였으며, 수치적 근거는 적혀 있지 않았다.
믿을지 무시할지 고민했지만, 둘 다 납득이 가지 않았다. 그렇다면 자신의 리포지토리(Repository)에서 확인하는 편이 빠르다.
결론
행수 자체가 문제는 아니었다. 영향을 미치는 것은 「구조·밀도·위치」라는 3가지 축이었다.
「200행이면 반드시 망가진다」라는 단정은 나의 관찰로는 확인할 수 없었다. 현시점의 masatoman.net CLAUDE.md는 114행에서 작동하고 있으며, 문제가 되는 지시 사항의 누락은 행수가 아니라 작성 방식에서 기인하고 있었다.
전제
| 리포지토리 | CLAUDE.md 행수 | 용도 |
|---|
| masatoman.net | 114행 | 가장 복잡함. 전략·기사 규칙·금지 패턴 혼재 |
| ... | | |
| 「200행 실험」이라고 썼지만, 정확하게는 「현행 파일에서 무엇이 일어나고 있는지를 관찰하고, 행수와 지시 효과의 관계를 추론했다」가 맞다. 수치화된 준수율은 측정하지 않았다. 관찰 로그로서 읽어주길 바란다. | | |
실제로 일어난 일
잘 통하는 지시 · 잘 통하지 않는 지시
잘 통했다 (masatoman.net 114행에서의 관찰):
- 파일 서두에 작성한 커맨드(Command) 목록 (
npm run dev 등)
- 「금지」라고 명시된 짧은 규칙
- 구조가 리스트(List) 형식으로 되어 있는 불렛 포인트
잘 통하지 않았다:
- 「쓰기 전의 자문(5개 모두 Yes가 아니면 쓰지 말 것)」과 같은 복합 조건
- 2단락 이상의 설명문 속에 매몰된 금지 사항
- 파일 후반부(80행 이후)에 있는 조건 분기 규칙
sns-automation의 CLAUDE.md(58행)는 반대로 문제가 적다. 거의 커맨드와 환경 변수의 열거이며, Claude가 망설일 여지가 없는 작성 방식이 되어 있다.
「사라지는 것」은 행수의 문제가 아니었다
시험 삼아 후반부의 규칙을 몇 개 앞으로 이동시키자 잘 통하게 되었다. 행수에는 변화가 없다.
이를 통해 확인할 수 있었던 것은, 위치(파일 내 어디에 있는가)와 형식(리스트 vs 설명문)이 행수보다 영향이 크다는 사실이었다.
원인 분석
서두에 가까울수록 · 불렛 포인트로 되어 있을수록 · 명시적인 명령형으로 작성된 규칙일수록 참조되기 쉽다.
「200행에서 망가진다」는 설이 나온 이유에 대한 추측:
- 200행이 되는 타이밍에 복합 조건 · 긴 설명문이 늘어나기 쉽다
- 행수와 복잡도가 상관관계가 있기 때문에 「행수가 원인」이라고 보였을 가능성
- 단일 소스가 1차 검증 없이 퍼져나갔다
판단 기준: 3가지 축
① 밀도 — 1개 규칙이 3행 이내에 들어오는가
② 구조 — 중요한 규칙이 불렛 포인트로 되어 있는가 (설명문 속에 매몰시키지 않는다)
③ 위치 — 가장 지키게 하고 싶은 규칙이 파일 서두에 있는가
이 3가지 축이 갖춰져 있다면, 100행이든 200행이든 「지시가 사라지는」 현상은 줄일 수 있다고 생각한다.
오늘 할 일
wc -l CLAUDE.md로 행수와 구조를 확인한다
- 후반부에 매몰되어 있는 금지 사항을 전반부의 리스트로 이동한다
- 복합 조건 규칙을 불렛 포인트로 분해한다
AI 툴을 업무에 도입하는 설계의 실험 로그를 쓰고 있습니다. https://masatoman.net
Discussion