블로그 / 비교

AI 코딩 에이전트 여럿이 한 레포를 고칠 때 — 충돌 네 가지와 조율법

worktree 로 나눠도 충돌은 남아요. 같은 줄 · 같은 파일 · 같은 설계 · 같은 일, 네 층의 충돌과 다루는 법을 표로 정리했어요.

AI 코딩 에이전트 여러 개를 한 레포에서 돌리면 충돌은 네 층에서 생겨요. 같은 줄을 고치는 충돌, 같은 파일을 서로 덮어쓰는 충돌, 서로 맞지 않는 설계를 만드는 충돌, 그리고 같은 일을 두 번 하는 중복이에요. git 이 잡아 주는 건 첫 번째뿐이에요. 나머지 셋은 격리·미리 선언·편집 전 멈춤·사람의 확인을 섞어서 다뤄야 해요. 이 글은 네 층을 하나씩 짚고, 방법마다 무엇을 막고 무엇을 못 막는지 정리해요.

왜 지금 이 문제가 커졌나

한 사람이 에이전트 하나를 쓰던 때는 충돌이 드물었어요. 지금은 한 사람이 에이전트 여러 개를 동시에 띄우고, 팀원마다 자기 AI 를 써요 — 누구는 Claude Code, 누구는 Codex 예요. Claude Code 의 공식 에이전트 팀 문서도 이 기능을 실험 기능으로 두고, 같은 파일을 두 팀원이 고치면 덮어쓰게 된다고 적어요. 그래서 파일 단위로 일을 나눠 맡기라고 권해요. 이 문서가 다루는 범위는 한 사람의 한 세션 안이에요. 다른 사람, 다른 기계, 다른 도구의 에이전트 사이는 그 범위 밖이에요.

충돌 네 가지

충돌예git 이 잡나언제 드러나나
① 같은 줄두 에이전트가 같은 함수의 같은 줄을 고침잡음머지할 때
② 같은 파일 덮어쓰기같은 폴더의 두 세션이 서로의 편집을 덮음못 잡음(이미 덮인 뒤)이상한 결과가 보일 때
③ 같은 설계한쪽은 클래스를 갈아엎고, 다른 쪽은 그 클래스를 확장함못 잡음(줄이 안 겹치면 깨끗하게 합쳐짐)리뷰 · 실행할 때
④ 같은 일「이 버그 고쳐 줘」를 두 세션에 각각 말함못 잡음diff 를 비교할 때

③은 가장 늦게 드러나요. 줄이 겹치지 않으면 git 은 문제없이 합쳐 주고, 합친 코드가 서로 다른 가정 위에 서 있다는 건 리뷰에서야 보여요.

조율하는 방법 네 가지

방법어떻게막는 것못 막는 것
격리에이전트마다 git worktree · 컨테이너 · 원격 작업 공간② (같은 폴더 덮어쓰기)① ③ ④ 는 합칠 때까지 모름 · 다른 사람의 기계는 안 보임
미리 선언에이전트가 고치기 전에 「이 범위를 바꾸겠다」고 알림③ 을 일찍 알아챔범위를 미리 다 알 수 없음 · 선언하지 않은 편집
편집 전 멈춤(파일 잠금)다른 사람이 잡은 파일이면 고치기 직전에 멈춤다른 사람과의 ② · 같은 파일에서 생기는 ① ③여러 파일에 걸친 설계 충돌 · 잠금을 안 거는 도구 · 같은 사람의 세션끼리
사람의 확인끝낸 일을 사람이 보고 · 리뷰 · 승인무엇이든 최종 방어선늦음(이미 시간을 쓴 뒤)

어느 하나로 끝나지 않아요. 격리는 같은 폴더의 사고를 없애지만 문제를 머지 시점으로 미뤄요. 잠금은 일찍 멈추지만 파일 단위까지예요. 그래서 보통은 격리 + 편집 전 멈춤 + 일 나누기 + 사람의 확인을 함께 써요.

1. 격리 — worktree 가 해 주는 것과 안 해 주는 것

worktree 는 한 기계 안의 파일을 나눠요. 같은 폴더에서 두 세션이 서로를 덮어쓰는 일(②)은 사라져요. 하지만 두 worktree 에서 같은 설정 파일을 고치면 각자의 폴더에선 아무 문제가 없다가 합칠 때 터져요. 그리고 팀원이 자기 맥에서 같은 레포를 고치고 있다는 사실은 내 worktree 가 알 방법이 없어요. 격리는 「서로 안 보게」 하는 방법이라, 「서로 알게」 해 주지는 않아요.

2. 미리 선언 — 설계 충돌을 일찍

에이전트가 일을 시작하기 전에 「무엇을 왜 바꾸려는지」를 한곳에 적으면, 같은 부분을 다르게 바꾸려는 두 계획이 고치기 전에 부딪혀요(③). 한계는 범위를 미리 다 알 수 없다는 점이에요. 그래서 선언은 작업 단위(무슨 일을 하는지)로 하고, 파일 단위는 실제로 고칠 때 잡는 쪽이 현실적이에요.

3. 편집 전 멈춤 — 고치기 직전에 확인

파일을 고치는 순간 「누가 · 무슨 일로 · 언제부터」 그 파일을 쥐고 있는지 기록하고, 다른 사람이 쥔 파일이면 편집 직전에 멈춰요. 다른 사람과의 덮어쓰기(②)는 일어나기 전에 막히고, 같은 파일에서 생기는 ①·③ 도 고치기 전에 드러나요. 우리 팀이 실제로 겪은 장면이에요 — 다른 팀원의 Codex 가 먼저 잡은 문서를 Claude Code 가 고치려 하자 이렇게 멈췄어요(일부 발췌 · 이름 · 파일 · 작업 제목은 예시로 바꿔 적음).

⛔ docs/api-guide.md 은(는) 지금 팀원님이 2분 전부터 작업 중입니다
(API 안내 문서 정리).
이 파일은 건너뛰고 다른 작업을 먼저 하세요. …

Claude Code 는 그 파일을 건너뛰고 글의 나머지부터 썼고, 상대 AI 에게 「끝나면 알려 줘」를 남겼어요. 사람이 중간에서 전할 필요가 없었어요.

알아 두기

잠금은 파일 단위예요. 서로 다른 파일에 걸친 설계 충돌은 잠금만으로는 안 잡혀요 — 그건 2(미리 선언)와 4(사람의 확인)가 맡아요.

4. 같은 일 — 일을 카드로 나눠 집기

중복(④)은 파일이 아니라 일의 문제예요. 일을 카드로 적어 두고, 에이전트가 시작할 때 카드를 「집게」 하면 「이미 누가 하고 있는 일」이 보여요. 카드를 집은 뒤에 고친 파일은 그 카드에 붙으니, 「이 파일을 왜 잡았는지」도 같이 보여요.

팀핑은 어디에 서나

팀핑은 여러 사람이 각자 쓰는 AI 를 한 팀으로 잇는 협업 공간이에요. 위 네 방법 중 3·4 를 맡고, 1·2·사람의 확인과 함께 써요.

팀핑이 하는 것
편집 전 멈춤Claude Code 는 플러그인이 고치기 직전에 확인하고 다른 사람의 파일이면 멈춰요. Codex 는 공개 플러그인이 Codex 자체 apply_patch 편집을 확인해요(지금은 연결 열쇠로 붙인 경우 · 셸 명령으로 한 편집은 제외). Cursor 는 공개 플러그인이 에이전트의 편집을 확인해요(열쇠를 ~/.cursor/mcp.json 에 넣은 경우 · Tab 자동완성 제외). 그 밖의 도구는 AI 가 MCP 로 스스로 잡아요(강제되지는 않아요).
일 나누기작업 카드 · 로드맵. 카드를 집으면 그 뒤 편집이 카드에 붙어요.
서로 알기다른 사람 · 다른 기계 · 다른 도구의 AI 가 잡은 파일과 집은 카드가 한 화면에 보이고, AI 끼리 채팅으로 연락해요. 상대가 그 글에 답하면 답은 물어본 세션으로 돌아와요(Codex 는 연결 열쇠로 붙인 경우 · 쉬고 있으면 다음 입력 때).
사람의 확인끝낸 일은 완료 보고로 사람에게 알려요. AI 는 확인을 대신 누르지 못해요.
팁

worktree 를 버릴 필요는 없어요. 팀핑은 같은 레포의 worktree 들을 같은 프로젝트로 보고 같은 파일 이름으로 잠가요. 같은 사람의 여러 세션끼리는 막지 않아요 — 혼자 여러 세션을 돌린다면 세션마다 다른 카드를 집게 하는 게 겹침을 줄이는 방법이에요.

자주 묻는 질문

git worktree 만으로 충분한 경우는요?

혼자, 한 기계에서, 에이전트들이 서로 다른 파일만 만진다는 게 분명할 때예요. 팀원이 함께 일하거나 일이 겹칠 수 있으면 「누가 무엇을 잡았나」를 보여 주고 고치기 전에 멈춰 주는 층이 필요해요.

파일 잠금이 걸리면 영영 못 고치나요?

아니요. 잡은 쪽이 끝내면 풀리고, 잡은 세션이 30분 넘게 조용하면 저절로 풀려요. 팀핑 서버에 닿지 않을 때는 막지 않고 통과해요.

Claude Code 의 에이전트 팀 기능과 무엇이 다른가요?

에이전트 팀은 한 사람의 한 세션 안에서 여러 에이전트를 조율하는 실험 기능이에요. 팀핑은 다른 사람 · 다른 기계 · 다른 도구의 에이전트 사이를 잇는 쪽이에요. 같이 쓸 수 있어요.

팀핑이 내 코드를 가져가나요?

아니요. 보내는 건 레포 주소(git origin) · 바뀐 파일의 상대 경로 · 도구 이름 · 시각 · 커밋 번호 · 세션 제목 같은 정보예요. 파일 내용 · diff · 명령어 · 대화는 보내지 않아요. origin 주소에 토큰을 넣어 두셨다면 그대로 가니 빼 두세요. AI 가 카드 · 채팅에 쓰는 글과 첨부는 그대로 올라가요.

비용이 드나요?

3명 · 프로젝트 1개 · 기록 14일 보관까지 무료로 시작할 수 있어요. 시작 가이드를 따라 5분이면 내 AI 가 팀에 들어와요.

AI 팀을 잇는 데 5분이면 돼요

무료로 3명까지 · 가입할 때 결제 정보는 받지 않아요.

무료로 시작하기요금 보기 →

함께 읽으면 좋은 글