LeanX

격리와 병렬 실행

git worktree로 에이전트마다 독립 작업 디렉터리를 주면 파일 충돌 없이 여러 에이전트를 동시에 실행할 수 있지만, 코드 격리만으로는 부족하고 런타임·DB·포트까지 격리해야 진짜 안전합니다.

여러 AI 에이전트를 동시에 돌리면 같은 파일을 두 에이전트가 동시에 수정해 충돌이 생깁니다. 한 에이전트가 마이그레이션을 실행하는 동안 다른 에이전트가 같은 DB를 쿼리하다 데이터가 손상될 수 있습니다. 이 문제를 해결하는 것이 격리(Isolation)입니다.

git worktree: 코드 격리의 핵심

git worktree는 하나의 git 저장소(repository)에서 여러 작업 디렉터리를 동시에 체크아웃하는 기능입니다. 각 에이전트는 자신만의 독립적인 폴더에서 작업하고, 변경 사항이 다른 에이전트의 폴더에 전혀 영향을 주지 않습니다.

git worktree 기본 사용법

# 에이전트 A용 worktree 만들기
git worktree add ../project-agent-a feature/auth-refactor

# 에이전트 A의 작업 디렉터리에서 Claude 실행
cd ../project-agent-a && claude

# 에이전트 B도 다른 브랜치로 동시에 만들기
git worktree add ../project-agent-b feature/dashboard-fix

# 현재 워크트리 목록 확인
git worktree list

# 작업 완료 후 worktree 삭제
git worktree remove ../project-agent-a

병렬 에이전트 실행 패턴

2025년 이후 Claude Code, Cursor 등 주요 AI 코딩 도구들이 git worktree 기반 병렬 에이전트를 지원합니다. 실제 팀들은 4~5개의 에이전트를 동시에 돌리며, 각각 다른 기능을 독립적으로 개발합니다. 극단적인 경우 수백 개의 worktree를 동시에 운용한 사례도 보고되었습니다.

코드 격리만으로는 부족하다

worktree가 파일 시스템은 분리해 주지만, 런타임(runtime) 환경은 분리해 주지 않습니다. 두 에이전트 모두 localhost:3000에서 서버를 시작하려 하면 충돌이 납니다. 두 에이전트가 같은 테스트 데이터베이스를 읽고 쓰면 결과가 오염됩니다.

격리 레이어해결 방법주의사항
파일시스템git worktree가장 먼저 설정할 것
포트(port)에이전트마다 다른 포트 할당PORT=3001, 3002...
데이터베이스에이전트마다 다른 DB 브랜치Supabase Branch 기능 활용
환경변수에이전트별 .env 파일 분리.env.agent-a, .env.agent-b
캐시캐시 디렉터리를 worktree 안에 두기.cache/ 경로 주의

백그라운드 에이전트(Background Agents)

병렬 실행의 또 다른 패턴은 백그라운드 에이전트입니다. 시간이 오래 걸리는 작업(빌드, 테스트 전체 실행, 의존성 설치)을 백그라운드로 넘기고, 메인 에이전트는 다른 작업을 계속합니다. 완료되면 알림을 받고 결과를 처리합니다.

병렬 에이전트 운용 원칙

  • 병렬로 실행할 에이전트 수는 자신이 리뷰할 수 있는 능력의 한계 이내로 제한합니다.
  • 각 에이전트의 범위(scope)가 겹치지 않도록 미리 정의합니다.
  • 메인 에이전트(오케스트레이터)가 하위 에이전트의 작업을 조율합니다.
  • 완료된 worktree는 머지(merge) 후 즉시 삭제해 저장소를 깔끔하게 유지합니다.

병렬 작업 분해 프롬프트

아래 큰 작업을 독립적으로 병렬 실행 가능한 서브 작업들로 나눠줘.

[큰 작업]
{여기에 전체 작업 설명}

각 서브 작업을 분리할 때 다음을 확인해 줘:
1. 서로 다른 파일/폴더를 건드리는가 (파일 충돌 없을 것)
2. 서로의 결과물에 의존하지 않는가 (순서 의존성 없을 것)
3. 독립적으로 검증 가능한가 (각자 테스트 가능할 것)

분리된 서브 작업마다 담당 파일 범위와 검증 방법을 명시해 줘.

Supabase를 쓴다면 Supabase Branch 기능을 활용하세요. 각 에이전트에게 독립된 데이터베이스 브랜치를 주면 마이그레이션과 데이터 충돌 걱정 없이 병렬로 작업할 수 있습니다.

병렬 에이전트는 사람의 리뷰 능력보다 빠르게 변경 사항을 만들 수 있습니다. 더 많은 병렬 에이전트가 곧 더 좋은 결과를 의미하지는 않습니다. 리뷰하지 못한 변경사항은 기술 부채가 됩니다. 동시 에이전트 수를 자신이 하루에 리뷰할 수 있는 PR 수 이내로 제한하세요.