일기 slecs

조직 전체 AI 도구 지침, 계층적으로 통일

목차

여러 프로젝트와 사이트에 걸쳐 개발자 도구 설정 문서(CLAUDE.md)를 계층적으로 관리하는 구조를 추가했다. 전역 지침에서 시작해서 각 사이트별, 프로젝트별로 오버라이드되는 캐스케이드 방식인데, 이제 서버 환경에서도 이 구조가 제대로 로드되는지 검증했다.

조직이 커지면서 마주친 설정 분산 문제

처음엔 간단했다. 개발자 도구 지침 한 개를 홈 디렉토리에 둬도 됐다. 하지만 조직이 성장하면서 상황이 복잡해졌다. ops 팀의 정책이 있고, 다양한 사이트들(예: 결제, 이커머스, 운영 플랫폼)이 생겼으며, 각 사이트 내에서도 여러 마이크로서비스가 동작하기 시작한 것.

그때부터 문제가 터졌다:
- 전역 규칙을 모든 사이트가 따라야 하는데, 특정 사이트나 팀은 추가 규칙이 필요했다
- 같은 내용을 여러 곳에 복붙하게 되니까 수정할 때마다 일관성이 깨졌다
- 새로운 팀원이 어느 규칙을 우선적으로 따라야 할지 헷갈렸다
- 문서와 실제 서버 동작이 안 맞는 상황도 생겼다

이런 문제는 사실 모든 조직에서 공통적으로 겪는다. 설정 관리를 한곳에만 두면 확장이 어렵고, 분산해서 두면 일관성이 떨어진다. 우리는 "계층적 상속"으로 이 둘을 균형 맞추기로 했다.

계층 구조: 전역 → 사이트 → 프로젝트

지침 문서가 이렇게 로드되도록 설계했다:

1. 전역 지침 ( 디렉토리)
   ~/.claude/CLAUDE.md
   └─ ops 저장소의 중앙 정의 (symlink)

2. 사이트별 지침 (새로 추가)
   /opt/<site>/CLAUDE.md
   └─ : /opt/payment/CLAUDE.md, /opt/ecommerce/CLAUDE.md

3. 프로젝트별 지침 (기존)
   /opt/<site>/<project>/CLAUDE.md
   └─ : /opt/payment/order-svc/CLAUDE.md

뒤에 오는 규칙이 앞의 규칙을 오버라이드한다. 덕분에:
- 결제 사이트의 모든 프로젝트는 결제팀 규칙을 자동으로 적용한다
- 특정 프로젝트는 추가로 자신만의 규칙을 가질 수 있다
- 전역 룰을 바꾸면 모든 곳에 한 번에 반영된다

이는 DRY(Don't Repeat Yourself) 원칙을 지키면서도 각 팀의 자율성을 존중하는 방식이다.

서버검증을 통해 실제 동작 확인

문서만 작성해서는 부족했다. 개발자 머신(맥)에서는 잘 작동하지만, 서버에서도 같은 방식으로 로드되는지 확인해야 했다. CI 환경, 서버 권한, 파일 경로 등이 로컬과 다를 수 있기 때문이다.

서버검증 과정에서:
- 심볼릭 링크가 제대로 따라가지는지 확인했다
- 경로별 로드 순서를 추적해서 실제 캐스케이드가 일어나는지 검증했다
- 권한 문제로 인한 로드 실패 시나리오를 테스트했다

이렇게 "실제 환경에서 작동한다"는 확신이 생겨야 팀에 신뢰할 수 있는 지침이 된다.

팀에 미친 영향과 배운 점

이 구조 덕분에 몇 가지가 좋아졌다:

관점 Before After
규칙 수정 여러 파일을 찾아다니며 수정 해당 계층 하나만 수정
일관성 팀마다 다른 규칙, 충돌 빈번 계층적 상속으로 일관성 유지
온보딩 "어느 규칙을 따르지?" 혼란 로드 순서가 명확함
오버라이드 예외 처리 방법 모호 계층 규칙이 명시적

"프로젝트별 지침까지만 있으면 되지 않을까"라고 생각했을 때도 있다. 하지만 팀 규모가 커지고 사이트별 특수성이 생기니, 중간 단계의 사이트 지침이 정말 필요했다. 팀 리딩 관점에서 보면, 전체를 통일하되 각 팀의 자율성을 보장하는 구조가 문화적으로도 중요하다는 걸 깨달았다.

이 작업은 결국 "문서화"가 아니라 "조직 구조 정리"였다. 기술 도구 설정이 비즈니스 조직 구조를 따라가야 한다는 원칙을 실행에 옮긴 것이다. 다음번에 유사한 설정 관리 문제가 생기면, 이 패턴을 먼저 떠올릴 것 같다.


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

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

댓글 0

첫 댓글 달아줘.