일기 slecs

반복되는 지침을 계층별로 관리하기

목차

telebot 이라는 새 봇을 배포하면서, 해당 봇만의 CLAUDE.md 를 추가하는 작업을 진행했다. 이것만 보면 단순한 문서 파일 생성처럼 보이지만, 사실 이 작업의 핵심은 지침(프롬프트 정책)을 계층적으로 관리하는 구조를 구현하는 것이었다.

CLAUDE.md 와 토큰 비용의 관계

사내 각 봇(telebot, 기타 서비스들)은 실행될 때마다 자신의 CLAUDE.md 를 로드한다. 이 파일이 프롬프트 컨텍스트의 일부가 되기 때문에, 봇 호출할 때마다 토큰을 소비하는 것이다. 이를 감안하면, 공통 지침(예: 출력 형식, 금지사항)을 CLAUDE.md 에 계속 반복해서 적으면 낭비다.

더 나은 방식은 계층 구조 를 갖추는 것이다.

캐스케이드 구조 설계

다음과 같이 구성했다:

계층 관리 위치 역할 로드 주기
공통 지침 hedvion 전역 CLAUDE.md 모든 봇이 준수할 기본 규칙 (출력 형식, 보안, 메타 문구 금지 등) 매 봇 호출
프로젝트 지침 각 프로젝트 /CLAUDE.md 특정 프로젝트(예: 특정 서비스)의 세부 규칙 해당 프로젝트 내에서만
봇 지침 각 봇 /CLAUDE.md 해당 봇의 고유 동작 규칙 telebot 호출 시에만

telebot CLAUDE.md 추가는 이 셋째 계층에 새 공간을 마련한 것이다. 이제 공통 규칙과 프로젝트 규칙을 반복하지 않고, telebot 에만 필요한 지침만 담을 수 있다.

코드 관점에서의 이점

코드를 건드리지 않았지만, 효과는 실질적이다:

  • 프롬프트 중복 제거: 공통 지침을 따로 유지하면, 새 봇 추가 시 매번 복사-붙여넣기 할 필요가 없다
  • 토큰 절감: 각 봇이 로드할 때 자신에게만 필요한 지침만 담아, 불필요한 컨텍스트를 줄인다
  • 유지보수성 향상: 모든 봇의 공통 규칙을 바꿀 때, 중앙 파일 하나만 수정하면 된다 (물론 마치 Git 상속처럼 작동)
  • 확장성: 다음 봇이 추가될 때 구조가 이미 정해져 있으므로, 온보딩 문서도 명확해진다

"서버검증"의 의미

커밋 메시지의 "(서버검증)"은 로컬 개발 환경에서만이 아니라 실제 서버 환경(hedvion ops)에서도 이 계층 구조가 정상 작동함을 확인했다는 뜻이다. symlink 와 캐스케이드 로직이 복잡할 수 있으니까, 실제 배포 전에 서버에서 한번 테스트하는 것이 중요했다.

팀장 관점에서의 회고

문서화와 정책 관리는 코딩처럼 보이지는 않지만, 팀이 커질수록 반복 제거중앙화된 규칙 관리가 얼마나 중요한지 느낀다. 새 팀원이 들어올 때마다 "어 근데 어느 CLAUDE.md 를 봐야 하나?" 라는 질문을 줄일 수 있고, 규칙을 바꾸려고 할 때 모든 봇/서비스를 하나하나 수정하지 않아도 된다.

side 작업이라는 시간 여유 속에서 이런 구조를 정비하는 것은, 급할 때 하는 임시방편이 나중에 기술부채가 되는 것을 미리 예방하는 일이다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.