Worktree Isolation — 각자의 방에서 일하다
이전 이야기에서: 지민은 Agent Teams로 세 에이전트를 동시에 실행시켰다. backend-agent, frontend-agent, qa-agent. 론칭까지 이틀. 세 에이전트가 동시에 작업을 시작했다. 그리고 5분 후...
Harness = Tools + Knowledge + Context + Permissions
Worktree Isolation은 Context를 파일시스템 레벨에서 격리한다. "Each works in its own directory, no interference"
"내 코드가 사라졌다"
론칭까지 이틀이었다.
지민은 Agent Teams(Ch12)를 써서 세 에이전트를 동시에 돌렸다.
backend-agent: 결제 API 구현 중 — src/auth/middleware.ts 수정
frontend-agent: 결제 UI 구현 중 — 별도 파일 작업
qa-agent: 인증 테스트 작성 중 — src/auth/middleware.ts 읽기 + 수정
5분 후 지민의 터미널에 이상한 메시지가 나타났다.
backend-agent: ✅ JWT 검증 로직 개선 완료. 파일 저장됨.
qa-agent: ✅ 인증 테스트 추가 완료. 파일 저장됨.
둘 다 성공했다. 지민은 안심하고 결과를 확인했다.
git diff를 열었다. 그리고 얼어붙었다.
backend-agent의 JWT 코드가 없었다. qa-agent가 같은 파일을 나중에 저장하면서 덮어쓴 것이다.
시간순:
10:00:00 backend-agent: middleware.ts 수정 (JWT 추가)
10:00:03 qa-agent: middleware.ts 수정 (테스트 헬퍼 추가)
10:00:03 → qa-agent의 버전이 마지막 → backend의 변경 소실
1시간 동안 작업한 JWT 코드가 사라졌다. 론칭까지 이틀 남은 상황에서.
더 심각한 문제도 있었다:
backend-agent: git add src/auth/
qa-agent: git add src/auth/ (동시에!)
→ 두 에이전트의 변경사항이 같은 스테이징에 섞임
→ 어떤 커밋이 어떤 에이전트의 것인지 분간 불가
현우가 옆에서 봤다. "그래서 내가 AI한테 맡기면 위험하다고 했잖아."
지민은 현우에게 대답하지 않았다. 머릿속에서 빠르게 생각했다. "에이전트가 서로 방해하지 않으려면... 같은 파일을 건드리면 안 된다. 아니, 더 근본적으로 — 같은 디렉토리에 있으면 안 된다."