# 策展 · X (Twitter) 🔥

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 作者：rody (@0x_rody) · 平台：X (Twitter) · 日期：2026-06-16

> 原始來源：https://x.com/0x_rody/status/2066440807247159623

## 中文摘要

# 如何建立一支絕不衝突的 Claude Code Agent 團隊（內含精確設定）

你同時執行 3 個 Agent，結果它們為了同一個檔案爭得你死我活，互相覆寫對方的成果，最後丟給你一個合併災難。

解決方法是給每個 Agent 專屬的「車道」：劃分資料夾權限、設定鎖定檔案（lock file），以及規定合併順序。

只要設定一次，平行運作的 Agent 就能真正節省時間，而不是浪費你的整個下午。

以下是完整的設定步驟 👇

![一名男子正坐在床邊，面對著牆上貼滿照片、地圖與紅色連線的調查分析牆。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/a5cb54f15a8aede2.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">畫面中一名男子背對鏡頭，坐在床邊凝視著牆面。牆上佈滿了各種照片、地圖、便條紙以及以紅色線條連接的調查資訊，呈現出類似偵探或調查分析的場景。左側桌面上放置著電腦螢幕，顯示著密集的資料視窗。畫面右下角有「MTV NEWS」的浮水印標誌。牆面上方可見「LABYRINTH」字樣。</div></details>

## 為什麼平行運作的 Agent 會發生衝突

同時使用兩個 Agent 感覺速度加倍，直到它們在同一秒鐘都去存取 `utils.ts` 為止。一個存檔了，另一個接著覆寫上去，一小時的努力就這樣消失了。

這不是 Agent 的錯。沒人告訴它們誰擁有什麼，所以每個 Agent 都把整個程式庫當作自己的地盤，隨手抓取它需要的任何檔案。

它們缺少的是邊界。給每個 Agent 專屬的領地、一套搶佔共享檔案的方法，以及合併的順序。這就是下面這 3 個檔案的作用。

![這張圖片呈現了三張帶有手繪風格筆記與羽毛筆圖示的紙張。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/7e9d360738760547.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">這是一張以橘紅色為背景的插圖，畫面中心有三張白色的紙張。左側的紙張上有連續的波浪狀手寫筆記；下方的紙張上有類似迴圈的手寫筆記；右側的紙張上有水平線條，並配有一支羽毛筆的圖示，整體呈現簡約的手繪風格。畫面中沒有可轉錄的文字內容。</div></details>

## 第一部分：劃分領地，每個區域僅限一位負責人

最乾淨的解決方案是永遠不要讓兩個 Agent 進入相同的程式碼區域。給每個 Agent 一個它擁有的資料夾。將以下內容放入 `CLAUDE.md`：

```markdown
## Agent 領地
當平行執行多個 Agent 時，每個 Agent 擁有一個區域，且只能編輯該區域：

- frontend-agent: 擁有 src/components/, src/pages/
- backend-agent:  擁有 src/api/, src/services/
- test-agent:     擁有 tests/

任何 Agent 都不得編輯其領地之外的檔案。如果任務需要修改
其他 Agent 領地內的內容，請在 handoff.md 中寫下備註，
而不是直接進行編輯。
```

大多數衝突在這裡就會消失。兩個 Agent 可以全速平行運作，因為它們在物理上根本無法觸碰到相同的檔案。

共享的 `handoff.md` 是跨區域請求的溝通處，這樣就不會有任何檔案在不知情的情況下被修改。

## 第二部分：為共享程式碼設定鎖定檔案

有些檔案是大家都會用到的：型別定義（types）、設定檔（config）、共享工具函式（shared utils）。對於這些檔案，請使用簡單的鎖定機制。將以下內容放入 `.claude/hooks/lock.sh`：

```bash
#!/usr/bin/env bash
file="$1"
lockdir=".claude/locks"
mkdir -p "$lockdir"
lock="$lockdir/$(echo "$file" | tr '/' '_').lock"

if [ -f "$lock" ]; then
  owner=$(cat "$lock")
  echo "🔒 $file 已被 $owner 鎖定。請改在 handoff.md 中留下備註。"
  exit 1
fi
echo "${CLAUDE_AGENT_NAME:-agent}" > "$lock"
```

在 `settings.json` 中將其設定為在編輯前觸發：

```json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit(src/types/*)|Edit(src/config/*)",
        "hooks": [
          { "type": "command", "command": "bash .claude/hooks/lock.sh \"$file\"" }
        ]
      }
    ]
  }
}
```

第一個存取共享檔案的 Agent 會取得所有權。第二個 Agent 會被告知等待，並留下備註，而不是直接覆寫。

在執行之間，使用 `rm .claude/locks/*.lock` 來清除鎖定。

## 第三部分：合併順序

即使劃分了領地，分支最終還是必須以正確的順序合併回來。將以下內容放入 `.claude/merge-order.md`：

```markdown
## 平行工作的合併順序
請務必依照此順序合併，絕不要按字母順序或誰先完成來合併：

1. backend-agent  (其他人依賴的型別與 API)
2. frontend-agent (使用後端的部分)
3. test-agent     (最後測試合併後的結果)

規則：優先合併其他人所依賴的底層。如果前端在後端之前
合併，它就會基於尚未存在的型別進行建置。
```

順序之所以重要，是因為依賴關係是單向流動的。先合併基礎，再合併建立在基礎之上的部分，最後才是檢查整體結果的測試。

按「誰先完成」來合併，只會讓你得到一個看起來沒問題，但一合併其他分支就立刻崩潰的程式碼。

## 常見錯誤

**沒有劃分領地，只靠運氣。** 在沒有劃分資料夾的情況下，在同一個程式庫執行 3 個 Agent 是導致衝突的頭號原因。先分配區域，其他事情再說。

**鎖定所有檔案。** 如果每個檔案都需要鎖定，你的 Agent 花在等待的時間會比工作還多。只鎖定真正共享的檔案：型別、設定檔、共享工具函式。其餘的交給領地劃分處理。

**隨機順序合併。** 「誰先完成」不是一種合併順序。依賴關係決定了順序，永遠如此。先有地基，才能蓋樓層。

**沒有交接檔案（handoff file）。** 當 Agent 需要領地以外的資源，卻沒有地方可以記錄時，它要麼會直接編輯，要麼就會停擺。`handoff.md` 為跨區域工作提供了一個家。

## 10 分鐘設定指南

3 分鐘：在 `CLAUDE.md` 中定義 Agent 領地。

3 分鐘：建立 `.claude/hooks/lock.sh` 並為共享檔案設定 `PreToolUse` 鉤子（hook）。

2 分鐘：撰寫 `.claude/merge-order.md`。

2 分鐘：在不同的領地上平行執行 2 個 Agent，看著它們互不干擾地完成工作。

你將獲得平行運作 Agent 的速度，而無需花費整個下午來處理混亂的程式碼。它們並沒有變聰明，它們只是不再去搶同一個檔案了。

感謝閱讀！

![一群人在繁忙的金融交易場所中工作，其中一名男子顯得神情疲憊。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/e3b473b908fd643c.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">這是一張黑白照片，呈現了金融交易大廳的場景。畫面中有多名穿著西裝的專業人士，他們正專注於手中的文件或螢幕上的數據。畫面中央有一名男子以手扶額，神情顯得相當疲憊或壓力沉重。桌面上放置著早期的桌上型電腦顯示器，螢幕上顯示著數據資訊。在右側的設備上可以看到「M C A」的字樣。整體氛圍呈現出高壓、快節奏的金融交易環境。</div></details>

## 標籤

Claude Code, Agent, 教學資源, CLI, 自動化, Anthropic, Claude
