피드로 돌아가기
I always worried my READMEs disagreed with my own repos. So I built README Clew.
Dev.toDev.to
Backend

Claude 4.5와 결정론적 검증기로 README-Code 간 Drift 자동 탐지

I always worried my READMEs disagreed with my own repos. So I built README Clew.

L. Cordero2026년 5월 3일6intermediate

Context

빠른 개발 주기와 AI 코드 생성으로 인해 문서와 실제 구현체 간의 불일치(Drift) 발생. 정적 분석만으로는 자연어로 작성된 README의 주장과 코드를 대조하기 어려운 한계 존재.

Technical Solution

  • LLM을 통한 추출과 Deterministic Verifier를 통한 검증을 분리한 Hybrid Architecture 설계
  • Claude Sonnet 4.5를 활용하여 README 내 검증 가능한 주장을 Verbatim Quote 방식으로 정밀 추출
  • Dependency, Install Command, Env Var 등 5가지 핵심 카테고리에 대해 코드 기반의 결정론적 검증 로직 수행
  • Vite 기반 Static Frontend와 Express API를 분리하여 독립적 확장성을 확보한 Two-Frontend Architecture 채택
  • DB 없는 Stateless 구조 설계 및 50개 항목의 In-memory Cache를 통한 OG Card 및 Badge 응답 속도 최적화
  • Prompt Injection 방지를 위해 README 콘텐츠를 XML 델리미터로 래핑하고 시스템 프롬프트 제약 사항 적용

1. LLM 기반 검증 시스템 설계 시 추출 단계에서 원문 그대로(Verbatim) 인용하도록 강제하는 가드레일 설정

2. 외부 API 입력값에 대해 XML 태그 등을 활용한 델리미터 처리를 통해 Prompt Injection 위험 최소화

3. 핵심 기능 외의 부가 기능(예: 요약 생성)은 Fail-open 구조로 설계하여 시스템 전체 가용성 확보

4. 보안 강화를 위해 .innerHTML 대신 .textContent를 사용하고 Helmet 미들웨어를 통한 보안 헤더 적용

원문 읽기