여러 세션 동시에 — 워크트리로 나눠 쓰기
직원이 한 명이면 일은 한 줄로 서서 차례를 기다립니다. 한 번에 하나씩만 처리된다는 뜻입니다. 클로드 코드는 세션(대화창을 열어 일하고 닫기까지)을 여러 개 동시에 열어 쓸 수 있습니다. 워크트리(같은 저장소를 쓰는 별도의 작업 폴더)를 쓰면 여러 세션이 같은 프로젝트를 고쳐도 서로 엉키지 않습니다. 세션을 굳이 나누는 이유 하나는 AI가 자기 결과물을 스스로 냉정하게 보지 못하기 때문입니다. 이 약점이 왜 생기는지는 「AI는 자기가 한 일을 스스로 판단하지 못합니다」 페이지에서 설명합니다.
왜 세션을 나눌까요
세 가지 이득이 있습니다.
- 속도 — 서로 관련 없는 일을 동시에 진행해 전체 시간을 줄입니다.
- 격리 — 실험적인 시도를 따로 진행해, 잘되는 작업과 섞이지 않게 합니다.
- 품질 — 결과물을 만든 세션은 자기 결과물에 관대해지기 쉽습니다. 한 세션이 만들고 다른 세션이 점검하면 더 냉정하게 봅니다. 만드는 직원과 검사하는 직원을 나누는 것이며, 책 13장이 이 원칙을 다룹니다.
덤도 있습니다. 한 세션에 일을 몰아넣으면 기억 그릇(클로드가 한 번에 기억할 수 있는 양)이 금방 차서 성능이 떨어지는데, 일을 나누면 각 세션의 그릇이 깨끗하게 유지됩니다.
워크트리 — 별도의 작업 폴더
워크트리(worktree)는 같은 저장소를 공유하면서 파일과 브랜치는 따로 쓰는 별도의 작업 폴더입니다. 브랜치는 원본을 건드리지 않고 따로 이어 가는 작업 줄기입니다. 책상 두 개를 나란히 놓고, 한쪽 작업이 다른 쪽 책상 위를 어지럽히지 않게 하는 것과 비슷합니다. 세션마다 다른 워크트리에서 일하게 하면, 한 세션이 고친 파일이 다른 세션의 파일을 건드리지 않습니다.
# 첫 번째 터미널 — 격리된 워크트리에서 세션 시작 claude --worktree feature-auth # 두 번째 터미널 — 이름만 다르게 하면 또 하나의 격리 세션 claude --worktree bugfix-123 # 이름을 빼면 클로드 코드가 알아서 이름을 지어 줍니다 claude --worktree
워크트리는 저장소 안 .claude/worktrees/<이름>/ 위치에 생기고, worktree-<이름>이라는 새 브랜치에서 시작합니다. 정리도 알아서 합니다. 세션을 끝낼 때 바꾼 내용이 하나도 없으면 워크트리와 브랜치가 자동으로 지워집니다. 고친 것이 있거나 세션에 이름을 붙여 두었다면 남길지 지울지 물어봅니다.
세션 안의 서브에이전트(AI 직원)들도 같은 방식으로 격리할 수 있습니다. 클로드에게 “에이전트들에게 워크트리를 쓰게 해”라고 말하면 됩니다.
.env(비밀번호나 API 키가 담긴 파일) 같은 파일이 그렇습니다. 프로젝트 맨 위에 .worktreeinclude 파일을 만들어 복사할 목록을 적어 두면 자동으로 딸려 옵니다. 이 파일을 만드는 일도 클로드에게 말로 시키면 됩니다.
claude --worktree를 쳤는데 오류가 나고 세션이 안 열릴 때
가장 흔한 원인은 그 폴더가 깃 저장소가 아닌 것입니다. 워크트리는 깃의 기능이라, 기록 관리를 시작하지 않은 보통 폴더에서는 만들어지지 않습니다. 따라 하기에서 만든 연습 폴더가 대개 여기에 해당합니다.지금 해 볼 것은 하나입니다. 워크트리 없이
claude로 그냥 세션을 연 다음 “이 폴더가 깃 저장소인지 확인하고, 아니면 저장소로 만들어 줘”라고 시킵니다. 저장소가 된 뒤에 다시 --worktree를 붙이면 열립니다. 깃 자체가 낯설면 깃 기초를 먼저 보십시오. 깃 설정이 번거롭다면 워크트리를 건너뛰고 폴더를 따로 만들어 터미널 창 두 개로 나눠 쓰는 방법으로도 동시에 쓸 수 있습니다.그래도 안 되면 「이럴 때는?」 페이지에서 비슷한 증상을 찾아보십시오.
여러 일을 동시에 하는 네 가지 방법
얼마나 직접 조율할지에 따라 네 가지 가운데 하나를 고르면 됩니다.
| 방법 | 설명 | 조율 |
|---|---|---|
| 워크트리 | 설명같은 저장소를 여러 폴더로 따로 펼쳐, 터미널 세션들이 충돌 없이 편집 | 조율사장이 직접 |
| 데스크톱 앱 | 설명여러 세션을 화면으로 관리 — 새 세션마다 워크트리가 자동으로 만들어짐 | 조율사장이 직접 |
| 클라우드 세션 | 설명앤트로픽이 운영하는 클라우드에 따로 마련된 컴퓨터(가상 머신)에서 세션 실행 | 조율사장이 직접 |
| 에이전트 팀 | 설명팀 리드 세션이 공유 작업 목록·메시지로 여러 세션을 자동 조율 | 조율자동 |
백그라운드 세션과 에이전트 뷰
세션은 화면 밖으로 보내 따로 일하게 할 수도 있습니다. 이런 백그라운드(화면에 보이지 않게 따로 도는) 세션은 터미널을 닫아도 계속 일하는 세션입니다. 일을 맡겨 두고 떠났다가, 언제든 돌아와 이어받습니다.
# 처음부터 백그라운드로 세션을 띄우기 (이름을 붙이면 나중에 찾기 쉬움) claude --bg --name "flaky-test-fix" "불안정한 테스트의 원인을 조사해 줘" # 대화 중이던 세션 안에서 지금 하던 일을 뒤로 넘기기 /background # 뒤에서 도는 세션들을 한 화면에서 관리 — 에이전트 뷰 claude agents
에이전트 뷰(agent view)는 백그라운드 세션들의 관제탑입니다. 각 세션이 무엇을 하는지, 어느 세션이 내 답을 기다리는지, 무엇이 끝났는지 한 화면에 보여 줍니다. 줄을 골라 Space를 누르면 살짝 들여다보고, Enter를 누르면 그 세션에 들어가 평소처럼 대화합니다. 백그라운드 세션이 파일을 고칠 때는 자동으로 격리된 워크트리로 옮겨 가므로, 여기서도 서로 엉키지 않습니다.
대화하던 세션에서 에이전트 뷰로 바로 갈 수도 있습니다. 입력창이 비어 있을 때 ←를 누르면 그 세션을 백그라운드로 보내면서 에이전트 뷰를 엽니다. 글을 막 지운 직후라 「Press ← again」이 뜨면 한 번 더 누르거나 꾹 누르고 있으면 됩니다.
Space로 들여다보는 창에서 답을 쳐서 보낼 수도 있습니다. 일하는 중인 세션에 /model·/effort·/rename을 보내면 하던 답을 마칠 때까지 기다리지 않고 모델도, 생각의 깊이도, 이름도 바로 바뀝니다.
세션이 많아지면 Ctrl+F를 누르고 이름을 쳐서 찾습니다. 맨 아래 입력창에 n:로그인처럼 치면 이름이나 처음 맡긴 지시에 ‘로그인’이 든 세션만 남습니다. 이때 Enter를 누르면 이름이 가장 잘 맞는 세션이 열립니다. 목록의 묶음 사이는 Alt(맥은 Option)+↑·↓로 건너뜁니다.
에이전트 뷰를 열지 않고 터미널에서 바로 다룰 수도 있습니다. 세션 이름은 일부만 적어도 됩니다.
# 백그라운드 세션에 들어가 평소처럼 대화하기 claude attach flaky # 들어가지 않고 최근 출력만 보기 claude logs flaky
아직 일하고 있는 백그라운드 세션을 /resume이나 claude --resume으로 골라도 그 세션에 바로 들어갑니다. claude --resume 세션이름 "지시"처럼 뒤에 지시를 붙이면 그 지시를 세션의 다음 일로 먼저 보낸 뒤 세션을 엽니다.
세션끼리 말 걸기
세션은 서로 말을 걸 수도 있습니다. 입력창에 @를 치고 다른 세션의 이름을 골라 부르면, 클로드가 그 세션으로 메시지를 곧장 보냅니다. 창을 여럿 띄워 쓰다가 “저쪽 창에서 하던 조사 결과를 이쪽으로 넘겨 달라고 전해 줘”처럼 시킬 때 씁니다. 한 컴퓨터 안에서 세션 이름이 겹치면 자동으로 조금 다른 이름이 붙고 그 사실을 알려 주므로, 메시지가 엉뚱한 세션으로 가지는 않습니다. 받는 쪽에서 어떻게 처리할지는 /config의 Messages from your other sessions에서 받기·보류·거절 중에 고릅니다. 지금은 맥과 리눅스에서 됩니다.
이 기능은 바로 아래의 에이전트 팀과 다릅니다. 이쪽은 따로 켜지 않아도 되는 기본 기능이고, 지금 열려 있는 세션 하나에 말을 건네는 것입니다. 에이전트 팀은 실험 기능이라 설정을 켜야 하고, 여러 세션을 한 팀으로 묶어 자동으로 조율합니다.
에이전트 팀 — 실험 기능
에이전트 팀은 여러 세션이 한 팀처럼 함께 일하도록 묶는 기능입니다. 한 세션이 팀 리드가 되어 일을 나누고, 나머지는 팀원이 되어 각자 일하며 서로 메시지를 주고받습니다. 쓰는 법은 말로 시키는 것입니다. “세 팀원을 만들어 각자 다른 관점에서 검토하게 해” 정도면 됩니다.
단, 아직 실험 기능이며 기본적으로 꺼져 있습니다. 환경 변수(프로그램이 켜질 때 읽는 짧은 설정값) CLAUDE_를 1로 설정해야 켜집니다. 설정 파일에 넣어 두면 항상 켜집니다.
# settings.json — 에이전트 팀 항상 켜기
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}서브에이전트와 비슷해 보이지만 다릅니다.
| 서브에이전트 | 에이전트 팀 | |
|---|---|---|
| 소통 | 서브에이전트기본은 메인 에이전트(내가 직접 이야기하는 클로드)에게 결과 보고, 따로 설정하면 직원끼리 주고받게 할 수도 있음 | 에이전트 팀팀원끼리 직접 메시지 교환 |
| 조율 | 서브에이전트기본은 메인 에이전트가 일을 나누고 결과를 모음 | 에이전트 팀공유 작업 목록으로 스스로 조율 |
| 적합한 일 | 서브에이전트결과만 중요한 집중 작업 | 에이전트 팀논의·협업이 필요한 복잡한 일 |
| 토큰 비용 | 서브에이전트낮음(결과만 요약해 돌려줌) | 에이전트 팀높음(팀원마다 별도 세션) |
엉키지 않게 — 두 가지 규칙
- 같은 파일을 두 세션이 함께 고치지 않게 합니다. 두 세션(또는 두 팀원)이 같은 파일을 고치면 한쪽이 한 일을 다른 쪽이 덮어씁니다. 세션마다 다른 파일 묶음을 맡기거나, 워크트리로 아예 작업 폴더를 나눕니다.
- 동시에 여러 세션을 돌리면 그만큼 돈이 듭니다. 동시에 연 세션은 각자 사용 한도를 씁니다. 10개를 동시에 돌리면 쓸 수 있는 양이 약 10배 빠르게 줄어듭니다. 자세한 내용은 「비용과 사용량 보기」 페이지를 참고하십시오.