What We Actually Ship With MissionControl
MissionControl이 Telegram 인터페이스와 60줄의 검증·폴백 로직으로 AI 에이전트 기반 코드 생성을 4개 완성된 PR 배포 및 $12.49 비용으로 실현
AI 요약
Context
AI 에이전트가 자동으로 코드를 작성하고 PR을 열도록 하려면 단순한 명령 실행을 넘어 예산 초과, 타임아웃, 고아 프로세스, 미커밋 작업, 스테일 세션 등 예상 불가능한 장애에 대비해야 한다. 초기 배포 후 Task #19에서 $5.84를 소비하고도 아무 결과물을 산출하지 못하는 사건이 발생했고, 이는 예산 검증만으로는 불충분함을 증명했다.
Technical Solution
- Telegram 메시징 인터페이스 도입: 웹 대시보드 제거, 모든 상호작용을 채팅 기반으로 제한하여 휴대폰에서 작업 전송 가능
- Ports and Adapters 패턴으로 아키텍처 분리: MessagingPort(Telegram), WorkerPort(Claude CLI), VCSPort(GitHub) 세 경계를 독립적으로 구성하여 레이어 교체 가능
- 다층 안전 장치 구현: 전역 $50/일 + 작업당 $5(최대 $10) 예산 상한, 30분 소프트 타임아웃(SIGTERM) + 5분 유예 후 SIGKILL, 60초 별도 킬 타이머
- 커밋 기반 검증:
git rev-list --count main..HEAD실행하여 0개면 작업 실패 판정, 에이전트 자체 평가는 무시 - 언커밋 작업 자동 구조:
git status --porcelain으로 더티 상태 감지 후git add -A && git commit -m 'WIP: auto-rescue'실행 - 프로세스 격리: 매 CLI 스폰마다
--no-session-persistence플래그 적용, 스테일 컨텍스트 차단 - 강제 체크아웃 폴백: 일반 체크아웃 실패 시 강제 체크아웃으로 더티 워킹 트리가 다음 작업을 데드락하지 않도록 보호
- 고아 프로세스 정리: PM2 재시작 시 running 상태 작업을 queued로 리셋하여 큐 전체 프리징 방지
Impact
48시간 동안 20개 작업 처리: 4개 완성(20% 초기 완성율 → 버그 수정 후 신규 작업 약 50%), 13개 실패, 2개 취소, 1개 실행 중. 총 지출 $12.49, 완성된 작업 평균 비용 $2.95. 가장 비용이 많이 든 작업은 $5.84(Task #19, 무산), 가장 저렴한 성공은 $1.49(Task #5, 티어 강제). 완성된 4개 작업 중 하나는 Next.js + PostgreSQL + 데이터 시각화 + 인증을 포함한 풀스택 피트니스 대시보드로 $2.00 비용.
Key Takeaway
"AI 에이전트 데모"와 "실제로 코드를 배포하는 AI 에이전트"의 차이는 예산 검증, 타임아웃 처리, 커밋 검증, 고아 정리, 세션 격리 등 60줄 검증 로직에 있다. 포트-어댑터 패턴으로 핵심 로직(TaskRunner, TaskService, BudgetService)을 외부 도구(Telegram, Claude, GitHub)와 분리하면 레이어 교체 시 시스템 다른 부분에 영향 없이 구현 변경 가능하다.
실천 포인트
AI 에이전트를 자동화 작업에 활용하는 팀은 예산 상한(작업당 달러 단위)과 강제 타임아웃(소프트 + 유예 + 킬 타이머 3단계), 출력 기반 검증(에이전트 자평가 무시), 고아 프로세스 정리, 미커밋 작업 자동 저장 등 6가지 안전 장치를 필수로 구현해야 프로덕션에서 예측 불가능한 비용 초과와 큐 데드락을 방지할 수 있다.