一個 session 的 context 是會用完的。工作沒有。
你可以壓縮它,然後繼續在同一條對話裡走下去——那通常就夠了。但有時候你要的不是「同一個 session 撐久一點」,是讓另一個 session 接手整條工作線:它沒有參與過前面任何一段,卻要能夠繼續做判斷,而且要能跟你意見不同。
為什麼需要一個機制,而不是把摘要貼過去
把摘要貼過去,接手的那一邊只拿到結論,拿不到結論所依據的東西。
而結論正是最不該直接繼承的部分。一份摘要是某個 session 對自己工作的自述——跟「我修好了而且測試全過」是同一種東西。接手方如果只有這份摘要,它唯一能做的就是相信它;一旦前面有一步推錯了,那個錯誤會以「已經確認過」的身分繼續往下傳,而且愈傳愈難查。
所以交接要搬的不是摘要,是出處:哪個檔案的哪一行、哪個指令跟它的輸出、哪一份放在不會消失的位置的文件。摘要可以重寫,出處不行。
Clawdline 的交接是什麼
交接(handoff)是一份固定八個標題的文件,加上一個新開的 session。
八個標題依序是:OBJECTIVE、KEY DECISIONS、CURRENT STATE、REFERENCES、CONSTRAINTS & PRINCIPLES、OPEN THREADS、IMMEDIATE NEXT STEP、VERIFICATION。真正在做事的是第四個和最後一個——REFERENCES 是出處清單,VERIFICATION 是幾個答案刻意不在這份文件裡的問題。
接手方拿到的指示只有一句話:去讀那份文件。然後文件自己要求它做兩件事——把 REFERENCES 走一遍、真的打開;然後用那些來源回答 VERIFICATION,不要用這份交接文件回答。
第二條才是整個設計。用文件本身去回答驗證問題,等於請摘要確認摘要;用來源回答,接手方的理解才不依賴交出方的理解。我們自己有過一次:一個 session 從路由表推出一條錯的規則、告訴另一個 session,第二個回覆說它讀過參考文件、確認無誤。兩個都錯,而那次交換看起來跟驗證一模一樣。
還有兩件事值得講明:
- 它開的是 root,不是子任務。 沒有逾時、沒有要交回去的結果檔、不佔任何名額。它是一個普通的 session,就在你的清單裡。
- App 只讀一件事:那份文件在不在。 裡面寫了什麼它不看。這是刻意的——內容是給接手的 session 看的,不是給 parser 看的——但這同時也是誠實的界線:沒有任何東西驗證一份交接文件寫得好不好。
用文件回答
上:交接文件 下:驗證問題。答案從文件來,再回到文件——摘要確認摘要。
用來源回答
先走到右邊的來源:檔案、行號、指令的輸出。答案從那裡回來。
交接,跟直接傳訊息給另一個 session
Clawdline 兩件事都做得到,而且它們不能互相代替。
| 傳一則訊息 | 交接 | |
|---|---|---|
| 對象 | 一個已經在跑、已經有自己脈絡的 session | 一個為此新開、完全沒有脈絡的 session |
| 它搬的是 | 一句話:狀態、發現、協調事項 | 一整條工作線,以及繼續判斷它所需要的出處 |
| 成本 | 幾乎沒有。對方的下一輪多讀一行 | 一個全新的 session,從零讀起 |
| 誰負責 | 不移轉。工作還是原本那個人的 | 接手方自己對著人回報,在自己的分頁裡 |
| 你要先寫什麼 | 那一句話 | 那八個標題,而且 REFERENCES 要真的能打開 |
分界線是「對方有沒有你的脈絡」。
有的話,傳訊息就夠了,而且明顯划算:對方已經知道你在講什麼,你只要補上它不知道的那一件事。這也是為什麼那條路徑刻意做得很窄——它送的是一則訊息,不是一份工作;它不會替對方接下任何責任,也不會繞過寫入範圍的宣告。
沒有的話,訊息就沒有用了。你可以送一百則,對方還是不知道三小時前那個決定是怎麼來的。這時候要的是交接,而它貴的地方也很誠實:你得先把那份文件寫出來,而且要寫到一個陌生人打得開的程度。
會出事的組合是拿訊息去做交接的工作——一條「你接手一下」的訊息送給一個沒有脈絡的 session,它會照做,而且會用它自己編出來的前提照做。
它做不到的事
它不會記錄那些 REFERENCES 有沒有被打開,也不知道驗證問題是用來源回答的還是用文件回答的。Clawdline 知道的只有:一次交接建立了,而第一句話有沒有送達那個被指名的 session。
把差別寫下來,不會讓中間那一步自己發生。它只是讓那一步的缺席變得看得見——而一個下午被一條錯的規則吃掉,通常不是因為沒有人查,是因為沒有人看得出那條規則原本站在什麼上面。
還有一個性質常讓人意外:交接是狀態的複製,不是所有權的移轉。 交出去之後,原本那個 session 不會消失;把一條線分岔出去平行跑,你會有同一棵樹裡兩個地位相等的 root。
接著看哪裡
工作流程指南依序講了 project 列、派工、排程與交付。
如果你要的其實是另一件事——把一件範圍明確的任務交出去、而且自己還要收回結果——那是派工,不是交接,它有自己的一層限制。