← 返回文章
Claude Code 開越多越累?給它一個總 PM,再給自己一個收件匣
圖版 30 · Claude Code 開越多越累?給它一個總 PM,再給自己一個收件匣3,898 字

Claude Code 開越多越累?給它一個總 PM,再給自己一個收件匣

文章目錄(10 節)
最近去 GAI 小聚的讀書會,跟大家聊天聊到我怎麼帶一堆 Claude Code session 一起跑(感謝硬兔幫忙錄音,這篇就是從錄音整理的),講一講才發現,我現在已經不用一直盯著 Claude Code 了。主要就看一個儀表板,看它要我做什麼、要我決定什麼,選一選就關掉。產出沒有變多,但工作效率和注意力的上限都拉高了。

先說結論

只對一個總 PM 說話

一個常駐的總 PM session 負責開線、派工、追進度,下面的 session 都是它開的,我不用一個一個切過去。

問我的事全部進收件匣

要我做的、要我決定的、讓我知道的,都排在一個網頁上。我有空再回,選一選、按送出,答案會自己回到 AI 手上。

已經開源成 claude-inbox

我把最核心的「收件匣」打包成 Claude Code plugin,兩行指令就能裝,總 PM 模式也一起附上。

開很多 session 會爆,開少又太慢

用 Claude Code 一陣子的人應該都遇過:想做得快,就同時開很多 session;可是開太多,人就爆了,每個都在等你回一句話。開少一點比較好控制,但速度就慢下來。

我後來前前後後改了四次,才變成現在這樣。每一次都是被上一個做法的缺點逼出來的:

  1. 總 PM:我只對一個人說話

    一個 session 負責分派所有任務,其他 session 由它開、由它管。

  2. 撈 log:不想再去海巡

    每個 session 裡冒出來的提醒,寫程式定期撈出來丟給總 PM。

  3. /leave:離開時先做記號

    回來時只看「我不在的這段期間」的摘要,不用再爬整串對話。

  4. 儀表板:不用再一直盯著 Claude Code

    總 PM 在開發機上架一個網頁,我每天就看那個。

第一步:一個總 PM

Claude Code 的 session 跟 session 之間是可以溝通的,所以我寫了一個 skill 叫 Super PM。開一個總 session,我都叫它「總 PM」,它負責去分派下面那些 session 的任務,我就只需要對總 PM 說話。

總 PM 本身不寫程式。它的工作是開線、派卡、決定每張卡給誰做、遇到高風險的事先擋下來,然後把要我拍板的事情整理好再來問我。

這個東西有很多地方可以慢慢 tune,但 tune 好之後,我就只要面對一個人。光是這樣就已經很快樂了。

Claude Code 的 session 清單:最上面是總 PM,下面二十幾條 session 各自標著工作線名稱,頂部寫著 1 awaiting input、21 working、4 completed;狀態描述已打馬賽克
截圖當下的 session 清單:21 條在跑,只有 1 條在等我。最上面那條就是總 PM,已經連續開了 20 天(工作內容已打馬賽克)

第二步:不想再去海巡

Claude Code 後來推出了 mods,可以改它的介面和行為。其中有一個內建的「You should know」mod,我覺得超讚:旁邊有一個 agent 在看著 session,發現你或 Claude 可能漏掉的事,就會主動提醒你。

Claude Code 裡的 You should know 提醒:開源的 claude-inbox 只有決定信箱那一塊,逐字稿裡的儀表板、撈 log 和工作線進度可能都不在 repo 裡,建議文章分清楚;下方有 Understood、Chat in main session、Dismiss 三個選項
寫這篇文章時它就提醒了我:開源的 claude-inbox 只有收件匣那一塊,文章要分清楚哪些不在 repo 裡

但它有個缺點:只會出現在各自的 session 裡面。所以我又變成要一個一個 session 去海巡,巡到最後真的受不了。

後來發現,這些提示其實也會寫進 session 的 log 裡。那就簡單了:我又寫了一支程式,定期去撈這些 log,丟給總 PM,再由總 PM 統一來問我。

第三步:離開前先做記號

接著出現新的問題。總 PM 是常駐的,我只要離開一陣子再回來,那串對話已經超級長,還得往回翻看剛剛發生了什麼。哪有空啊。

所以我又做了一個 skill 叫 /leave。要離開電腦時打一下,它就在對話裡做個記號;回來之後我就說:「把我不在這段期間的事摘要給我,有什麼要問我的一起問。」

這樣用了一陣子還算 OK。但後來發現,剩下的問題已經不是技術,是人。每次一回來就看到一大坨東西等你處理,心很累。

第四步:做一個儀表板,不用再一直盯著 Claude Code

我想讓這件事變得舒服一點,就叫總 PM 在我的開發電腦上架一個 server,做一個儀表板。上面要有時間、要有它要問我的問題。從那之後,我不用一直待在電腦前,也不用一直盯著 Claude Code、一直巡每個 session,主要都看這個儀表板了。

這其實跟我之前寫的〈好設計,反饋優質上下文〉是同一件事:AI 交出來的東西要好讀,我才看得下去;要好反饋,我的回答才能順利回到 AI 手上。終端機裡一長串的對話兩樣都做不到,換成網頁兩樣都做得到。

儀表板上的東西分成三種,處理方式都不一樣:

要我做的

只有人能做的事,例如去某個後台設定。我做完跟它說「好了」,它才繼續下一步。

要我決定的

都整理成選擇題,附上它推薦的選項。我選一選、按送出就好。

讓我知道的

不需要我動作的狀況回報,看過按「我知道了」就收起來。

我自己的儀表板「指揮台」:左邊是要我回的 2 題,中間是目前這題的完整說明與送出按鈕,上方有未來幾天的期限時間軸,右邊是各條工作線的狀況;細節已打馬賽克
我每天開的就是這個,我叫它「指揮台」。左邊是要我處理的題目,中間是這一題的來龍去脈,上面那條是期限時間軸(細節已打馬賽克)

除了這三種,儀表板上還看得到現在開了幾條 session、各自做到哪裡,以及一條時間軸:過去做了什麼、接下來要做什麼、接下來要我做什麼。想下其他指令也可以直接在網頁上打,跟在 Claude Code 裡打是一模一樣的。

指揮台右側展開的「總 PM 匯報」面板:一段匯報內文、要你動手 2 張卡片(各有去回答按鈕)、回你與告知、以及我接下來要做的事;內容已打馬賽克
總 PM 隨時會寫一份匯報給我:發生了什麼、要我動手的事、它接下來要做什麼(內容已打馬賽克)
指揮台的進度頁:上方是今天上線、在路上、接下來要我在場的數字,中間是未來一週的時間軸,下方是各條主線的下一步;事件內容已打馬賽克
進度頁:一眼看到在路上有多少張卡、接下來一週排了什麼、哪些時候需要我在場(事件內容已打馬賽克)

手機版也一定要有。我用 Tailscale 把開發機接到自己的私人網路,在外面隨時拿起手機就能看、就能回。

以前:一直巡

每個 session 輪流切過去看,看到問題按 1 看更多、按 2 開始打字,打完換下一個。巡到手都有肌肉記憶了。

現在:有空再回

想到什麼就丟給總 PM,有空再打開儀表板看。大部分的題目都是明天才要,不用再緊迫盯人。

心法:所有事情都拆成 task

讀書會上有人問了一個很實際的問題:Claude Code 很容易分心。做主線做到一半,「欸,這邊有個 bug」,就 fork 一條支線去修,支線上又發現別的東西再 fork。原本五條主線,最後變成七八條,收都收不回來。

我的心得是:把所有事情都拆成 task。

那些冒出來的小支線,你一看就知道它是一個 task 的範圍。要做、不做,決定就好。決定要做的,我心裡就當它已經做完了,因為 Claude 這麼強,這種範圍它一定做得好。之後想到再問總 PM,它的回答只會有兩種:「做完了」或「還沒做」。

當然還是會有一個 list 專門放要做的事情,而且永遠做不完。那就讓它 24 小時一直做。現在它跑在一台 Mac Studio 上,不用佔著我的筆電。

我的配置

總 PM 用 Fable

只有總 PM 用 Fable,其他 session 都用 Opus。Fable 做長任務不會亂,Opus 跑久了會。

context 設 600k

到 600k 自動 compact。這樣配下來幾乎沒什麼問題,是個稱職的總經理。我現在這個總 PM 已經連續開了 20 天。

任務不多的話,Opus 也行

實測過,總 PM 用 Opus 也可以,前提是同時帶的線沒那麼多。

還沒解決的小煩惱

Claude Code 更新太快,常駐的 session 會停在舊版

一直開著的 session 用的是開的時候那一版。我得自己抓時間跟總 PM 說「我要重開了,先把手上的任務停一下」,重開之後再全部接回來。不難,就是有點煩。

每天晚上 9 點,還是得回 Claude Code 按一次「允許」

公司的產品每天晚上 9 點固定跑一次 build 上版。這一步 Claude 一定要我親口允許,沒辦法在儀表板上按,只能回 Claude Code 裡按。所以這大概就是我現在每天的價值了:晚上按一下,隔天有人問「欸新功能是你上的嗎?」我說:「對,我上的。」XD

老實說,這套東西以成果來看,產出沒有差多少。但它拉高的是我工作效率和注意力的上限:以前要一直巡,現在想到什麼就丟,有空再回。

我把收件匣開源了:claude-inbox

我的這個收件匣,跟我的開發模式、還有我自己的 Harness 有很深的綁定,直接開源別人也用不了。所以我只是請 Agent 幫我把最核心的那一塊簡單拆出來,打包成 claude-inbox:一個專門放「要你決定的事」的收件匣。上面提到的撈 log、進度頁、在網頁上直接下指令,都不在裡面。

你可以拿去隨意使用,但最好是把它變成你的形狀:套上你自己的開發流程,做更深入的整合,這樣子用起來才會真的輕鬆。

  1. agent 需要你決定

    它不在對話裡停下來乾等,把題目放進收件匣,先去做不受影響的部分。

  2. 你有空時一次回答

    所有對話的題目集中在一個網頁,點選項、寫幾句補充、送出。

  3. 答案自動回到 agent 手上

    下一輪開始時,答案已經在它的上下文裡,不用你再貼一次。

收件匣網頁:每題有來源專案、期限、題目說明、A/B 兩個選項(其中一個標推薦)和補充欄,底部有「送出全部已答」按鈕
每題都附來源、期限和推薦選項,選好、寫幾句補充就能送出

不叫 AI、不上雲

只用 Python 標準庫,題目和答案全部放在你自己的電腦上。

疊在你的規則上

不會動你的 CLAUDE.md 或任何流程,只是把「問你」的地方從對話換成收件匣。

手機也能回

把位址改成 Tailscale 或內網位址,手機就能直接回答。

手機寬度下的收件匣:題目、選項和補充欄直向排列
手機版的實際畫面

安裝只要在 Claude Code 裡打兩行:

/plugin marketplace add chenjackle45/claude-inbox
/plugin install inbox@claude-inbox

裝好重開一次 Claude Code,然後跟它說「有要我決定的事,就放進收件匣」就可以了。想長期生效,把下面這段貼進專案的 CLAUDE.md:

## 收件匣
需要問我的事(照上面的規則本來就要問我的那些),一律用 `inbox ask` 放進收件匣,不要在對話裡停下來等。
不需要問我的事,照原本的規則自己決定,不要因為有收件匣就多問。

附贈:總 PM 模式

裝好之後輸入 /inbox:pm,就能看到一套預設的總 PM 做法:一個常駐對話帶好幾條工作線、自己不寫程式,只負責派工、裁決、追進度,而你只看收件匣。已經有自己的總 PM 或審查流程的話,它會沿用你的,只補上收件匣那一塊。

覺得有用的話,歡迎到 GitHub 按個 Star,或開 Issue 告訴我哪裡卡住。也很好奇大家是怎麼帶一堆 session 的,有更舒服的做法也歡迎跟我交流。

留言