본문 바로가기

AI Agent

[실전] AI한테 AI 감시시키기 — 멀티 에이전트 워크플로우 직접 구현해봤습니다 (Antigravity 워크플로우)

반응형

Antigravity에 멀티 에이전트 워크플로우를 추가해봤습니다

AI 개발 도구를 쓰다 보면 한 번쯤 이런 생각이 드실 거예요.

"코드 짜는 AI, 검토하는 AI, 진행 관리하는 AI가 따로따로 있으면 어떨까?"

그게 바로 멀티 에이전트 워크플로우입니다. 이번 글에서는 제가 Antigravity에 이 구조를 직접 구현해본 경험을 공유해 드릴게요.


Antigravity가 뭔가요?

Antigravity는 AI 에이전트 기반 개발 자동화 프레임워크입니다. Claude나 GPT 같은 LLM을 여러 개 연결해서 개발 작업을 자동으로 처리할 수 있게 해주는 툴이에요. 단순히 코드 한 줄 생성하는 수준이 아니라, 기획부터 구현, 검토까지 파이프라인 형태로 구성할 수 있다는 게 특징입니다.


어떤 구조로 만들었냐면요

총 5단계 워크플로우로 구성했습니다.

Step 1: Task Manager (Orchestrator)

specs.md와 progress.json을 읽어서 아직 완료되지 않은 기능 중 첫 번째를 추출합니다. 특정 기능이 3번 이상 재시도됐다면 개발을 중단하고 사용자에게 도움 요청 메시지를 출력합니다.

Step 2: Implementation (Developer_A)

Step 1에서 추출한 기능을 실제 코드로 구현합니다. specs.md와 기존 소스 코드를 컨텍스트로 참고해서 작업해요.

Step 3: Validation & Review (Reviewer_B)

Developer_A가 만든 결과물을 기획서 요구사항 기준으로 검토합니다. 승인되면 Step 4로, 거절되면 피드백과 함께 Step 2로 되돌아가요.

Step 4: Progress Update (Orchestrator)

progress.json에 완료된 기능을 기록하고 다음 기능이 있으면 Step 1로 돌아가 루프를 반복합니다. 모든 기능이 완료되면 종료됩니다.

Step 5: Human Intervention

에이전트 간 논쟁이 길어지거나 해결이 안 될 때 사람이 개입하는 단계입니다. 현재까지의 코드를 리뷰하고 직접 가이드를 줄 수 있어요.

 

## Step 1: Task Manager (Orchestrator)
- **Goal:** `specs.md`와 `progress.json`을 읽어 현재 미완료된 가장 첫 번째 기능을 추출.
- **Max Retries:** 3 
- **Logic:** - 특정 기능의 `retry_count`가 3회를 초과했는지 확인하라.
  - 3회를 초과했다면 개발을 중단하고 사용자에게 "도움이 필요함" 메시지를 출력하라.
- **Output:** `current_feature` (예: "기능 2: 로그인 API 구현")
- **Next:** Step 2

## Step 2: Implementation (Developer_A)
- **Goal:** {{Step 1.current_feature}}를 코드로 구현.
- **Max Retries:** 3 
- **Context:** `specs.md`, 기존 소스 코드
- **Next:** Step 3

## Step 3: Validation & Review (Reviewer_B)
- **Goal:** Step 2의 결과물이 기획서 요구사항에 맞는지 검토. 코드 레벨에서의 검토만 하면 된다.
- **Max Retries:** 3 
- **Next:** - On `Approve` -> **Step 4**
  - On `Reject` -> **Step 2로 회귀** (수정 요청 피드백 포함)

## Step 4: Progress Update (Orchestrator)
- **Goal:** `progress.json`에 해당 기능 완료를 기록하고 `specs.md`의 다음 기능이 있는지 확인.
- **Max Retries:** 3 
- **Next:**
  - 다음 기능이 있으면 -> **Step 1로 이동 (루프)**
  - 모든 기능 완료 시 -> **End**

## Step 5: Human Intervention
- **Wait for:** User Approval  
- **Instruction:** "에이전트 간 논쟁이 길어져 중단되었습니다. 현재까지의 코드를 리뷰하고 직접 가이드를 주세요."

 

 


워크플로우 파일은 어떻게 만드냐면요

Antigravity에서 워크플로우를 등록하는 방법은 간단합니다. 프로젝트 루트의 .agent/workflows/ 경로에 워크플로우이름.md 파일을 만들면 끝이에요.

프로젝트 루트/
└── .agent/
    └── workflows/
        └── workflow이름.md

에디터에서 직접 파일 생성하면 Antigravity가 자동으로 인식합니다. 별도 설정 파일을 건드리거나 등록 과정 없이 파일 하나만 만들면 바로 사용할 수 있어서 진입 장벽이 낮아요.


파일 구조는 간단합니다. description에 워크플로우 설명을 입력하고, content 아래에 실제 워크플로우 내용을 작성하면 됩니다.

 


사용법도 간단합니다. Antigravity 에디터에서 / 를 입력한 뒤 워크플로우 이름(파일명)을 적고 탭을 누르면 적용됩니다.

/workflow이름


실제로 돌려보니 어땠냐면요

구조 자체는 생각보다 깔끔하게 동작했습니다. Orchestrator가 progress.json을 기반으로 상태를 추적하면서 루프를 돌리는 방식이라 어느 기능에서 막혔는지 바로 파악할 수 있었어요.

다만 Reviewer_B가 너무 깐깐하게 굴면 Step 2 ↔ Step 3 사이에서 무한 루프가 생길 수 있습니다. 그래서 Max Retries를 3으로 설정하고, 초과 시 Step 5(Human Intervention)로 넘기도록 했어요.


이 구조를 쓰면 뭐가 좋냐면요

  • 기능 단위로 개발과 검토가 자동으로 반복됩니다
  • 어디서 막혔는지 progress.json으로 바로 추적 가능합니다
  • 사람 개입 없이도 상당 부분 자동으로 진행됩니다
  • 무한 루프 방지를 위한 재시도 제한이 있어서 안전합니다

마무리

멀티 에이전트 워크플로우는 한 명의 AI에게 모든 걸 맡기는 것보다 훨씬 체계적입니다. 역할을 분리하면 각 에이전트가 자기 일에만 집중할 수 있고, 검토 단계가 있으니 결과물 품질도 올라가요.

Antigravity를 쓰고 계신 분이라면 한 번 이 구조를 직접 구현해보시는 걸 추천드립니다. 생각보다 훨씬 재미있습니다. 😄


동작 화면

 

반응형