혼자서 여러 앱을 운영하는 방법: 에이전트 하네스(The Agent Harness)
저는 혼자서 여러 개의 작은 앱을 만들고 유지 관리합니다. 공동 창업자도, 직원도, 계약직 직원도 없습니다. 저는 저 자신 한 명과 AI 에이전트 그룹을 활용합니다.
사람들은 AI가 제가 더 빠르게 코딩하도록 도와준다고 생각합니다. 하지만 그것이 비결은 아닙니다.
비결은 AI가 증거 없이 작업을 완료했다고 말하게 두지 않는 것입니다. 혼자 일할 때의 위험은 작업 속도가 느린 것이 아닙니다. 진짜 위험은 '자신 있게 틀리는 것'입니다.
AI는 테스트를 실행하지 않고도 테스트를 통과했다고 말할 것입니다. 기능의 이름만 작성해 놓고는 기능이 완성되었다고 말할 것입니다. 실수를 잡아줄 동료가 없다면, 잘못된 "괜찮아 보이네요"라는 말 한마디가 앱을 망칠 수 있습니다.
저는 '하네스(harness)'라고 불리는 시스템을 구축했습니다. 이 시스템은 거짓 완료를 어렵게 만듭니다. 전문화된 에이전트와 검증 게이트(verification gates)를 사용하여 AI가 진실을 말하고 있는지 확인합니다.
작동 방식은 다음과 같습니다:
• 전문화된 에이전트: 하나의 비서 대신 40개의 전문화된 에이전트를 사용합니다. 하나는 Flutter 코드를 리뷰하고, 하나는 보안을 점검하며, 하나는 테스트를 실행합니다. 또 다른 하나는 주장과 실제 변경 사항을 비교하여 현실을 감사(audit)합니다. • 격리된 작업: 에이전트들은 별도의 임시 환경에서 작업합니다. 서로의 작업을 덮어쓸 수 없습니다. • 중복성(Redundancy): 하나의 변경 사항에 대해 여러 명의 리뷰어를 사용합니다. 리뷰어 한 명은 버그를 놓칠 수 있지만, 서로 다른 목표를 가진 세 명의 리뷰어와 회의론자(skeptic) 한 명이 있다면 버그를 찾아낼 수 있습니다. • 고정된 파이프라인: 모든 작업은 엄격한 경로를 따릅니다:
- 작업 계획 수립.
- 변경 사항 구현.
- 코드를 실제로 실행. "작동할 것 같습니다"라는 말은 받아들이지 않습니다. 오직 실제 출력값만 인정합니다.
- 현실 감사. 별도의 에이전트가 코드가 주장과 일치하는지 확인합니다.
- 리뷰. 언어 전문가가 작업 내용을 확인합니다.
- 검증 게이트. 최종 단계에서 실제 변경 사항과 보안 유출 여부를 확인합니다. 결과는 PASS 또는 REJECT로 반환됩니다.
이 시스템은 제가 스스로에게 했던 거짓말들을 막아줍니다.
"작동할 거예요"는 실행 단계에서 실패합니다. "완료됨"은 코드가 빈 껍데기에 불과하다면 현실 감사 단계에서 실패합니다. "모두 통과(All green)"는 경고가 숨겨져 있다면 실패합니다.
또한 저는 3계층 메모리 시스템을 사용합니다. 짧은 인덱스, 장기 노트, 전체 텍스트 검색을 활용합니다. 이를 통해 AI가 과거에 제가 어떻게 설정했는지 추측하는 것을 방지합니다.
가장 중요한 규칙은 이것입니다: 작업은 자동화하되, 판단은 절대 자동화하지 않습니다.
• 배포는 수동입니다. 제가 직접 버튼을 누릅니다. • 라이브 서비스 전환에는 제가 필요합니다. 모든 결제나 릴리스 설정을 제가 승인합니다. • 실패 시 아무것도 병합되지 않습니다. 빌드가 깨지면 모든 것이 차단됩니다.
AI의 레버리지는 작업을 자동화하는 데서 오고, 안전함은 결정을 자동화하기를 거부하는 데서 옵니다.
혼자 일할 때 가장 소중한 자원은 신뢰입니다. 여러분은 자신이 배포한 것이 의도한 대로 배포된 것임을 믿을 수 있어야 합니다.
작게 시작하세요. 가장 자주 하는 실수를 찾으세요. 그리고 그 실수가 불가능하도록 만드는 단 하나의 체크 시스템을 구축하세요.
Source: https://dev.to/pi-maker/how-i-run-a-handful-of-apps-solo-the-agent-harness-explained-512i
Optional learning community: https://t.me/GyaanSetuAi
