AI-LECTURER 速報課|2026-08-10|約 24 分鐘

不用再當人肉快遞:讓你的 Claude Code 視窗互相傳話

取材:Message your other Claude Code sessions(Hacker News(AI 高人氣))
📍 真實場景
阿凱,一人接案的全端工程師,常常為了趕件同時開三、四個 Claude Code 視窗處理同一個專案的不同分支

他在視窗A把一個共用函式的參數名稱改掉,同時視窗B正在另一條分支寫呼叫這個函式的新功能

😖 卡住的地方:他得自己記得回頭去跟視窗B說一聲『我改了那個參數』,常常忙到忘記,結果視窗B寫到一半才發現接不起來,還得重寫一次
💡 這課教你怎麼讓兩個Claude Code視窗直接互相『傳話』,發現什麼、改了什麼,不用再靠你自己複製貼上兩邊跑

🧭 這到底是什麼(白話版)

如果你同時開很多個 Claude Code 視窗工作,每個視窗就是一個獨立的 session工作階段,你可以把它想成一個獨立的對話視窗,裡面的 Claude 有自己的記憶和正在做的事。以前這些視窗彼此互不相干,視窗A發現了什麼、做了什麼決定,只能靠你自己複製貼上到視窗B,像人肉快遞一樣兩邊跑。現在 Claude Code 多了一個「跨工作階段傳訊息」的功能,讓視窗之間可以直接互相傳話。

背後其實只有兩個動作:先用 ListAgents一個工具,列出目前有哪些工作階段或代理可以被聯絡到,類似查一下現在有誰在線上 找到要傳話的對象,再用 SendMessage把訊息實際送出去的工具,指定收件人的名字並附上內容 把訊息送過去。重點是,你自己完全不用去呼叫這兩個工具——Claude會在它判斷這件事另一個視窗需要知道的時候自己動手,你也可以直接開口叫它去傳。

訊息送到之後不會立刻打斷對方。如果對方那個視窗正在執行一個 tool call工具呼叫,就是Claude實際去跑指令、改檔案、查資料這些動手做的動作,Claude Code會等這次動作跟下一次動作中間的空檔才把訊息拿給它看,確保正在做的事不會做到一半被打斷。如果對方那個視窗閒置中,Claude Code就直接幫它開一個新的 turn回合,你可以想成一輪對話:你丟一句話出去,Claude回應並可能動手做事,就算一個回合,把訊息當作新的任務往下處理。

而且對方不是訊息一來就照單全收——接收端有自己的 inbound controls收件規則,由接收那一端自己設定,決定進來的每一則訊息要怎麼處理,每一則進來的訊息都要先過這一關,結果可能是直接送達給Claude,也可能被暫時保留。這代表傳訊息這件事,主動權其實在收件人那邊,不是你想傳什麼對方就一定馬上看得到。

🎯 為什麼值得你花時間

少了一個容易忘記的步驟以前『通知另一個視窗』完全靠你自己的記性,忙起來就漏。現在Claude自己判斷『這件事對方需要知道』就會主動傳,把一件人會忘的事交給不會忘的系統。
多視窗協作變得可靠同時開好幾個分支、好幾個worktree在跑不同任務時,視窗之間的資訊落差往往就是bug的來源。有了跨工作階段傳訊息,這個落差可以在Claude層級被補上,而不是等你事後debug才發現。
反映一種新的工作型態這不只是一個小功能,而是預告以後你面對的不再是『一個AI助理』,而是『一群互相協調的AI代理』——你要學的重點會從『怎麼下指令給一個視窗』,慢慢變成『怎麼安排一群視窗怎麼分工、怎麼互通有無』。

⚙️ 它是怎麼運作的

1
找對象Claude用ListAgents列出目前有哪些工作階段或代理可以聯絡到,確認要傳話給誰。
2
送訊息Claude呼叫SendMessage,指定目標代理的名字,把要交接的內容(發現了什麼、改了什麼、決定了什麼)送出去。
3
不打斷正在做的事如果對方正在跑一個工具(比如在裝套件、跑測試),Claude Code會等這次工具呼叫跟下一次中間的空檔才讓它讀訊息,正在做的事不會被腰斬。
4
喚醒閒置的視窗如果對方那個視窗當下沒在做任何事,Claude Code會直接開一個新回合,把訊息當成新的任務丟進去,對方就會接著往下處理。
5
收件端把關對方那邊設定的收件規則會先檢查這則訊息,結果可能是送達給接收的Claude,也可能被保留——原始素材在這裡的描述被截斷,但重點是:不是你傳了對方就一定馬上看到,收件那邊有一層過濾機制。
同樣是『多視窗協作』,官方文件建議依情境用不同功能,不是每種需求都該用跨工作階段傳訊息
你想做的事該用哪個功能
接手已經跑到一半的對話,想在別的終端機接著問下去resume session(接續工作階段)
想要一群Claude Code一起分工,由你統籌指揮agent teams(代理小隊)
想從同一個畫面同時看、同時操控很多個工作階段agent view(代理總覽)
想從手機或別台裝置遠端下指令給某個工作階段remote control(遠端遙控)
想把外部事件(比如CI跑完的結果、聊天訊息)推進某個工作階段channels(頻道)
單純想讓一個工作階段把發現的事交接給另一個工作階段cross-session messaging(跨工作階段訊息,本課主題)

🤔 這則沒有適合的實作——改用三個問題帶你想深

  1. 如果Claude是『自己判斷』要不要傳訊息給別的視窗,而不是等你開口要求,你會希望它在哪些情況主動出手交接?又有哪些情況你反而不想讓它自作主張、擅自去打擾另一個視窗?
  2. 文中提到收件端可以設定收件規則,把某些訊息擋下來或保留。如果你自己同時開三、四個視窗做不同任務,你會怎麼設計『哪些訊息值得馬上讓我知道、哪些可以先放著』的規則?
  3. 從resume session、agent teams、agent view、remote control、channels到cross-session messaging,官方列了六種不同的『多視窗協作』方式。對你來說,分辨『這是要跟人溝通,還是要跟另一個AI溝通』的關鍵判斷點是什麼?

🧠 工程思維透鏡(資深工程師看到的是什麼)

🔭 為什麼設計成『等兩個工具呼叫中間的空檔』才讀訊息,而不是像中斷訊號一樣訊息一到就插進去?
這是可靠性和即時性之間的取捨。如果訊息一到就打斷,正在跑到一半的操作(例如寫檔案寫到一半、跑一個多步驟的安裝流程)可能被腰斬,留下不一致的中間狀態。設計成『只在安全的空檔讀』,是用稍微慢一點的延遲,換取正在做的事絕對不會在危險的中間狀態被打斷,跟資料庫要等交易走到commit點才讓別人看見結果,是同一種思路。
🔭 為什麼要先用ListAgents查一次『現在有誰在』,而不是直接給一個固定位址就能傳訊息?
這是『動態查詢』和『寫死位址』之間的取捨。工作階段是隨時可能開啟、隨時可能被你關掉的,如果讓系統或使用者去硬記每個視窗的身分,一旦視窗關掉重開,所有寫死的東西就全部失效。用ListAgents讓Claude在真正要傳訊息前才去問一次『現在有誰在』,把複雜度轉嫁成一次執行期查詢,而不是要求任何一方事先知道整個拓撲長什麼樣子。
🔭 為什麼訊息會不會『送達』是由收件那一端的規則決定,而不是發送端說了算?
這是信任邊界的設計問題。發送端不該有權力強迫另一個工作階段、甚至另一台機器接受打擾,尤其這些工作階段可能橫跨不同專案、不同機器、不同的人。讓收件方自己設門檻,類似防火牆的邏輯——你可以敲門,但開不開門由我決定,這樣才不會演變成任何一個視窗都能隨意騷擾別的視窗。
🔭 為什麼『跨機器』的時候特別限制成只能回覆、不能主動開啟一段新對話?
這是安全性上刻意做出的不對稱設計。同一台機器上的兩個視窗,通常屬於同一個使用者、同一組權限,信任程度天生就比較高;但跨機器時,如果任一台機器上的Claude都能對另一台機器主動發起新對話,等於任何一台機器上的自動化流程都可以單方面把工作塞給另一台機器,擴大了誤用或被濫用的範圍。只能回覆、不能發起,把『要不要開啟一段新的跨機器互動』這個決定權,留在按下那個開頭訊息的人類手上。

📝 隨堂考(點選答案,立即回饋)

Q1. 視窗B目前正在執行一個工具(例如安裝套件跑到一半),這時另一個視窗傳訊息過來,Claude Code會怎麼處理?
✅ 原文說接收端的Claude是在活躍回合中兩次工具呼叫之間讀訊息,所以正在跑的工具永遠不會被打斷。
Q2. 如果視窗B目前是閒置狀態,沒有在跑任何動作,收到訊息後Claude Code會怎麼做?
✅ 原文說當接收端閒置時,Claude Code會用這則訊息開啟一個新的回合。
Q3. 如果你想要同時看著、同時操控很多個正在跑的工作階段,原文建議用哪個功能而不是跨工作階段傳訊息?
✅ 原文明確指出,要從一個地方同時看、同時操控多個工作階段,該用agent view。
Q4. 關於跨機器傳訊息,原文特別指出的限制是什麼?
✅ 原文寫道,跨機器時Claude只能回覆,無法主動發起交流(Across machines, Claude can only reply. It can't start the exchange)。
Q5. 使用者自己需要手動去呼叫ListAgents或SendMessage這兩個工具嗎?
✅ 原文說Claude用ListAgents找到目標、用SendMessage送出,所以你自己從來不用呼叫這兩個工具。

🃏 翻牌記憶卡(先想答案,再點開對答)

ListAgents點我翻面
Claude Code用來列出目前有哪些工作階段、代理可以被聯絡到的工具,你不會自己手動呼叫它。
SendMessage點我翻面
Claude Code用來把訊息實際送到指定代理名稱的工具,一樣是Claude在背後自己呼叫。
收件規則(inbound controls)點我翻面
接收端自己設定的把關規則,決定進來的訊息是直接送達,還是先被保留。
閒置(idle)點我翻面
工作階段當下沒有在跑任何動作;這時收到訊息,Claude Code會直接開一個新回合來處理。
跨機器訊息的限制點我翻面
只能回覆別台機器傳來的訊息,不能由你的機器主動對另一台機器開啟一段新對話。
agent view vs cross-session messaging點我翻面
agent view是你從一個畫面同時看、同時操控多個視窗;cross-session messaging是視窗和視窗之間互相傳話,兩者用途不同,別搞混。

✅ 離開前自測(全勾=這課真的學會了)

0%