멀티세션은 병렬성이 아니라 간섭 제거다
worktree·백그라운드 세션·subagent·분기가 각각 격리하는 대상
세션을 두 개 띄우는 순간 병목은 모델이 아니라 작업 디렉토리로 옮겨갑니다. 같은 체크아웃에서 두 세션이 동시에 파일을 고치면 서로의 편집을 덮어쓰기 때문입니다. 그래서 멀티세션의 핵심은 동시에 많이 돌리기가 아니라 간섭할 수 있는 것을 미리 분리하기입니다. Claude Code는 파일을 git worktree로, 프로세스를 백그라운드 세션으로, 대화 컨텍스트를 /branch로 각각 다른 층위에서 격리합니다. 첫 질문은 몇 개를 띄울까가 아니라 이 작업은 어느 층위에서 충돌하는가여야 합니다.
| 메커니즘 | 격리하는 것 | 고르는 기준 |
|---|---|---|
| git worktree (--worktree) | 작업 디렉토리와 브랜치 | 두 작업이 같은 파일을 고칠 때 |
| Agent View (claude agents) | 백그라운드 세션 프로세스 | 응답 대기 시간이 아까울 때 |
| subagent / agent team | 한 세션 안의 작업 단위 | 한 맥락에서 조사를 분산할 때 |
| /branch (구 /fork) | 대화 컨텍스트 사본 | 같은 맥락에서 다른 방향을 볼 때 |
| tmux | 터미널 세션 | Agent View를 쓰지 않는 환경일 때 |
- 충돌 지점 지목같은 파일인지, 대기 시간인지, 컨텍스트인지 한 줄로 먼저 적습니다.
- 층위 매칭파일 충돌에는 worktree를, 대기 시간에는 백그라운드 세션을 배정합니다.
- 병렬도 상한구현+리뷰 2개, 독립 기능 3개를 기본 상한으로 두고 초과 사유를 적습니다.
- 종료 조건 선언시작 전에 무엇을 커밋·푸시하고 나올지를 한 줄로 정해 둡니다.