에이전트에게 스타터 구축을 프롬프팅하며 API 크레딧으로 200달러를 썼습니다. 그럼에도 제가 여전히 보일러플레이트 (Boilerplate)를
요약
최상위 AI 모델을 활용해 SaaS 보일러플레이트를 구축하려는 시도가 막대한 API 비용과 기술적 한계에 부딪히는 과정을 다룹니다. 에이전트가 복잡한 멀티 파일 컨텍스트를 처리할 때 발생하는 비용 문제와 모듈 간 응집성 문제를 분석합니다.
핵심 포인트
- 멀티 파일 아키텍처 구축 시 에이전트의 컨텍스트 전송으로 인해 막대한 API 비용 발생
- 단일 컴포넌트 생성과 달리 전체 저장소 컨텍스트를 다루는 작업은 비용 효율성이 낮음
- 복잡한 의존성을 가진 시스템 구축 시 모델의 타입 드리프트 및 응집성 문제 발생
지난달 저는 간단한 가설을 테스트해 보기로 했습니다. Claude Opus 4.8 및 GPT-5.6과 같은 최상위 모델이 CLI 에이전트 (Agent) 내부에서 실행될 때, SaaS 보일러플레이트 (Boilerplate)의 시대는 공식적으로 끝난 것일까?
저는 새 디렉토리를 열고, 에이전트 루프 (Agentic loop)를 실행한 뒤, Better-Auth, Stripe 구독, Tailwind v4, 그리고 Drizzle ORM을 포함한 프로덕션 준비가 된 Next.js 16 앱을 스캐폴딩 (Scaffold) 하라고 요청했습니다.
3시간의 시간과 180달러의 Anthropic 청구서가 지나간 후, 저는 답을 얻었습니다.
멀티 파일 컨텍스트 (Multi-File Context)의 잔혹한 계산법
사람들이 "AI 코딩은 기본적으로 무료다"라고 말할 때, 그들은 보통 단일 UI 컴포넌트나 독립적인 유틸리티 함수를 생성하는 것을 의미합니다. 그것은 몇 센트면 충분합니다.
하지만 에이전트에게 30개 이상의 상호 연결된 파일에 걸쳐 멀티 페이지 아키텍처 (Multi-page architecture)를 구축하도록 요청하는 순간, 그 계산법은 완전히 무너집니다.
에이전트 워크플로우 (Agentic workflows)는 단순히 코드만 작성하는 것이 아닙니다. 디렉토리 트리를 검사하고, 터미널 체크를 실행하며, 타입 정의 (Type definitions)를 읽고, 여러 번의 패스 (Pass)에 걸쳐 파일을 수정합니다. 에이전트가 도구 호출 (Tool call)을 하거나, npm run build를 실행하거나, 서버 컴포넌트 (Server Component)가 왜 다시 렌더링되지 않았는지 확인할 때마다, 전체 저장소 컨텍스트 (Repository context)를 모델로 다시 전송합니다.
패스당 수천 개의 추론 토큰 (Reasoning tokens)을 더하고, 인증 (Auth), 세션 쿠키 (Session cookies), Stripe 웹훅 (Webhooks)을 연결하기 위한 단 한 번의 멀티 턴 세션 (Multi-turn session)만으로도 **150달러에서 300달러 이상의 생 API 크레딧 (Raw API credits)**을 쉽게 소모합니다.
당신은 에이전트가 표준 인증 흐름을 처음부터 반복해서 재발명하도록 하기 위해 AI 제공업체에 사실상 수백 달러를 지불하고 있는 셈입니다.
응집성 문제: 70개 이상의 모듈은 단순히 "프롬프트"만으로 함께 작동하지 않는다
Opus 4.8 및 GPT-5.6과 같은 모델은 국소적인 로직 (Localized logic)을 생성하는 데 탁월합니다. 하지만 프로덕션 SaaS는 격리된 파일들의 집합이 아니라, 긴밀하게 결합된 의존성 (Dependencies)의 웹입니다.
진정한 기반을 마련하려면 70개 이상의 모듈과 30개 이상의 데이터베이스 테이블이 모두 정확히 동일한 언어로 소통해야 합니다:
- 인증 및 신원 (Auth & Identity): Passkeys, 2FA, SSO 및 멀티 테넌트 조직 (multi-tenant Organizations)을 위해 구성된 Better-Auth.
- 결제 라이프사이클 (Billing Lifecycles): Stripe 및 LemonSqueezy를 위한 웹훅 핸들러 (Webhook handlers), 구독 시트 (subscription seats), 유예 기간 (grace periods) 및 사용량 측정 (usage metering).
- 시스템 레이어 (System Layer): 관리자 대시보드, 세분화된 RBAC (Role-Based Access Control), 그리고 i18n (국제화) 로컬라이제이션 라우팅.
에이전트에게 이 그래프를 처음부터 구축하도록 프롬프팅하려고 하면, 타입 드리프트 (type drift)는 피할 수 없습니다. 데이터베이스 스키마 (database schema)가 세션 미들웨어 (session middleware)와 미세하게 어긋나거나, RBAC 체크가 서버 액션 (server actions)의 엣지 케이스 (edge case)를 놓치거나, 워크스페이스 ID가 문자열 대신 undefined로 전달될 때 결제 웹훅 (payment webhooks)이 깨지는 식입니다.
이러한 모듈 간 통합 버그를 수정하려면 끊임없이 프롬프트를 주고받아야 하며, 기본적인 기능들이 서로를 망가뜨리지 않게 만드는 데에만 토큰을 낭비하게 됩니다.
Day-2 인프라의 함정
에이전트는 npm run dev를 통해 localhost:3000에서 실행되는 것을 만드는 데는 탁월합니다. 하지만 프로덕션 인프라 (production infrastructure)를 위한 코드를 준비할 때는 매우 신뢰하기 어렵기로 유명합니다.
프로젝트를 프로덕션 환경에 맞게 준비한다는 것은 코드형 인프라 (Infrastructure as Code, IaC)를 설정하는 것을 의미합니다:
- 로컬 프로덕션 미러링을 위한 유효한 Docker Compose 파일.
- 깔끔한 Terraform 또는 Pulumi 매니페스트 (manifests).
- 즉시 배포 가능한 Kubernetes Helm charts.
- 환경 변수(
DB_PROVIDER)를 통해 PostgreSQL과 에지(edge) 환경에 최적화된 Turso SQLite 사이를 전환할 수 있는 것과 같은 멀티 데이터베이스 유연성.
에이전트에게 앱 코드와 함께 유효한 Helm 차트나 Terraform 매니페스트를 생성하도록 요청하면, 구성 키 (configuration keys)를 환각 (hallucinate)하거나 오래된 구문을 출력하는 경우가 빈번합니다. AI 에이전트를 통해 실패한 배포 파이프라인 (deployment pipeline)을 디버깅하는 데에는 YAML 및 HCL 파일의 사소한 구문 오류를 수정하는 데에만 순수하게 API 연산 비용으로 30달러에서 50달러가 들 수도 있습니다.
AI 코드는 막다른 길인 포크 (Dead-End Fork)이다
프롬프트 세션에 의해 생성된 코드는 특정 시점의 정적인 스냅샷입니다. 이 코드에는 계보 (lineage)도 없고 업스트림 저장소 (upstream repository)도 없습니다.
6개월 후, Next.js가 파괴적 API 변경 (breaking API changes)을 도입하거나, Tailwind v4가 주요 패치 (major patch)를 출시하거나, 혹은 인증 (auth) 의존성에서 보안 취약점 (security vulnerabilities)이 발견될 때, 당신이 AI로 생성한 스타터 (starter)는 즉각적인 기술 부채 (technical debt)가 됩니다. 당신이 취할 수 있는 유일한 조치는 코드베이스 전체를 다시 에이전트 (agent)에게 입력하고, 리팩터링 (refactoring) 과정에서 에이전트가 당신의 커스텀 비즈니스 로직 (custom business logic)을 망가뜨리지 않기를 기도하는 것뿐입니다.
목적에 맞게 구축된 보일러플레이트 (boilerplate)는 **Git 업스트림 원격 저장소 (Git upstream remote)**를 제공합니다. 핵심 보안 패치, 프레임워크 마이그레이션 (framework migrations), 또는 새로운 기능이 출시될 때, 당신은 git pull upstream을 통해 이를 직접 가져올 수 있습니다. 당신은 유지보수가 불가능한 일회성 생성물이 아니라, 활발한 유지관리자 (maintainer)가 뒷받침하는 살아있는 코드베이스를 소유하게 됩니다.
에이전트 베이비시팅 비용 (The Agent Baby-Sitting Tax)
설령 API 토큰이 완전히 무료라 할지라도, 시간 비용이 발생합니다.
현재의 에이전트들은 빠르지만, 프롬프트 하나를 작성하고 떠나 있는 동안 전체 애플리케이션이 스스로 구축될 만큼 충분히 자율적이지는 않습니다. 당신은 터미널 앞에 앉아 프로세스를 베이비시팅 (baby-sitting)해야만 합니다:
- 에이전트가 Next.js 16의 비동기 요청 API (
cookies(),headers(), 또는 routeparams)를 망가뜨리지 않았는지 디프 (diffs)를 검토합니다. - 터미널 실행을 승인하고, 웹훅 (webhook) 경로가 서명 확인 (signature check)을 놓쳐 빌드가 실패하는 것을 지켜봅니다.
- 서버와 클라이언트 상태 사이의 미묘한 하이드레이션 불일치 (hydration mismatches)를 수정하도록 모델을 가이드합니다.
만약 빌드 중간에 설정을 커스텀하기로 결정한다면—예를 들어, 조직 결제 (organization billing) 기능은 유지하면서 멀티 테넌시 (multi-tenancy)를 제거하는 경우—에이전트에게 방금 자신이 작성한 코드를 리팩터링하라고 요청하는 것은 대개 깨진 임포트 (broken imports)와 고립된 스키마 테이블 (orphaned schema tables)이라는 결과를 초래합니다.
이것을 npx create-codapult와 같은 대화형 CLI 설치 프로그램을 실행하는 것과 비교해 보십시오. 이 프로그램은 사전에 기능 플래그 (feature flags)를 묻고, 단 몇 초 만에 깔끔하고 다듬어진 코드베이스를 즉시 출력합니다.
실제로 중요한 것을 위해 컴퓨팅 예산을 아끼세요
최상위 모델(Top-tier models)은 귀하의 제품을 차별화하는 복잡하고 독특한 비즈니스 로직(Business logic)을 작성하는 데 매우 탁월합니다. 표준적인 Stripe 구독 라이프사이클(Subscription lifecycles), Tailwind v4 설정, 그리고 DB 스키마(DB schemas)를 다시 생성하는 데 고도의 추론 컴퓨팅(High-reasoning compute)을 사용하는 것은 자본 낭비입니다.
귀하는 벽돌 기초를 쌓는 것과 맞먹는 작업에 대해 AI의 프리미엄 요금을 지불하고 있는 셈입니다.
스캐폴딩(Scaffolding) 프롬프트를 건너뛰세요
이것이 바로 제가 **Codapult**를 만든 정확한 이유입니다.
이는 프롬프트 피로(Prompt fatigue)와 컨텍스트 소모(Context drain)로부터 귀하를 보호하기 위해 설계된 깔끔하고 모듈화된 Next.js 16 SaaS 스타터(Starter)입니다.
- 완전한 기반(Complete Foundation): Better-Auth (Passkeys, SSO, 2FA), Stripe 및 LemonSqueezy 결제, Tailwind v4, Drizzle ORM, 그리고 i18n이 즉시 사용 가능한 상태로 포함되어 있습니다.
- 프로덕션 인프라(Production Infrastructure): 사전 구성된 Docker, Terraform, Kubernetes Helm 차트, 그리고 유연한 DB 라우팅(PostgreSQL / Turso SQLite)을 제공합니다.
- 확장 가능한 아키텍처(Extensible Architecture): 나중에 특화된 기능이 필요하신가요? 핵심 프레임워크를 건드리지 않고도 AI Kit, CRM, 또는 Helpdesk와 같은 공식 모듈을 바로 추가할 수 있습니다.
- 유지보수 가능한 수명(Maintainable Lifetime): Git upstream CLI 워크플로우를 통해 손쉽게 최신 상태를 유지할 수 있습니다.
git clone을 실행하거나 npx create-codapult를 사용한 뒤, .env 변수를 입력하기만 하면 즉시 실제 기능을 구축하기 시작할 수 있습니다.
고성능 토큰(High-tier tokens)은 귀하의 핵심 제품을 위해 아껴두세요.
Codapult에는 Better-Auth, Stripe/LemonSqueezy 결제 라이프사이클, Tailwind v4, Drizzle ORM, IaC 설정, 그리고 모듈형 플러그인을 포함한 완전한 프로덕션 준비 완료(Production-ready) Next.js 16 스택이 포함되어 있어, API 컴퓨팅 비용 수백 달러와 에이전트 오케스트레이션(Agent orchestration)에 소요되는 수 시간을 절약해 줍니다. 문서(documentation)에서 아키텍처를 살펴보세요.
귀하는 프로젝트에서 에이전트 워크플로우(Agentic workflows)와 사전 구축된 보일러플레이트(Boilerplate) 아키텍처 사이의 균형을 어떻게 맞추고 계신가요? 완전히 프롬프팅을 하시나요, 아니면 먼저 클론(Cloning)을 하시나요?
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기