Anti‑Vibecoding에서 Chaos까지: ‘Ficha Monstra’ 사가

발행: (2025년 12월 27일 오전 12:36 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

소개

Ficha Monstra 프로젝트는 필요와 충동이 뒤섞여 탄생했습니다: 블랙 프라이데이에 순수 소비심으로 VPS를 구입했고, 인공지능을 생산적으로 소프트웨어 개발에 활용하는 방법을 배우고 싶었으며, 체육관 트레이닝 카드함에서 종이 카드를 잃어버리는 데 지쳤습니다.

프로젝트 일러스트 이미지

이렇게 Ficha Monstra가 탄생했으며, 이름은 Gemini에서 따왔습니다.

전제는 “anti‑vibecoding” 스택을 만드는 것이었습니다: 구조와 제어를 원했습니다. Blazor .NET Core, Identity, Entity Framework, 그리고 Azure의 Semantic Kernel을 선택했습니다.

질서 단계

규칙적으로 시작했습니다. Gemini는 브레인스토밍과 HTML/CSS 생성에만 사용했고, 아키텍처 제어는 직접 했습니다. 오래된 라이브러리에 대한 AI 의존을 피하기 위해 .NET 솔루션을 수동으로 만들었고, Spec Kit을 이용해 프로젝트의 “헌법”을 작성해 모델에 엄격한 규칙을 부여했습니다.

애플리케이션 초기 화면

인증, 생성, 상세, 목록 및 페이지네이션 화면, Redis Cache와의 통합, 그리고 사용자가 보낸 정보를 기반으로 운동을 분석하고 훈련을 제안하는 Semantic Kernel 플러그인 에이전트를 개발했습니다. 또한 검증, 단위 테스트 및 통합 테스트를 모두 하루 만에 구현했습니다.

코드 품질은 원하는 수준에 못 미쳤다는 점은 사실입니다.

Vibecoding으로의 전락

모든 것이 빠르게 동작하는 모습을 보면 권력이 머리 위로 올라가는 문제가 있습니다. 무적이라는 느낌에 원래 계획을 버렸습니다. 갑자기 계획에 없던 기능들—예를 들어 게이미피케이션, 다중 대시보드, 관리자 페이지—을 즉흥적으로 추가하기 시작했습니다.

기술적 엄격함은 사라졌고, 생성된 코드를 비판하지 않게 되면서 결과는 필연적이었습니다: 원래는 “예쁘게” 보이던 프로젝트가 급격히 퇴보했습니다.

학습

최종 코드가 혼란스러웠음에도 기술적인 빛이 있었습니다: PlaywrightMCP를 통해 Gemini와 통합했습니다. 모델이 인터페이스를 “보면서” 자체 테스트를 실행하는 모습을 보는 것은 인상적이었습니다.

Playwright와 Gemini 데모

Spec Kit은 놀라운 도구입니다; 이해하기 약간 복잡하지만, 기능을 만들 때 실제로 도움을 주고 제어권을 제공합니다.

때로는 프롬프트를 하나 더 작성하고 답을 기다리기보다 직접 코드를 손에 잡고 문제를 해결하는 것이 더 좋습니다. 모델이 “얼음 위에서 미끄러지고” 있을 때를 식별하는 능력이 필요합니다. 왜냐하면 실제로 미끄러지는 사람은 모델이 아니라 여러분이기 때문입니다.

결국 Ficha Monstra는 AI가 구축 속도를 높여 주지만, 방심하면 기술 부채도 빠르게 쌓인다는 것을 가르쳐 주었습니다. 생성된 코드는 보기 흉하고 형편없을 수 있으며, 코더보다 리뷰어가 되는 것이 중요합니다. 소프트웨어 엔지니어링의 기본을 아는 것이 큰 차이를 만듭니다.

미래에 대한 성찰

프로젝트 최종 이미지

그리고 2026년이 다가오면서 정말 이전과는 다를 것이라는 묘한 느낌을 주었습니다.

Back to Blog

관련 글

더 보기 »