Vibe 코드 정리 작업을 재사용 가능한 자산으로: AGENTS.md를 통한 엔지니어링 스타일 적용

Vibe coding in style.md

작성자
발행일
2025년 12월 04일

핵심 요약

  • 1 AI 생성 코드의 'vibe 코딩' 문제를 해결하기 위해 전문가의 코딩 스타일을 담은 AGENTS.md 문서를 개발했습니다.
  • 2 AGENTS.md는 도메인 언어 사용, enum 활용, Fat Model 방지, Anyway::Config 사용 등 구체적인 Ruby/Rails 개발 규칙을 제시합니다.
  • 3 이 방법론을 통해 비전문가가 생성한 AI 코드도 엔지니어의 재작업 없이 유지보수 가능한 수준으로 개선할 수 있음을 입증했습니다.

도입

오늘날 창업가, 디자이너, PM, 마케터 등 다양한 직군의 비엔지니어들이 코드 생성 도구를 활발히 사용하며 해방감을 느끼고 있습니다. 그러나 이러한 'vibe 코딩'으로 생성된 코드는 종종 엔지니어가 처음부터 다시 작성해야 할 정도로 유지보수성이 떨어지는 문제를 야기합니다. 본 게시물은 Evil Martians가 이러한 문제를 해결하기 위해 전문가의 엔지니어링 스타일을 담은 재사용 가능한 자산인 'AGENTS.md'를 어떻게 개발했는지 소개합니다. 이는 AI 지원 프로젝트에서 더 높은 품질의 코드를 생성하여 광범위한 리팩토링 필요성을 줄이는 것을 목표로 합니다.

배경: Cloud Cards 스토리

샌프란시스코 Ruby 컨퍼런스 홍보를 위해 ‘Cloud Cards’ 앱을 Ruby on Rails, Avo, RubyLLM 등으로 빠르게 개발했습니다. 배포 중 문제가 발생하여 동료 Vladimir Dementyev에게 검토를 요청했고, 그는 앱 전체를 처음부터 다시 작성하여 우아하고 명료한 코드를 선보였습니다.

문제점: 전문가 스타일의 부재

Vladimir와 같은 세계적인 엔지니어가 항상 ‘vibe 코딩’된 앱을 재작성해줄 수는 없습니다. 이에 우리는 원본과 Vladimir가 리팩토링한 두 가지 앱 버전을 활용하여, 모델이 Vladimir의 코딩 스타일을 모방하도록 학습시키는 방법을 모색했습니다.

3단계 AGENTS.md 생성 프로세스

  1. 스타일 문서 생성: 사고 모델로 두 앱 버전의 차이점과 Vladimir의 스타일을 분석하여 style.md를 작성했습니다.

  2. AGENTS.md 요약: style.md를 핵심 스타일 및 구조 결정을 규칙과 패턴으로 인코딩한 AGENTS.md로 요약했습니다.

  3. 기술적 일관성 검토: 사고 모델과 수동 검토를 통해 AGENTS.md의 품질을 향상시켰습니다.

AGENTS.md의 효과와 핵심 규칙

새 프로젝트에 AGENTS.md를 적용한 결과, Vladimir는 코드를 버리지 않고 ‘작업할 수 있는 코드’라고 평가했습니다. 이는 코드 품질 개선의 중요한 진전을 의미합니다. AGENTS.md에는 다음과 같은 실용적인 규칙들이 포함되어 있습니다:

  • 도메인 언어 사용: 일반 기술 용어 대신 자연어 사용 (예: User 대신 Participant).

  • 상태 관리에 enum 활용: Ruby enum을 통해 predicate, bang 메서드, 스코프를 자동으로 얻습니다.

  • Fat Model 방지: 모델은 데이터, 관계, 유효성 검사에 집중하고, 복잡한 로직은 네임스페이스 클래스(Cloud::CardGenerator 등)로 분리합니다. 15줄 이상 메서드, 외부 API 호출 등은 추출 대상입니다.

  • Anyway::Config를 통한 타입-세이프 설정: Rails credentials나 ENV 대신 Anyway::Config를 사용하여 타입-세이프하고, 싱글톤 접근 및 환경별 설정이 용이한 설정을 관리합니다.

  • 선호/지양 패턴: Form Object, Query Object, ViewComponent를 선호하고, Service Object, Result Object는 지양합니다.

결론

이 실험은 'Vladimir가 내 vibe 코드를 정리해주는' 비싸고 확장 불가능한 서비스를 재사용 가능한 자산인 `AGENTS.md`로 전환하는 성공적인 사례를 보여줍니다. `AGENTS.md`는 AI 생성 코드의 초기 품질을 향상시키고, 전문가의 개입 없이도 유지보수 가능한 코드를 만들 수 있는 잠재력을 입증했습니다. Evil Martians는 이 `AGENTS.md`를 다른 프로젝트에 적용하고, 더 많은 'vibe 클리닝' 사례를 통해 확장하며, 코드 생성 가이드라인의 더 나은 형식을 계속 실험할 계획입니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!