Agent 系統的失敗調查裡有一個反覆出現的結論:handoff 不是對話的轉移,而是工作狀態(working state)的轉移,把它當成對話來處理的系統會持續失敗。這句話值得停下來想清楚,因為它同時解釋了人與人之間的交接為什麼失敗——把交接當成「把我知道的都告訴你」,而不是「讓你進入能繼續工作的狀態」。
人與 AI 之間的交接有兩個方向,兩個方向都會失敗,而且失敗的原因不同。
方向一:人交給 AI
人交給 agent 的交接失敗,幾乎都不是因為指令不夠詳細,而是因為缺了三類資訊裡的某一類。
缺驗收標準。 沒有說「怎樣算做完」的任務,agent 會自己定義完成——通常定義成「程式碼跑得起來」。這跟一個沒拿到 AC 的新人做出來的東西是同一種東西。
缺邊界。 沒有說「不要做什麼」,agent 會順手改掉它認為不夠好的東西:重構了不該動的模組、統一了故意不一致的命名、升級了被刻意 pin 住的依賴。人類接手者會覺得「這裡怪怪的,我先問一下」,模型不會——它會自信地繼續。
缺決策依據。 這是最貴的一種。程式碼裡那個看起來多餘的檢查、那個奇怪的重試次數、那個不符合慣例的資料結構,如果沒有記錄理由,agent 會把它們當成待清理的技術債。ADR 在 AI 輔助開發裡的角色因此從「文件衛生」升級成「防護欄」——每個新 session 的模型都從零開始,它沒有上次決策的記憶,這一點見 方法論支柱。
一個便宜且有效的對策,是把醫療交接的 synthesis by receiver 搬過來:要求 agent 在開工前用自己的話重述任務、驗收標準與它認為的邊界。這是目前少數能在動手之前發現上下文缺口的手段——重述錯了,代表交接有缺口,而修正一段重述的成本遠低於回收一批寫錯方向的程式碼。
方向二:AI 交給人,以及 session 交給 session
Agent 交回給人的產出如果只有「做完了」加一段 diff,那是一次低品質的反向交接。人必須能夠審查,而審查需要的東西跟 PR 交接 完全一樣:做了什麼、為什麼這樣做、哪些部分我不確定、怎麼驗證。最後一項對 AI 產出特別重要——模型對自己不確定的部分通常有一定程度的自知,但除非你明確要求,它不會主動說。要求 agent 產出時附上「低信心清單」,能把人的審查注意力導向最可能有問題的地方。
Session 之間的交接是同一個問題的另一個形式。Anthropic 在 context engineering 的工程文章裡整理了三種機制,每一種都是一種交接策略:
Compaction(壓縮) 在接近 context 上限時把對話內容高保真地摘要,再用壓縮後的版本重新開始,讓 agent「以最小的效能退化繼續」。它的結構性風險官方也明說了:過於激進的摘要會丟掉當下看似細節、後來卻關鍵的資訊。這不是調參問題——摘要必須根據「現在看起來重要」來取捨,而交接損耗的本質恰恰是「當時不覺得重要的東西後來很重要」。
Structured note-taking(結構化筆記) 讓 agent 主動把狀態寫到 context 之外的檔案,之後再讀回來,用很低的成本換到持續性記憶。這相當於交接的「工作日誌」形式:不依賴壓縮的保真度,而是依賴當下就把重要狀態外化。
Sub-agent 架構 讓專門的子 agent 在乾淨的 context 裡處理聚焦的任務,回傳一份濃縮的摘要(Anthropic 的描述是大約 1,000 到 2,000 token)。主 agent 負責高層規劃,子 agent 負責細節探索——這是刻意設計的資訊瓶頸,細節見 Agent 之間的 task handoff。
加上 memory 工具讓 agent 跨 session 累積知識庫、維持專案狀態,就構成了完整的三層。
三層記憶對應三層交接
這三層值得明確對齊,因為「什麼該寫在哪一層」是實務上最常搞錯的事。
**Session 層(context window)**裝的是這一次工作的即時狀態。它會消失,所以任何需要活過這次 session 的東西都不該只存在這裡。
專案層(CLAUDE.md/AGENTS.md/spec/ADR)裝的是每次進入這個 repo 都需要、而且無法從程式碼推導的東西:建置與測試的確切指令、與預設不同的風格約定、架構約束、不要碰的區域、以及重要決策的理由。判準很清楚——如果一個新來的人(或 agent)讀了程式碼就能知道,就不要寫進來;寫進來只會稀釋真正重要的訊號。
**跨專案層(使用者層記憶)**裝的是關於協作者本人與工作方式的事實,這些跟 repo 無關但每個 repo 都適用。
AGENTS.md 值得特別記一筆,因為它把這件事從各家工具的私有慣例變成了產業標準:它由 OpenAI 在 2025 年 8 月發布,其後移交 Linux Foundation 底下的 Agentic AI Foundation 治理,到 2026 年已有超過六萬個開源 repo 採用;Claude Code 原生讀 CLAUDE.md,並在找不到 CLAUDE.md 時退回讀 AGENTS.md。格式標準化的意義不是省一個檔案,而是讓「這個 repo 的交接上下文」變成可攜的資產,不綁定在某一家工具的生命週期上。
最小必要上下文:兩個失敗方向
上下文不足的後果是接手者要重新發現已知的事實,這個很直觀。上下文過量的後果比較不直觀,但同樣真實:對人來說重要訊號被稀釋在噪音裡;對模型來說,過長的 context 會讓注意力分散、關鍵指令被埋在中段而失效。 一份塞滿所有可能有用資訊的 CLAUDE.md,效果會比一份精準的短版差。
操作判準:逐段問「刪掉這一段,接手者的第一個決策會不同嗎?」不會,就刪。這個判準也適用於人的交接文件。
AI 場景是交接研究的最佳實驗室
人與人的交接品質,要幾天到幾週才能看到後果;人與 agent 的交接品質,幾分鐘就能看到後果。缺驗收標準、缺邊界、缺決策依據,在 AI 場景會立刻長成一批走錯方向的程式碼。這個超短的回饋迴圈,讓交接設計第一次變成一件可以快速迭代的事——而且在 AI 上學到的教訓(重述機制、外化狀態、邊界明示、低信心清單)幾乎可以原封不動地搬回人與人的交接。
延伸
- Agent 之間的交接協議與 2026 年的架構共識 → Agent 之間的 task handoff
- AI session 交接模板 → 交接產物模板
- 記憶架構本身的分層與治理 → AI memory(Agent Memory 架構)
- AI 產出的失敗模式與為何需要人審 → AI 生成程式碼的失敗模式、人的角色:審查、品味與擁有權
- 回到全景 → Handoff 專欄首頁