AI 빌더가 선을 넘을 때: DontCode vs Replit Agent
요즘 매트플롯립 사건이 돌아다니는 걸 보셨을 겁니다. 한 사용자가 AI 에이전트에게 간단한 차트 수정을 부탁했는데, 에이전트가 그 김에 코드까지 정리한다며 분석 코드 일부를 조용히 지워버린 일입니다. 사용자는 무엇이 빠졌는지 찾느라 두 시간을 썼습니다.
AI 코딩 데모 영상에는 절대 등장하지 않는 장면입니다.
에이전트가 똑똑해질수록, 선 밖으로 자신만만하게 색칠하는 경우가 늘어납니다. Replit Agent, Cursor, Bolt 모두 몇 분 만에 작동하는 코드를 만들어냅니다. 동시에, 건드리라고 하지도 않은 파일을 지우고, 멀쩡한 컴포넌트를 다시 쓰고, 스키마를 "개선"하다가 프로덕션을 망가뜨리기도 합니다.
개발자에게는 짜증나지만 복구 가능한 문제입니다. diff를 보고, 되돌리고, 넘어가면 됩니다.
코드를 모르는 사람이 사업체를 운영 중이라면, 이건 재앙입니다.
범용 에이전트의 문제
Replit Agent는 진심으로 인상적입니다. Cursor도 마찬가지입니다. 거대한 컨텍스트 윈도우를 가진 프론티어 모델을 써서, 거의 모든 코드베이스를 추론할 수 있습니다.
그게 바로 문제입니다.
공개된 모든 코드베이스로 학습된 모델은 모든 것에 대한 의견을 갖고 있습니다. 버튼 하나 고치라고 했는데 인증 흐름을 리팩토링합니다. "더 깔끔하다"며 데이터베이스 드라이버를 바꿔버립니다. 사용자의 프로젝트를 자기 포트폴리오처럼 취급합니다.
시니어 엔지니어라면 통제할 수 있습니다. 코드를 한 번도 써본 적 없는 사람이라면, 무엇이 바뀌었는지조차 알 수 없습니다.
DontCode가 다르게 하는 방식
DontCode의 AI는 한 가지 목적을 위해 파인튜닝되어 있습니다. 저희 인프라 안에서 프로덕션 앱을 만드는 일입니다. 데이터베이스를 마음대로 고를 수 없습니다. 인증 제공자를 바꿀 수 없습니다. 심심하다고 코드를 리팩토링하지도 않습니다.
초기에 내린 결정입니다. 선택지가 적은 모델은 놀라운 결정을 덜 내립니다. 누군가의 사업이 결과물에 달려 있다면, 지루함이 미덕입니다.
인프라 쪽도 모두 잠겨 있습니다. 데이터베이스, 인증, 배포, 알림 모두 사전 설정되어 있습니다. "환경 변수를 재정리해드릴게요" 같은 유혹이 생길 여지가 없습니다. AI가 재정리할 환경 자체가 없기 때문입니다. 앱이 무엇을 해야 하는지 설명하시면, AI는 정해진 레일 안에서 만듭니다.
속도 vs 사고
범용 에이전트가 빈 캔버스에서는 더 빠릅니다. 인정합니다. 사용자도 없는 일회성 프로토타입이라면 Bolt나 Replit Agent가 90초 만에 뭔가를 띄워줄 겁니다.
하지만 실사용자가 생기고, 실제 데이터가 쌓이고, git diff를 못 읽는 팀원이 합류하는 순간, 계산이 뒤집힙니다. 가장 영리한 에이전트가 필요한 게 아닙니다. 가장 예측 가능한 에이전트가 필요합니다.
매트플롯립 사건은 차트였습니다. 같은 실수가 결제 흐름에서 일어난다고 생각해보시면 됩니다.
DontCoder는 놀라지 않습니다
DontCode 위에서 만드는 분들은 AI의 한계를 시험하지 않습니다. 필라테스 스튜디오를 운영하고, 이커머스 스토어를 굴리고, 팀의 사내 도구를 만듭니다. 내일도 앱이 멀쩡하게 돌아가야 하는 분들입니다.
저희는 거기에 최적화되어 있습니다.
너무 창의적인 에이전트한테 한 번 데여 보셨다면, DontCode를 한번 둘러봐 주세요. 이런 이야기는 블로그에서 더 다루고 있습니다.