Back to all posts

VM0 개발 워크플로우: AI 에이전트를 팀처럼 관리하기

VM0 개발팀에서는 모든 개발자가 동시에 여러 개의 Claude Code 인스턴스와 함께 일합니다. 보통 여덟 개 이상이죠.

우리는 Claude Code를 실제 개발자와 똑같이 대합니다. (네, 우리 회사는 반쯤 농담으로 AI Colleagues Co! 라고 불립니다.)

그래서 VM0 개발 워크플로우의 설계 철학은 소프트웨어 엔지니어링의 고전적인 팀 관리 관행을 그대로 반영합니다.

우리는 작업 추적에 GitHub Issues를, 코드 리뷰와 병합에 Pull Requests를, 자동화 처리에 GitHub Actions를 사용합니다. 두 달에 걸쳐 이 구성은 우리가 404번의 릴리스를 내보내고 23만 줄이 넘는 코드를 작성하는 데 도움을 주었습니다.

이 글은 우리가 그것을 어떻게 작동 가능하게 만들었는지, 그리고 왜 핵심 문제는 결코 AI의 역량이 아니라 사람의 조율이었는지를 설명합니다.

실전 AI 기반 개발 워크플로우

많은 AI 에이전트를 병렬로 조율할 때, 병목은 모델이 코드를 쓸 수 있느냐가 아닙니다. 진짜 병목은 사람의 인지 부하입니다.

이 워크플로우는 14개의 슬래시 커맨드로 구성되며, Deep Dive, Issue Management, PR Management의 세 계층으로 정리됩니다.

먼저 제 워크플로우가 어떤 모습인지, 그리고 기능이 보통 어떻게 만들어지는지부터 살펴보겠습니다.

  1. 요구사항 정렬

    사람이 Claude 세션을 열고 /deep-research로 시작합니다. Claude는 코드베이스, 문서, 관련 맥락에서 사실을 수집합니다. 우리는 그 결과를 논의하고, 실제로 어떤 문제를 풀고 있는지 정렬합니다.

  2. 솔루션 탐색

    /deep-innovate를 사용해 Claude가 여러 가능한 방향을 트레이드오프와 함께 제안합니다. 우리는 논의하고, 범위를 좁히고, 방향을 선택합니다.

  3. 이슈 생성

    /issue-create로 GitHub 이슈를 생성합니다. 사람이 이슈를 검토해 요구사항이 명확하게 담겼는지 확인합니다.

  4. 계획 수립과 승인

    /issue-plan을 사용해 Claude가 작업을 이어가게 합니다. Claude는 전체 deep-dive 워크플로우를 자동으로 실행하고 결과를 이슈에 게시합니다. 다음을 포함합니다.

    1. /deep-research의 조사 결과
    2. /deep-innovate의 비교
    3. /deep-plan의 구체적인 구현 계획
  5. 구현

    승인 후, /issue-action으로 Claude가 계획을 구현하고, 테스트를 작성하고, PR을 열고, CI 통과를 보장합니다.

  6. 리뷰와 병합

    /pr-review로 구조화된 리뷰를 진행한 뒤, 병합 전에 사람의 최종 리뷰를 합니다.

    사람은 세 개의 체크포인트, 즉 요구사항, 방향, 수용에서 개입합니다. 그 외 모든 것은 자율적으로 진행됩니다.

사고방식의 전환: 당신은 AI 개발자 팀을 이끌고 있다

구조화된 워크플로우가 필요하다는 것을 깨달은 순간은, Claude 세션을 더 추가하는 것이 오히려 상황을 악화시켰을 때였습니다. 병렬로 실행하는 인스턴스가 많아질수록 각각이 무엇을 하고 있는지, 작업이 어떤 상태인지, 무엇이 이미 결정되었는지 추적하기가 더 어려워졌습니다.

외부 도구 없이는 그렇게 많은 Claude 인스턴스를 한꺼번에 관리할 수 없었습니다. 바로 그때 떠올랐습니다. 이것은 AI 문제가 아니라 관리 문제였습니다.

GitHub는 이미 소프트웨어 개발에서 협업을 위한 자연스러운 도구이므로, 새로운 것을 발명하는 대신 저는 Claude를 인간 동료와 똑같이 대하기 시작했습니다. 그렇게 하자 제 관리 역량이 단번에 확장되었습니다.

10년간의 프로젝트 및 팀 관리 경험이 마침내 이 새로운 맥락에서 의미를 갖게 되었습니다. Claude를 팀원으로, GitHub를 우리의 공유 소통 및 관리 공간으로 대하자, 전체 시스템이 다시 관리 가능해졌습니다.

좋은 팀 리더는 언제 개입하고 언제 물러설지를 압니다.

체크포인트내가 하는 일AI가 하는 일
요구사항문제에 대해 정렬하고 범위를 명확히 함코드베이스 조사, 맥락 수집
방향조사 결과 검토, 접근 방식 승인2~3가지 접근 방식 제안, 트레이드오프 평가
수용PR 검토, 품질 확인구현, 테스트, CI 수정

이것은 효과적인 소프트웨어 팀이 운영되는 방식을 그대로 반영합니다. 저는 개발자를 마이크로매니지하지 않고, 명확한 요구사항을 설정하고, 핵심 결정을 검토하고, 최종 산출물을 확인합니다. AI 에이전트를 관리할 때도 같은 원칙이 적용됩니다.

deep dive 흐름은 구조화된 느린 사고를 강제한다

deep dive 워크플로우는 구현 전에 신중한 사고를 강제합니다. 때때로 Claude가 막다른 길에 부딪힙니다. 그럴 때 우리는 Claude가 멈추고 생각하도록 강제한 다음, 함께 이야기로 풀어 갑니다. 세 단계로 이루어집니다.

단계커맨드목적산출물
Research/deep-research사실 수집, 맥락 이해research.md
Innovate/deep-innovation여러 접근 방식 탐색innovate.md
Plan/deep-plan구체적인 단계 정의plan.md

각 단계에는 엄격한 경계가 있습니다.

이러한 제약은 Claude가 곧장 코드로 뛰어드는 대신 느리고 신중한 추론을 하도록 강제합니다. 이것이 없으면 엣지 케이스와 아키텍처적 고려 사항이 종종 누락됩니다!

사용 예시

/deep-research investigate the authentication flow, I'm seeing token expiration issues

[Claude researches, analyzes 12 related files, finds 3 similar patterns]

/deep-innovate what are our options for fixing this?

[Claude presents 3 approaches with trade-offs, you pick one]

/issue-create let's track this fix

간단한 작업이라면 deep dive를 건너뛰고 바로 /issue-create로 가도 됩니다.

기술적 불확실성이 있는 복잡한 작업이라면, deep dive 단계가 구현을 시작하기 전에 당신과 Claude가 정렬되도록 돕습니다.

GitHub를 공유 메모리로 사용하라

대부분의 AI 도구는 컨텍스트를 일시적인 것으로 다룹니다. 세션이 끝나면 메모리가 사라집니다.

VM0는 GitHub를 지속적인 메모리로 사용합니다.

GitHub 기능저장하는 것
Issue 본문요구사항과 결정 사항
Issue 댓글조사, 옵션, 계획
PR 댓글리뷰와 요약
Labels워크플로우 상태

이것은 또한 사람의 문제, 즉 컨텍스트 복구를 해결합니다.

제가 8개 이상의 Claude 인스턴스를 관리할 때, 작업이 완료되었다는 알림을 받습니다. 하지만 Claude의 대화만으로는 그것이 무엇을 하고 있었는지, 어떤 결정이 내려졌는지, 현재 상태가 무엇인지 재구성할 수 없습니다.

GitHub 이슈가 이를 해결합니다. 각 이슈는 다음을 보여줍니다.

이 구조화된 형식은 리뷰를 효율적으로 만듭니다. 덕분에 저는 각 단계를 빠르게 훑어보고, 접근 방식을 이해하고, 원래 대화를 기억할 필요 없이 승인하거나 변경을 요청할 수 있습니다.

작업이 끝나면 채팅 창에서 무슨 일이 있었는지 기억할 필요가 없습니다. 이슈를 열면 구조화되어 기록된 전체 이야기를 볼 수 있습니다.

에이전트 간 인계

모든 컨텍스트가 GitHub에 살아 있기 때문에, 작업은 에이전트 사이를 매끄럽게 이동할 수 있습니다.

긴 논의의 경우, /issue-compact가 모든 것을 깔끔한 이슈 본문으로 통합합니다. 이는 사람과 AI 모두에게 인계를 쉽게 만들어 줍니다.

워크플로우 패턴을 정리해 봅시다

지금까지의 내용을 바탕으로 몇 가지 실용적인 팁을 정리하겠습니다.

간단한 작업

/issue-create → /issue-plan → /issue-action → /pr-check-and-merge

요구사항이 명확하고 작업이 단순할 때 사용하세요.

복잡한 작업

/deep-research → discussion → /deep-innovate → discussion →
/issue-create → /issue-plan → /issue-action →
/pr-review → /pr-check

이것은 잘못된 접근 방식에 노력을 낭비하는 것을 방지합니다.

병렬 작업

사람이 완료된 체크포인트를 검토하는 동안 여러 에이전트가 동시에 일할 수 있습니다. 워크플로우가 가장 잘 확장되는 지점이 바로 여기입니다.

Agent 1: /issue-plan #123
Agent 2: /issue-plan #124
Agent 3: /pr-review #100
Agent 4: /deep-research new feature requirements

커맨드 레퍼런스

Deep dive 커맨드

커맨드목적
/deep-research정보 수집, 코드베이스 이해. 제안 금지.
/deep-innovate2~3가지 접근 방식 탐색, 트레이드오프 평가. 코드 금지.
/deep-plan구체적인 구현 단계 작성. 구현 금지.

Issue 커맨드

커맨드목적
/issue-create대화 맥락에서 이슈 생성
/issue-bug재현 단계를 포함한 버그 리포트 생성
/issue-feature요구사항에 초점을 맞춘 기능 요청 생성
/issue-plan전체 deep-dive 워크플로우 실행, 결과를 이슈에 게시
/issue-action사람의 승인 후 구현 이어가기
/issue-compact인계를 위해 이슈 본문 + 댓글 통합

PR 커맨드

커맨드목적
/pr-checkCI 파이프라인 모니터링, 자동 수정, 최대 3회 재시도
/pr-review프로젝트 표준에 따라 커밋 단위로 PR 검토
/pr-comment대화 논의를 PR 댓글로 요약

시작하기

  1. 단순하게 시작하세요: 첫 작업에는 /issue-create/issue-plan/issue-action을 사용하세요
  2. 복잡한 작업에는 deep dive를 추가하세요: 요구사항이 불명확하거나 기술적으로 복잡할 때는 /deep-research로 시작하세요
  3. 점진적으로 확장하세요: 리뷰 리듬에 익숙해질수록 Claude 인스턴스를 더 추가하세요
  4. 프로세스를 신뢰하세요: 체크포인트 사이에서는 Claude가 자율적으로 일하게 두세요

이 워크플로우는 점진적으로 도입하도록 설계되었습니다. 첫날부터 14개 커맨드를 모두 쓸 필요는 없습니다. 기본 이슈 흐름으로 시작한 다음, 자신감이 붙으면 deep dive 단계와 병렬 작업을 추가하세요.

확장 고려사항: 에이전트가 더 많아지면 어떻게 할 것인가

이 워크플로우는 10개 이상의 동시 Claude 인스턴스로 테스트되었습니다. 우리의 권장 사항입니다.

제약 요인은 워크플로우가 아니라 사람의 주의력과 결정 품질입니다. 10개가 넘는 에이전트를 관리하면 리뷰 체크포인트에서 당신이 병목이 될 위험이 있고, 결정 품질이 떨어지기 시작합니다.

고전적인 "two pizza team" 원칙이 여기에 적용됩니다. 인간 팀의 규모를 제한하는 바로 그 제약이, 한 사람이 효과적으로 관리할 수 있는 AI 에이전트의 수도 제한합니다.

저는 현재 10개를 넘어서는 확장을 위해 8×8 이중 계층 팀 구조를 탐색하고 있지만, 아직 효과적인 실천 방법을 개발하지는 못했습니다. 구체적인 결과가 나오면 더 공유하겠습니다…

VM0 개발 워크플로우는 AI가 팀의 일원이 될 때 우리가 소프트웨어 개발을 바라보는 방식을 바꿉니다.

AI 에이전트를 도구가 아니라 팀원으로 대하면, 모든 것이 제자리에 맞아 들어갑니다. GitHub는 팀의 공유 메모리가 됩니다. 이슈는 작업 항목이 됩니다. PR은 산출물이 됩니다. 그리고 당신은 팀 리더가 되어, AI 팀이 구현을 처리하는 동안 아키텍처, 방향, 품질에 집중하게 됩니다.

그것이 우리가 두 달 만에 404번의 릴리스를 내보낸 방법입니다. 그리고 그것이 당신도 AI와 함께 자신의 개발을 확장할 수 있는 방법입니다.

Related Articles

Stay in the loop

// Get the latest insights on AI teammates and collaboration.

SubscribeJoin Discord