AI 드리븐 코드베이스 문서화 (3편) - 실제 효과와 운영 가이드
TL;DR
- 증상: 문서 시스템을 만들었지만 실제 효과가 얼마나 있는지 불명확, 투자 대비 효과 판단 불가
- 원인: 정량적 지표 없이는 개선 여부 증명 어려움, Before/After 비교 데이터 부재, 주관적 체감만으로 판단
- 해결: 토큰 사용량, 응답 시간, 정확도, 개발 속도를 측정하여 효과 검증, 트리거 기반 문서 선택 자동화, PR 템플릿에 문서 체크리스트 추가
- 효과: 토큰 85% 절약 (13,000 → 2,000), 응답 시간 67% 단축 (30초 → 10초), AI 정확도 85% → 95%, 개발 속도 3배 향상, 할루시네이션 감소
- 한계: 문서 최신화 부담 (주 1회 필요), 초기 학습 시간 (2주), 중소 프로젝트엔 오버엔지니어링, 측정 비용, 팀 전체 컨센서스 필요
글 머리말
지난 두 편에서 왜 AI 전용 문서화가 필요한지, 그리고 4계층 정보 구조를 어떻게 설계했는지 공유했습니다.
이번 마지막 편에서는 실제로 얼마나 효과가 있었는지 정량적인 수치와 함께 공유합니다. 그리고 이 시스템을 지속 가능하게 운영하기 위한 가이드도 다룹니다.
핵심 기능 - 트리거 기반 문서 선택
키워드 → 도메인 자동 매핑
AI가 사용자의 질문에서 키워드를 추출하고, 해당 도메인의 문서를 자동으로 선택합니다.
# ai-rules.md의 트리거 규칙
| 키워드 | 도메인 | 필수 문서 |
| ---------------- | ---------- | ---------------------- |
| 재계약, 퇴거 | contract | domains/contract.md |
| 세금계산서, 발행 | admin/tax | domains/admin/tax.md |
| IoT, 도어락 | iot | domains/iot.md |
| 고객, 입주민 | customer | domains/customer.md |
| 요금, 청구 | fee | domains/fee.md |실제 작업 흐름
sequenceDiagram
participant U as 사용자
participant AI as AI Agent
participant S as START.md
participant D as domain.md
participant DD as domains/*.md
U->>AI: "재계약 신청 API를 수정해줘"
AI->>S: 키워드 "재계약" 확인
S-->>AI: contract 도메인 매핑
AI->>D: contract/domain.md 읽기
D-->>AI: 메타데이터 (entrypoints, gotchas)
AI->>DD: 필요시 domains/contract.md 상세 참조
DD-->>AI: 상태 전이 규칙, 코드 예제
AI->>U: 정확한 코드 수정안 제시기존 방식은 프로젝트 이해 (~5,000 토큰) + 도메인 파악 (~3,000 토큰) + 상세 이해 (~5,000 토큰)로 총 ~13,000 토큰이 필요했습니다.
새 방식은 START.md (~300 토큰) + domain.md (~300 토큰) + 필요시만 로딩 (~1,400 토큰)로 총 ~2,000 토큰으로 줄었습니다. 약 85% 토큰 절감입니다.
YAML 메타데이터 스키마 - AI가 이해하는 규격
각 도메인의 domain.md 파일 상단에 YAML 메타데이터를 정의합니다. role, responsibility, dependencies, entrypoints, gotchas 필드로 구성됩니다.
메타데이터 활용 예시
사용자: "계약 도메인에서 새 기능 추가해줘"
AI: (domain.md 메타데이터 읽음)
→ dependencies: [site, room]
→ site, room 도메인만 참조 가능
→ 다른 도메인 직접 호출 금지
→ entrypoints: ["ContractService"]
→ ContractService부터 시작
→ gotchas: ["상태 전이 규칙"]
→ setStatus() 직접 호출 금지
→ ContractStateManager 경유 필수도구별 통합
Cursor
.cursorrules 파일에서 ai-rules.md를 자동 참조합니다.
# .cursorrules
## 문서 참조
- 작업 시작 전 반드시 `docs/ai-rules.md` 읽기
- 도메인 작업 시 해당 `domain.md` 확인
## 프로젝트 규칙
@include docs/ai-rules.md효과: 매번 “@ai-rules.md 읽고”라고 말할 필요 없이, AI가 자동으로 규칙을 인지합니다.
ChatGPT/Claude는 대화 시작 시 START.md + 관련 domain.md를 첨부하면 됩니다. GitHub Copilot은 작업할 도메인의 domain.md를 열어둔 상태에서 코딩하면 컨텍스트를 인식합니다.
실제 개선 결과 - 정량적 효과
contract 도메인 기준으로 Claude와 GPT-4에서 실제 요청을 측정했습니다.
프로젝트 파악 토큰은 ~5,000에서 ~600으로 (88% 절감), 도메인 작업 토큰은 ~8,000에서 ~2,000으로 (75% 절감), 전체 이해 토큰은 ~15,000에서 ~4,000으로 (73% 절감), AI 응답 시간은 ~30초에서 ~10초로 (67% 단축) 개선됐습니다.
Before / After 비교
사용자: "재계약 API 수정해줘"
AI: (전체 코드베이스 탐색...)
→ 수천 개 파일 읽기
→ 토큰 5,000개+ 소진
→ 응답 시간 30초+
→ 결과: 레거시 파일 수정 시도 (할루시네이션)사용자: "재계약 API 수정해줘"
AI: (START.md → contract/domain.md)
→ 키워드 "재계약" → contract 도메인
→ 토큰 2,000개 정도
→ 응답 시간 10초
→ 결과: 정확한 ContractService 수정안정성적 효과
일관성 (모든 도메인이 동일한 문서 구조로 표준화), 추적성 (문서 ↔ 코드 위치 명확한 연결), 확장성 (새 도메인 추가 시 템플릿 활용 가능), 협업성 (AI와 개발자가 같은 문서 참조), 품질 (코딩 컨벤션 자동 준수, 도메인 경계 침범 방지), 온보딩 (신규 팀원/AI의 프로젝트 이해 시간 1~2일 단축)이 개선됐습니다.
할루시네이션 감소
가장 큰 효과는 할루시네이션 감소입니다.
Before:
- AI가 레거시 코드 수정 시도
- 존재하지 않는 클래스 참조
- 컨벤션과 다른 네이밍
- 도메인 경계 무시한 코드 생성
After:
- gotchas 필드로 주의사항 인지
- dependencies 필드로 참조 가능 도메인 제한
- entrypoints 필드로 정확한 진입점 파악
- conventions.md로 네이밍 규칙 준수