피드로 돌아가기
Engineering Backpressure: Keeping AI-Generated Code Honest Across 10 SvelteKit Repos
Dev.toDev.to
DevOps

AI 생성 코드의 불확실성을 제거하는 '기계적 강제' 전략

Engineering Backpressure: Keeping AI-Generated Code Honest Across 10 SvelteKit Repos

Rick Cogley2026년 4월 3일5intermediate

Context

AI 코딩 어시스턴트의 빠른 생성 속도가 오히려 잠재적 결함을 양산하는 구조. CLAUDE.md 같은 가이드라인은 단순 제안일 뿐 강제성이 없는 비결정적 특성. TypeScript 컴파일 단계에서 걸러지지 않는 논리적 오류와 안티 패턴 발생.

Technical Solution

  • oxlint를 활용해 약 200가지의 범용 JS/TS 규칙을 50ms 내외로 빠르게 검증하는 1차 패스 구축
  • ESLint와 Svelte 플러그인을 조합하여 .svelte 파일 구조 분석 및 Zod의 .safeParse() 사용 강제 등 프레임워크 특화 규칙 적용
  • ast-grep의 tree-sitter 기반 구조 매칭을 통해 .map() 내부의 DB 쿼리와 같은 N+1 패턴을 탐지하는 YAML 기반 선언적 규칙 설계
  • SvelteKit 및 Cloudflare 업데이트 내역을 JSON Feed와 RSS로 수집하여 레거시 패턴을 자동 탐색하는 쉘 스크립트 기반 감사 시스템 구축
  • 모든 린트 규칙과 워크플로우를 단일 .github 저장소에서 중앙 관리하고 10개의 레포지토리에 동기화하여 설정 드리프트 방지

Impact

  • oxlint(50ms), ESLint(2s), ast-grep(200ms)의 3단계 린팅 프로세스 구축
  • 10개 레포지토리에 대한 업데이트 감사 프로세스를 10초 내외로 완료

Key Takeaway

문서 기반의 권고보다 린트 규칙과 타입 제약 같은 기계적 강제 장치를 통해 나쁜 패턴을 구조적으로 불가능하게 만드는 설계 원칙.


가이드라인의 'Always' 및 'Never' 문구를 발견 즉시 린트 규칙이나 타입 제약으로 전환하여 자동화할 것

원문 읽기