#Backend

[AI가 읽을 수 있는 코드베이스 1/5] 프롬프트보다 구조가 먼저다

[AI가 읽을 수 있는 코드베이스 1/5] 프롬프트보다 구조가 먼저다
01

Summary

프롬프트 깎을 시간에 빌드 스크립트부터 점검하라: AI가 읽기 좋은 코드의 비밀

자연어 가이드의 한계를 넘어서는 '빌드 가드레일'과 AI 접근성(A-축) 프레임워크 제안

AI 에이전트가 단순히 코드를 짜는 것을 넘어 팀의 아키텍처 규칙을 준수하게 만드는 실전 전략을 다룹니다. 프롬프트보다 강력한 물리적 제약 사항인 빌드 시스템을 통해 AI가 스스로 학습하고 교정할 수 있는 환경을 구축하는 방법을 제시합니다.

  • 01자연어 가이드라인이 실패하는 3가지 이유(모호성, 컨텍스트 한계, 피드백 부재) 분석
  • 02열린 루프(자연어)와 닫힌 루프(빌드 가드레일)의 피드백 속도 차이 강조
  • 03Gradle 멀티 모듈을 이용해 물리적으로 의존성 방향을 강제하는 기법 소개
  • 04코드 품질(Q축)과 AI 접근성(A축)을 분리하여 평가하는 2축 프레임워크 제시
  • 05AI 에이전트가 컴파일 에러를 보고 스스로 아키텍처 위반을 수정한 실제 사례

RECOMMENDATION

AI 코딩 도구를 도입했지만 코드 퀄리티 저하가 고민인 엔지니어링 팀에게 추천합니다. 특히 헥사고날 아키텍처나 멀티 모듈 구조를 검토 중인 팀에게 실질적인 가이드가 될 것입니다.

The Problem

AI 코딩 에이전트를 도입할 때 단순히 자연어 가이드라인(CLAUDE.md 등)이나 프롬프트 엔지니어링에만 의존할 경우, 해석의 모호성이나 컨텍스트 윈도우의 한계로 인해 모듈 경계가 무너지거나 아키텍처 규칙이 위반되는 문제가 발생한다.

The Solution

자연어 지시의 한계를 극복하기 위해 Gradle 멀티 모듈과 헥사고날 아키텍처를 활용한 '빌드 가드레일'을 구축하여, 잘못된 의존성 추가 시 컴파일 단계에서 즉각적인 피드백을 주는 폐쇄 루프(Closed-loop) 시스템을 도입했다.

The Result

에이전트가 잘못된 의존성을 추가했을 때 컴파일 에러를 통해 스스로 방향을 수정하게 함으로써, 사람이 리뷰 단계에서 발견했을 때보다 훨씬 빠른 '빠른 실패(Fast Failure)'를 유도하고 아키텍처 일관성을 유지하는 성과를 거두었다.

Trade-off

빌드 실패와 수정을 반복하는 루프가 발생하여 기계적 연산 비용이 증가할 수 있으나, 사람이 직접 리뷰하고 수정하는 과정에서 발생하는 컨텍스트 스위칭 비용보다는 경제적인 것으로 판단된다.

03

Key Concepts

Concept · 01

빌드 가드레일 (Build Guardrail)

코드 작성 규칙이나 아키텍처 제약 사항을 컴파일러나 빌드 시스템(Gradle 등) 단계에서 물리적으로 강제하여 위반 시 즉시 실패하게 만드는 메커니즘이다.

  • 에이전트가 허용되지 않은 의존성을 추가할 때 Unresolved reference 에러를 발생시켜 잘못된 방향임을 즉시 알림
  • 자연어 가이드라인과 달리 해석의 여지 없는 명확한 피드백을 제공함
Concept · 02

AI 접근성 (AI Accessibility, A축)

인간이 읽기 좋은 코드를 넘어 AI 에이전트가 코드베이스의 구조를 이해하고, 일관된 패턴으로 코드를 수정하거나 생성하기 용이한 정도를 나타내는 지표다.

  • 패턴 일관성, 빌드 피드백 품질, 모듈 경계 예측 가능성 등을 주요 지표로 삼음
  • 코드 품질이 높아도 AI 접근성은 낮을 수 있음을 지적하며 별도의 관리 필요성을 역설함
Concept · 03

헥사고날 아키텍처 (Hexagonal Architecture)

비즈니스 로직을 중심에 두고 외부 인프라(DB, UI 등)를 포트와 어댑터를 통해 분리하여 의존성 방향을 내부로 향하게 하는 소프트웨어 설계 방식이다.

  • model 모듈에 Spring Data와 같은 인프라 의존성이 침투하지 못하도록 물리적 경계를 설정함
  • AI 에이전트가 도메인 로직과 기술 프레임워크를 혼동하지 않게 돕는 구조적 틀로 활용됨