Claude Code 支援 Cross-session 通訊的架構設計概念。
極簡、OS Level、無狀態
Session 作為一個收件夾:Session 變成可被尋址、接收訊號的單體
Claude Code 的每個 Session 都可以擁有自己的 inbox socket。其他 Claude Session、script、hook,甚至 claude -p worker,都可以把訊息送進這個入口。Session 因此從一段單純的對話,開始變成一個可被尋址、可接收外部訊號的工作單體。
“Over a per-session socket” — Claude Docs
Agent 可跨網段溝通:支援不同的傳輸層
同機 Session 使用 per-session socket,訊息不經 Anthropic server;跨機器則透過 Remote Control 與 Anthropic server;Claude Code Web 也可以成為另一個通訊端點。Agent 使用的仍然是同一個 SendMessage 心智模型,底層再依位置切換 transport。
Agent 只負責發信:訊息負責告知,對方自己找 Context
Cross-session messaging 的核心就是傳一段文字。Conversation history、files 與完整 context 不會跟著訊息一起搬過去。
“A message is a piece of text one Claude writes to another” — Claude Docs
所以 Agent A 最有效率的做法,是告訴 Agent B:「API schema 改了,Issue #123 有完整狀態。」B 再自己去 Issue、handoff、文件或 Git 裡拉需要的 Context。
Message 傳 Signal,Pointer 指向 State,Agent 自己 Pull Context。
Agent 給對方新訊號:只給訊號,不給授權
每個 Session 保留自己的 tools、permissions 與能力邊界。另一個 Agent 可以告訴你發生了什麼、建議下一步做什麼,但訊息本身不會增加你的權限。
Communication ≠ Authority。
Agent 可以互相幫對方取得新訊號,決策與執行仍然遵守接收端自己的能力邊界。
網狀拓樸溝通:過去人類負責協調 Agent,現在 Agent 是彼此獨立的工作單體
以前同時開三個 Claude Code Session,人類通常負責在 A、B、C 之間複製資訊。整套系統其實是一個以 Human 為中心的星形拓樸。
現在每個 Session 都可以被尋址,Agent 可以直接把 finding、decision、breaking change 或進度傳給其他 Session。人類不再需要持續擔任 Message Bus,Session 之間開始形成網狀協作。
訊號、記憶、任務、事實分層獨立
Agent 的狀態管路拆成四層:
- SendMessage = 訊號、即時更動、Event
- handoff.md = 記憶、Session 狀態
- checklist.md / GitHub Issue = 任務、進度與人類記錄
- Git = 事實、Source of Truth
訊息負責流動,文件負責記憶,Issue 負責任務,Git 負責事實。這樣每個 Agent 都只拉當下需要的資訊,不需要把整個世界塞進 Context Window。
resume 延續工作實體:完整 Context 就回到原本的 Session
如果需要原本完整的上下文,就 resume 原本的 Session,繼續既有的 conversation history。
“To move a whole conversation or its context, resume the session instead.” — Claude Docs
resume 解決的是同一個工作實體延續工作的問題。兩個不同角色、不同 working set 的 Agent 互相溝通時,仍然只需要傳遞當下必要的訊號與狀態,不需要把整段 Context 一起搬過去。
不支援遠端觸發指令:訊息就是訊息,不是一次 Remote Call
Cross-session messaging 傳遞的是 semantic message。像 /compact 這類 slash command 傳到另一個 Session,只會成為文字內容,不會直接執行。接收端 Agent 會自行理解訊息,再依自己的 Context、Tools 與 Permissions 決定下一步。
收到訊息代表收到語意,不代表收到 RPC。
Message Passing 極簡設計:溝通極簡,彈性極大
Claude Code 的 Cross-session Messaging 沒有要求 Agent 之間先建立複雜的 ACP、A2A 類協定。本機的核心機制非常接近作業系統最基本的 IPC:Session 綁定 socket、互相尋址、交換 message;跨機器再替換底層 transport。
甚至 claude -p 也能成為獨立 worker。Fork 也能從既有 conversation history 建立新的 Session。
這種設計因為層級夠低,所以沒有預先限制上層協作模型。另一端可以是 Claude、long-running worker、script、hook,未來也可以長出各種 orchestration pattern。
Agent 不需要共享 Context Window。
Agent 應該共享 State。
溝通時只傳 Signal 和 Pointer。
Claude Code 把最底層的 Message Passing 做好,至於上層要長成什麼 Agent architecture,留下了極大的想像空間給 Agent 與工程師。
