본문으로 건너뛰기
H
Harness 101
학습 경로/Act 3 — 규모/13. Worktree Isolation
Context + Permissions·고급·75분

내 코드가 사라졌다

“각자의 방에서 일하면 충돌은 없다”

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한테 맡기면 위험하다고 했잖아."

지민은 현우에게 대답하지 않았다. 머릿속에서 빠르게 생각했다. "에이전트가 서로 방해하지 않으려면... 같은 파일을 건드리면 안 된다. 아니, 더 근본적으로 — 같은 디렉토리에 있으면 안 된다."