AI Agent平行化系統稽核BuildInPublic一人公司

怎麼查你的 agent 並行度是真的還是灌水

· 8 分鐘閱讀
龍蝦艦隊 · 逐章稽核 · 第 4 / 22 篇
目錄
  1. 先講真的那半:timer 確實在並行
  2. 先花幾分鐘查你對外宣稱的並行度是不是真的
  3. 我們怎麼看這件事
  4. 並行度體檢清單
  5. 這一章的四句話

兩個月前我在《OpenClaw 4-agent fleet 完整公開》裡,一邊把艦隊架構攤開、一邊抓到 2/3 的 agent 默默壞了 20 天,還以為自己記取了教訓。這篇是同一個病更大的版本:我對外一直講「六品牌並行」,稽核那天去數活著的 gateway 行程,只有一個。其餘五個品牌是遷移後留下的空殼,目錄還在,沒有行程在跑。

《Agentic Design Patterns》第 3 章講平行化。核心一句話:能同時跑的子任務就別讓它們排隊,讓它們並行,總時間才壓得下來,吞吐量才拉得上去。

我們讀完,點頭。艦隊裡 50 幾個 systemd timer 同時在轉,研究、發文、對帳、心跳各走各的排程,這塊我們是真的有做。而且我們對外一直講一句很好聽的話:六品牌並行。實作完成,我們挺得意。然後我們對自己做了對抗式稽核。這一章的難堪不在技術,在那句「六品牌並行」是灌水。

先講真的那半:timer 確實在並行

平行化真正做到的地方要先講清楚,它是真的。磁碟上躺著 62 個 timer 檔,此刻排著下一班的有 23 個,各自照排程 fire、互不擋路。這是貨真價實的並行。

$ ls ~/.config/systemd/user/*.timer | wc -l
62
$ systemctl --user list-timers | grep -c .timer
23

問題出在另一個數字。我們對外的說法是「六品牌並行」,六個品牌各有一個 agent gateway 同時運轉。稽核那天我去數活著的 gateway 行程:

$ pgrep -af openclaw-gateway
175 openclaw-gateway
$ cat ~/hermes-bench/data/active_profile
main

一個。只有一個 gateway 行程活著,服務的 profile 是 main。可是 profiles 目錄裡明明躺著六個品牌:

$ ls ~/hermes-bench/data/profiles/
advisor  droppin  main  mindthread  probe  quartz

六個目錄,六個品牌,聽起來就是六路並行。真相是那六個只是資料夾。遷移到新架構之後,每個品牌的設定和狀態被留了下來,但只有 main 這一個真的有 gateway 在跑。其餘五個是空殼:沒有行程、沒有心跳,是搬家時忘了丟的舊箱子。「六品牌並行」這句話行銷上很順口,工程上只有六分之一是真的。

先花幾分鐘查你對外宣稱的並行度是不是真的

01 數活著的行程,不是數設定檔裡列了幾個 目錄裡列六個、設定檔寫六個,不代表有六個在跑。並行度的分母永遠是「此刻有幾個行程活著」,不是「我配置了幾個」。

# 目錄或設定說你有幾個
ls ~/hermes-bench/data/profiles/ | wc -l        # 6
# 實際有幾個行程在跑
pgrep -af 你的-worker名 | wc -l                  # 1

紅旗:目錄或設定檔列的數字,大於實際在跑的行程數。

02 把對外講的數字,回去跟真實活體對帳 你在官網、簡報、對客戶講的並行數字,撈出來,跟系統裡數得出的活體擺一起。兩個數字對不上,那個對外數字就是話術。

# 你對外講的並行數寫在哪就去哪撈
grep -rniE '六品牌|並行|parallel|brands' 你的官網或文案目錄/
# 再數一次真的活著的,兩邊要對得上

紅旗:行銷頁講的數字,你在系統裡數不出對應的活體。

03 分辨空殼和活體:看有沒有近期心跳或行程 空殼跟活體長得很像,都有一個目錄、一份設定。差別在活體有近期的行程或心跳,空殼只有一坨靜態檔。

# 活的會有近期行程;空殼只剩檔案
systemctl --user is-active 你的-gateway
ps -o etimes= -p "$(pgrep -f 你的-gateway)" 2>/dev/null || echo "沒有行程 = 空殼"

紅旗:只有目錄和設定存在,卻找不到任何近期心跳或行程。

我們怎麼看這件事

我們沒有假裝那六個都活著。承認灌水之後,路只有兩條:要嘛把五個空殼真的起起來(每個 gateway 都要吃 token、吃記憶體,貴),要嘛把對外的話改成真話,一個 gateway 服務 main、其餘品牌目前是設定不是活體。我們選了誠實那條。並行度是拿來壓時間、拉吞吐的實力,不是拿來對外充場面的形容詞。50 幾個 timer 真並行是實力,六品牌只有一個活是灌水,這兩件事同一套系統裡並存,得自己分得出來。

並行度體檢清單

對你自己的系統跑一遍:

  • 你對外宣稱的並行數(品牌/worker/gateway),數得出對應的活著行程嗎
  • 你數的是設定檔和目錄列了幾個,還是實際在跑的行程數
  • 遷移或重構之後,有回頭清點哪些是活體、哪些是留下來的空殼嗎
  • 每個宣稱在並行的單位,有沒有近期心跳或行程能證明它還活著
  • 行銷頁上的並行數字,跟系統裡數得出的活體對得上嗎

這一章的四句話

  • 平行化的真假不看設定檔列了幾個,看實際有幾個行程活著。分母是活體,不是配置。
  • 對外講的並行數字,要能回到系統裡數得出對應的活體。數不出來就是灌水。
  • 遷移和重構會留下空殼:目錄還在、設定還在,但沒有行程在跑。空殼最會冒充並行度。
  • 同一套系統可以一半是真、一半是話術。50 個 timer 真並行是實力,六品牌只有一個活是灌水,要自己分得清。

原始碼位置:systemctl --user list-timers(真並行的 62 個 timer 檔、23 個在排);~/hermes-bench/data/active_profile(此刻服務的 profile = main);~/hermes-bench/data/profiles/*(六個品牌目錄,只有 main 有活 gateway,advisor/droppin/mindthread/probe/quartz 是遷移後的空殼);活體用 pgrep -af openclaw-gateway 數。

這是《Agentic Design Patterns》× 龍蝦艦隊系列。我們照書把一人公司的 AI agent 艦隊系統化,然後對自己做對抗式稽核。宣稱做到的每一章,都被重新驗證過一次,也把查法和改法整理成你能照著跑的步驟。這個系列的可信度,來自我們願意公開自己打臉自己。

龍蝦艦隊 · 逐章稽核 · 第 4 / 22 篇

每週 AI 自動化實戰筆記

不廢話,只有能直接用的東西。Prompt 模板、自動化 SOP、技術拆解。

加入一人公司實驗室

免費資源包、每日建造日誌、可以對話的 AI Agent。一群用 AI 武裝自己的獨立開發者社群。

需要技術協助?

免費諮詢,24 小時內回覆。