部落格

Shopify 的「腦裂」不是檔名之爭。它是漂移,統一一個標準檔案也不會終結它

September 15, 2026untactit

2026 年 8 月 25 日,Shopify CEO Tobi Lütke 發文表示,他「正在考慮在 Shopify 禁用 Claude Code,直到他們改變主意,去讀取 AGENTS.md 和 .agents/skills」。理由不是偏好,而是一種營運層面的故障模式:「堅持只讀 CLAUDE.md,有時會在團隊成員使用不同工具時造成腦裂問題。」(來源)

後續報導揭露的機制值得寫清楚。在數千名開發者共同維護的 monorepo 裡,總會有某個目錄只放了一種指令檔而沒有另一種。讀取缺失那一份的 agent 就「像被切除腦葉一樣」運作。Shopify 用自動化去填這道縫,Lütke 稱之為「愚蠢的複雜度稅」。Anthropic 曾把遞迴讀取 AGENTS.md 的請求以「不計畫」關閉,隨後表示會讓 AGENTS.md 更易用。(Shopifreaksexplainx)

大多數評論把這件事當作標準之爭:由 Linux Foundation 旗下 Agentic AI Foundation 託管的 AGENTS.md(Shopify 是其黃金會員)對上廠商專屬的 CLAUDE.md。這個框架沒錯,但不完整。咬到 Shopify 的東西,比檔名更古老、更普遍。

儲存庫的真實樣貌

2026 年 2 月發表的一項研究分析了 2,926 個使用 agentic 程式編寫工具的 GitHub 儲存庫,並對其設定機制做了分類。(arXiv 2602.14690) 其中三個數字與本文相關:

  • 上下文檔案(CLAUDE.md、AGENTS.md、copilot-instructions.md)是占主導的機制,而且往往是儲存庫唯一使用的機制。
  • 研究者在 2,634 個儲存庫中找到 4,860 個上下文檔案。CLAUDE.md 出現在 45.4% 的儲存庫,AGENTS.md 出現在 40.6%,copilot-instructions.md 出現在 35.1%。
  • 這些百分比相加遠超 100。很多儲存庫同時帶著兩三份「本應說同一件事」的指令檔。

研究還指出,Cursor 已棄用 .cursorrules 改為推薦 AGENTS.md;從 copilot-instructions.md 起步的儲存庫,後來常常又加上 CLAUDE.md 或 AGENTS.md,儘管 Copilot 三種都能讀。團隊並沒有向一個檔案收斂。他們在累積檔案。

再加上研究沒有測量的第二個維度:機器。每個開發者手上都有那些檔案的副本,還有使用者層級副本(~/.claude、~/.codex、~/.cursor),再加上 Agent Skills 標準放在 .agents/skills 或 .claude/skills 下的東西。標準本身是好事:SKILL.md 已由 Claude Code 和 GitHub Copilot 實作,並被 Cursor 和 Gemini CLI 採用,同一個技能資料夾可以在工具之間流動。但「原樣可用」描述的是格式,不是副本。可攜的檔案,仍然是會被複製的檔案。

腦裂就是有兩個名字的漂移

下面是製造 Shopify 故障的步驟,而且它不需要兩家廠商:

  1. 一條規則寫一次,在一個檔案裡,在一個目錄裡。
  2. 有人複製它——因為自己的工具讀的是另一個檔名,因為子目錄需要,因為自己的筆電需要。
  3. 有人改了其中一份副本。建置命令變了。某個團隊放寬了測試規則。路徑挪了。
  4. 沒有任何東西告訴任何人副本已經分岔。讀取陳舊副本的 agent 嚴格照做,然後做錯。

問題全在第 4 步。第 1 到第 3 步是正常的工程。就算明天全業界統一到 AGENTS.md、Claude Code 原生讀取它,第 2 步仍會跨目錄、跨機器發生,第 4 步仍會悄無聲息地發生。你會在同一個檔名之內得到腦裂。

標準化工作是必要的。它去掉一個乘數。它去不掉機制。

什麼能去掉機制

誠實的答案有兩個,而且今天都能用,什麼都不用買。

停止手改副本。 每條規則只保留一個事實來源,所有工具專屬檔案都從它生成。最小版本是一個符號連結(AGENTS.md -> CLAUDE.md,Lütke 發文那一週許多團隊就是這麼做的)。下一步是一個生成腳本,從一份 YAML 或 Markdown 寫出 AGENTS.md、CLAUDE.md、copilot-instructions.md 和 skills 目錄。規則很簡單:檔案如果是生成的,人就永遠不去編輯它。想改,就改來源再重新生成。

即便如此也要偵測副本是否被動過。 人們還是會去改生成檔,因為修復很急而來源在別處。所以在 CI 和排程任務裡跑一個檢查:對目錄樹裡每個上下文檔案和每個 SKILL.md 做雜湊,把本應相同的分為一組,回報任何已分岔的,並附上差異。我們發布了一個小型開源工具,正是在目錄樹上做這種掃描:agent-drift。它不需要任何服務;它讀取檔案,印出同一份文件的哪些副本已經分裂。重點不在工具。重點是漂移變成一個被回報的事件,而不是由一個交付了壞程式碼的 agent 發現的意外。

做到這兩件事,檔名問題就回到它該在的位置:由生成器處理的相容性細節,而不是 CEO 威脅禁用一款工具的理由。

接下來往哪走

Agent Skills 標準與 AGENTS.md 推向的是同一個方向:把指令檔當作版本化、共享、可審查的資產,而不是個人筆記。多數團隊仍然缺的,是其他共享資產早已具備的營運層。程式碼有儲存庫和審查。密鑰有保險庫和輪替。給 agent 的指令檔,多數只有一條複製命令。

這正是 untactit 在建構的那一層:一個技能、記憶和指令檔的庫,變更由人審批,然後推送到每一個已連接的工具和機器,無需任何人手動編輯副本,並配有漂移偵測,回報哪份副本何時分岔。人來決策;傳播零接觸。它目前處於早期存取階段,可在 untactit.com 免費開始。但上面兩條實踐本身就成立。先採用它們。之後即便你永遠不需要我們,腦裂也已經消失了。


來源:Tobi Lütke 於 X,2026 年 8 月 25 日 · Configuring Agentic AI Coding Tools: An Exploratory Study(arXiv 2602.14690) · Agentic AI Foundation · Agent Skills 標準 · Shopifreaks 報導

本文也發在 DEV。

相關文章

你的代理在跑什麼,不必再用猜的。

連接一個工作區,大約十分鐘,團隊實際在用的每一項技能、規則與記憶就全部看得到。

免費開始 與我們談談

免信用卡,直接搭配你現有的工具。