본문으로 건너뛰기

Thoughtbot의 새로운 AI 기반 Ruby on Rails 앱 생성 도구: 프로토타입을 넘어 실전 코드로

603: The product we are going to build

작성자
thoughtbot Youtube
발행일
2026년 02월 20일
https://www.youtube.com/watch?v=260oCgYhM-Y

핵심 요약

  • 1 Thoughtbot은 자연어 프롬프트를 통해 고품질의 Ruby on Rails 애플리케이션을 신속하게 구축할 수 있는 새로운 AI 기반 개발 도구를 공개했습니다.
  • 2 기존 도구와 달리 보안, 테스트 주도 개발(TDD), Rails 관례를 준수하여 개발자가 즉시 이어받아 작업할 수 있는 유지보수 가능한 코드를 생성하는 것을 목표로 합니다.
  • 3 로컬 컨테이너 환경에서 실행되며, 'LLM as Judge' 기법을 도입하여 AI가 일관된 개발 원칙을 유지하도록 관리하는 혁신적인 구조를 채택했습니다.

도입

Thoughtbot은 지난 23년간 12개의 제품을 성공적으로 출시한 경험을 바탕으로, AI를 활용한 새로운 Ruby on Rails 애플리케이션 생성 도구 개발 계획을 발표했습니다. 이 프로젝트는 단순한 프로토타입 제작을 넘어, 실제 서비스 운영이 가능한 고품질의 백엔드와 보안 체계, 그리고 테스트 코드가 완비된 Rails 앱을 자동 생성하는 것을 목표로 합니다. 특히 모든 개발 과정을 대중에게 공개하는 'Building in Public' 방식을 채택하여, 기술적 투명성을 높이고 커뮤니티의 기여를 독려하며 현대적인 AI 개발 워크플로우를 정립하고자 합니다.

1. 제품 개발의 배경과 목적

Thoughtbot은 기존 AI 도구들이 생성하는 코드의 품질과 유지보수성에 의문점을 제기하며 이번 프로젝트를 시작했습니다. ‘Lovable’과 같은 기존 서비스는 시각적인 프로토타입을 빠르게 만드는 데 강점이 있지만, 생성된 코드가 JavaScript 프런트엔드와 Supabase와 같은 특정 서비스에 의존하는 경우가 많아 전문 개발자가 이를 이어받아 확장하기에는 한계가 있었습니다. Thoughtbot의 목표는 처음부터 전문 개발자가 작성한 것과 다름없는, Rails의 관례를 엄격히 따르는 백엔드 중심의 애플리케이션을 생성하는 것입니다. 이는 단순한 ‘일회용 프로토타입’이 아닌, 실제 비즈니스로 확장 가능한 ‘지속 가능한 코드’를 지향합니다.

2. 기술적 특징 및 아키텍처

  • 로컬 컨테이너 기반 개발: 사용자는 Ruby나 PostgreSQL을 직접 설치할 필요 없이, 도구가 제공하는 Docker 컨테이너 환경 내에서 모든 개발을 진행합니다. 이는 환경 설정의 복잡성을 제거하고 비기술자도 즉시 개발을 시작할 수 있게 합니다. 또한 SQLite나 PostgreSQL을 컨테이너 내에서 구동하여 실제 운영 환경과 유사한 데이터베이스 레이어를 제공합니다.
  • TDD(테스트 주도 개발) 강제: AI 에이전트가 기능을 구현하기 전에 항상 테스트 코드를 먼저 작성하도록 설계되었습니다. 이는 ‘Vibe Coding’이라 불리는, 검증되지 않은 코드를 양산하는 방식을 지양하고 코드의 신뢰성을 보장하기 위함입니다. Thoughtbot은 테스트가 없는 코드는 향후 유지보수에 큰 장애물이 된다고 판단하여 이 과정을 필수화했습니다.
  • Hotwire 및 Stimulus 스택: 복잡한 SPA(Single Page Application) 구조 대신 Rails의 최신 표준인 Hotwire(Turbo/Stimulus)를 활용하여, 서버 사이드 렌더링의 이점과 현대적인 사용자 경험을 동시에 제공합니다. 이는 코드의 복잡성을 낮추고 Rails의 생산성을 극대화하는 선택입니다.

3. ‘LLM as Judge’를 통한 품질 관리

AI 모델은 대화가 길어지면 초기의 지침을 잊어버리는 ‘망각 현상(Amnesia)’을 겪습니다. 이를 해결하기 위해 Thoughtbot은 두 개의 AI 에이전트를 동시에 운용하는 구조를 제안합니다. 실제 코드를 작성하는 ‘작업 에이전트’와, Thoughtbot의 개발 원칙(TDD 준수, 보안 가이드라인 등)을 기준으로 작업을 감시하고 교정하는 ‘감독 에이전트(Judge)’를 두어 일관된 품질을 유지합니다. 필요에 따라 로컬에서 실행되는 오픈 소스 모델(Hugging Face 등)을 감독용으로 활용하여 비용 효율성과 데이터 보안을 강화할 계획입니다. 이는 한 에이전트가 실수하더라도 다른 에이전트가 이를 즉시 바로잡는 자가 교정 시스템을 구축하는 것입니다.

4. 사용자 워크플로우와 비즈니스 가치

  • 대화형 디자인 스프린트: 도구는 단순히 명령을 수행하는 것을 넘어, 사용자에게 “주요 타겟 사용자는 누구인가?”, “핵심 가치 제안은 무엇인가?”와 같은 질문을 던지며 제품의 방향성을 함께 고민하는 디자인 스프린트 과정을 내장합니다. 이는 사용자가 잘못된 제품을 만드는 리스크를 줄여줍니다.
  • Eject(추출) 기능: 사용자가 도구의 도움 없이 직접 코드를 수정하고 싶을 때, 언제든지 표준 Rails 앱으로 추출하여 자신만의 에디터나 IDE에서 작업을 이어갈 수 있는 유연성을 제공합니다. 생성된 코드는 가독성이 높고 Thoughtbot의 스타일 가이드를 준수합니다.
  • 오픈 소스 및 커뮤니티 전략: 프로젝트의 핵심 엔진은 GitHub에 공개하여 커뮤니티와 함께 성장하며, 향후 클라우드 호스팅이나 고급 관리 기능을 통해 상용화 모델을 구축할 예정입니다. 이는 Thoughtbot이 추구하는 기술 공유와 혁신의 가치를 동시에 실현하는 방법입니다.

결론

이번 프로젝트는 AI가 단순한 코드 보조 도구를 넘어, 전문 개발사의 철학과 베스트 프랙티스를 이식받은 '가상 개발자'로서의 가능성을 탐구하는 중요한 이정표가 될 것입니다. 특히 'LLM as Judge'와 같은 기법을 통해 AI의 한계를 극복하고 TDD와 같은 엄격한 개발 원칙을 유지하려는 시도는 향후 소프트웨어 품질 관리의 새로운 기준을 제시할 것으로 보입니다. 이 도구는 비기술자에게는 견고한 시작점을, 전문가에게는 극대화된 생산성을 제공함으로써 Rails 생태계의 성장을 가속화할 것으로 기대됩니다.

댓글0

댓글 작성

댓글 삭제 시 비밀번호가 필요합니다.

이미 계정이 있으신가요? 로그인 후 댓글을 작성하세요.

0/1000
정중하고 건설적인 댓글을 작성해 주세요.