AI Agent多步規劃招牌功能BuildInPublic一人公司

怎麼發現你的招牌 agent 其實早就死了

· 8 分鐘閱讀
龍蝦艦隊 · 逐章稽核 · 第 7 / 22 篇
目錄
  1. 招牌攤開來,是一具擺著好看的殼
  2. 先花幾分鐘查你自己的招牌功能
  3. 招牌功能體檢清單
  4. 這一章的四句話

幾個月前我在《我們讓 4 隻 AI Agent 在 Discord 上開會》裡,把「它們每天早上自己開會、自己看數據、自己提建議」寫成我現在每天在做的事。這篇要回頭查那支招牌開會 agent 的最後執行時間:它已經三個月沒開過一場會了,而我一直以為它天天在開。程式碼沒壞,不等於它還活著。

《Agentic Design Patterns》第 6 章講規劃。核心一句話:agent 面對複雜任務,要先把它拆成有順序的多步計畫,再一步步執行,而不是一口氣硬幹。

我們讀完,心想這章我們有王牌。艦隊裡有一支 agent-meeting.py,四個角色每天開一場會:讀艦隊數據、讀昨天的會議記憶、讀跨 agent 訊號,然後產出當天的討論、萃取出行動指令寫回訊號匯流排,給明天當計畫。這是我們對外最愛秀的一支,多步規劃的活招牌。然後我們對自己做了一次對抗式稽核。這一章的難堪是:這支招牌 3 個月沒跑過了,而我們一直以為它每天都在開會。

招牌攤開來,是一具擺著好看的殼

第一刀砍在「它最後一次真的跑是什麼時候」。腳本檔本身停在 2026-04-03,之後一個字沒動過。這還能解釋成「寫好了就沒再改」,所以我們去翻它自己寫出來的東西:會議記憶檔 meeting_memory 一共 14 筆,最後一筆的日期,也是 2026-04-03。它不是懶得改,是那天之後,一場會都沒開過。到今天,整整 3 個月。

第二刀更狠:為什麼會死?因為根本沒有東西在叫它。我們掃過全部 23 個 systemd timer,沒有一個叫 meeting,沒有一個叫 agent。再把整個艦隊目錄 grep 一遍「agent-meeting」,除了它自己,只撈到一支躺在 _archive/ 裡的 wrapper,內容就一行 exec python3 agent-meeting.py。一支封存資料夾裡的殼,套著另一支沒人呼叫的殼。沒有 timer、沒有 service、沒有 cron,這支「每天開會」的 agent,上一次被觸發是三個月前有人手動敲了一次。

值得講清楚它「不是」什麼:程式碼沒壞、跑起來會動、Gemini 金鑰還在、Discord webhook 還通。你今天手動執行它,它照樣開一場漂漂亮亮的會。壞的不是它會不會跑,是沒有任何一根線在拉它跑。招牌 artifact 最危險的狀態,就是這樣:它完好無損地擺在那裡,而你腦裡的印象停在它上線那天。

先花幾分鐘查你自己的招牌功能

01 它最後一次真的執行,是什麼時候 別問「它會不會跑」,問「它最近一次跑是哪天」。查腳本檔的修改時間,再查它寫出來的資料檔最後一筆的日期,兩個一起看。

# 腳本最後被動過是多久以前(死腳本會停在某一天)
stat -c "%y  %n" ~/.openclaw/scripts/你的招牌.py
# 更硬的證據:它產出的資料檔,最後一筆是哪天
python3 -c "import json;m=json.load(open('.../data.json'))['records'];print(m[-1]['date'])"

紅旗:最後一筆停在幾週前、幾個月前,而你還在對外講它「每天在跑」。

02 有沒有任何 timer / cron 真的在叫它 會不會跑,跟有沒有人叫它跑,是兩回事。列出所有排程,用腳本名去搜,再全域 grep 一遍看誰引用它。

# 有沒有排程真的在觸發它
systemctl --user list-timers --all | grep -i 你的招牌
crontab -l | grep -i 你的招牌
# 全域搜引用:除了它自己,還有誰在呼叫它
grep -rIl "你的招牌" ~/.openclaw/

紅旗:list-timers 一條都沒有;grep 只撈到它自己,外加一個躺在 _archive/old/ 的 wrapper。沒有觸發源=它不會自己醒來。

03 它宣稱的步驟順序,跟實際跑的順序一樣嗎 規劃的重點是順序。把腳本從頭讀一遍,標出「決定要做什麼」和「蒐集依據」各在第幾行。我們的 autopost 對外宣稱「先研究、再選題」,實際打開來,選題那行是用時鐘取餘數(POST_SLOT % 題庫數)先把題目定死了,研究那步在後面,而且抓哪個網址還是照著已經定好的題目去挑。順序是反的:不是研究完再決定寫什麼,是先決定寫什麼、再抓資料來填。

# 找「決定題目」和「做研究」各在第幾行,看誰先
grep -nE '選題|pillar|PILLAR=|research|summarize' 你的招牌.sh

紅旗:決定要做什麼那行,排在蒐集依據那行之前。你的「先規劃後執行」其實是「先拍板後補作業」。

招牌功能體檢清單

對你自己最得意的那支 agent 或腳本跑一遍:

  • 它最後一次真的執行是哪天,你答得出來嗎(不是「它會跑」,是「它上次跑」)
  • 有任何 timer / cron / service 在觸發它嗎,還是只能靠人手動敲
  • 全域 grep 它的名字,除了自己還有誰引用,那些引用是活的還是躺在 _archive/
  • 它產出的資料檔,最後一筆的日期新鮮嗎
  • 它宣稱的步驟順序(先研究後選題),跟原始碼從上到下的實際順序對得上嗎
  • 你對外介紹它時的印象,是這週驗證的,還是它上線那天的快照

這一章的四句話

  • 招牌 artifact 可能只是擺著好看。程式碼沒壞不等於它還活著,要問的是「上一次真的跑是哪天」。
  • 會不會跑,跟有沒有東西在叫它跑,是兩回事。沒有 timer、沒有 cron,再漂亮的 agent 也只是等人手動敲的殼。
  • 宣稱的步驟順序要跟原始碼對帳。先拍板再補研究,不是規劃,是倒著跑還講得像正著跑。
  • 對招牌功能的印象,最容易停在上線那天。每隔一陣子親手驗一次它的觸發源和最後執行時間,別讓記憶當現況用。

原始碼位置:~/.openclaw/scripts/agent-meeting.py(招牌規劃 agent,最後執行 2026-04-03,無 timer 觸發);唯一引用它的是 ~/.openclaw/scripts/_archive/discord-agent-chat.sh(封存資料夾裡的 wrapper)。順序反轉的證據在 ~/.openclaw/scripts/moltbook-autopost.sh(pillar 由時鐘取餘數先定,research 在後)。

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

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

每週 AI 自動化實戰筆記

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

加入一人公司實驗室

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

需要技術協助?

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