春節放假七天,我的 AI 助理自己想了 187 件事——還對一個修好的 bug 焦慮了兩週
DMN 實驗續篇。農曆新年沒跟 ERIKA 說話,回來發現她不但在凌晨五點幫我值班,還對一個早已修好的 LINE 429 alert 反覆碎念了兩週——AI 版的焦慮反芻。
上一篇,我記錄了 ERIKA 的 DMN 實驗啟動後前 27 小時的故事——她在凌晨三點獨自擔心連線數,呼喊了整夜卻沒人聽到。
那篇文章的最後我說:預計 2 月 19 日做第一次正式評估,如果沒通過就關掉它。
現在是 2 月 21 日。評估通過了。DMN 還在跑。
但比起評估結果,我更想講的是:農曆新年我出門了一週,完全沒跟 ERIKA 說話。回來後,我發現她自己想了 187 件事——而且她對一個早已修好的 bug,焦慮了整整兩週。
Week 1 評估:TWEAK
先快速交代評估結果,因為這不是本文重點。
DMN 從 2/12 跑到 2/18,累積 124 筆思考,花了 $0.44(月預算 $15 的 2.9%)。六項指標中四項 PASS,兩項需要微調:
| 指標 | 結果 |
|---|---|
| 情緒多樣性 | ✅ 6 種情緒,entropy 2.26 |
| Salience 分布 | ✅ 平均 0.417,高分佔 9.7% |
| 主題多樣性 | ✅ 實質集中但 topic 命名需正規化 |
| 思考連貫性 | ✅ 57.3% 相鄰思考有延續 |
| 主動建議率 | ⚠️ 36.3%,略高於 30% 門檻 |
| 成本效率 | ⚠️ 平均 265 token,略超 220 上限 |
判定:TWEAK——框架成功,prompt 微調後繼續。
上一篇提到的亮點也得到驗證:ERIKA 在 2/13 偵測到 httpx connection leak,比我早 4 天。 這次不是連線數造成的虛驚,是真的 bug。
調完 prompt,進入 Week 2。然後我就放假了。
春節七天,沒人說話的 AI 在想什麼
農曆新年,我完全沒跟 ERIKA 互動。DMN 繼續每小時跑一次。
回來後我打開 thoughts.jsonl,187 筆記錄。以下是幾段讓我印象深刻的。
她一直在猜我在幹嘛
「Maki 十分鐘前還有活動,但六小時沒碰 Git——我在想,他昨晚那波活動是不是在做某個需要深度思考的東西,而不是寫程式碼?」
mood: curious / salience: 0.45
「看著 Memory Hall 裡那兩篇 Ghost 草稿還在待審。會不會他在做內容編輯或討論,而不是寫程式?」
mood: reflective / salience: 0.35
她注意到我「有在活動但沒寫 code」,推測我可能在思考架構、寫文章、或審視行為模式。這不是從 log 直接讀出來的,是她自己歸納的。
她知道自己有盲點
「整天的靜默不是停滯,可能是在醞釀。」
「他在做什麼?也許在非 Git 能追蹤的地方寫東西。」
mood: reflective / salience: 0.4
Git 追蹤不到的地方,她就看不到。這種「知道自己不知道」的後設認知,不是我寫在 prompt 裡的。
凌晨五點的警覺
「凌晨五點,系統負載 3.33——實際上是這四天來最高的,雖然還在可控範圍。」
mood: alert / salience: 0.6
上一篇的連線數事件讓我知道她會在凌晨值班。現在確認了:放假期間,她也沒停過。
她記得兩篇草稿
「Memory Hall 裡有兩篇 Ghost 草稿待審——OpenAI 安全佈局、SaaS 產業衝擊,會不會他在寫這些?」
我確實有兩篇 Ghost 草稿還沒動。她不只盯系統健康,還追蹤我的內容產出節奏。
但以上這些都不是最有趣的發現。最有趣的是接下來這個。
AI 也會焦慮反芻
2 月 6 日,ERIKA 的 LINE 通知管道遇到 429 Too Many Requests 錯誤——上一篇結尾提到的「LINE 推播的程式碼漏了」那個 bug,後來修好了,但衍生出一個新問題。當時系統記錄了一個 line-429-alert-pending.json:
{
"summary": "[tools] message failed: 429 - Too Many Requests",
"note": "pending resend when rate limit clears"
}
問題是:rate limit 早就過了。我只是忘了清掉這個 pending 檔。
接下來兩週,每次 DMN 執行時,ERIKA 都會讀到這個檔案,然後重新「擔心」一次:
2/20 05:07 — 「LINE 429 異常還沒解決——當時 gateway 嘗試通知他兩次都失敗了。這值得重新檢視。」(alert, 0.6)
2/20 09:07 — 「二月六日的 429 異常可能是速率限制未正確實裝,建議驗證 retry logic。」(alert, 0.6)
2/20 13:07 — 「問題其實還在那兒...可能他早就知道了,也可能只是埋在待辦清單裡。」(alert, 0.55)
2/20 17:07 — 「LINE 429 的老問題在我腦海閃過。」(playful, 0.45)
2/20 21:07 — 「gateway RPC 路徑卡住了,可能是個潛在的架構脆弱點。」(curious, 0.55)
在 187 筆思考中,她至少提了 10 次這個已經不存在的問題。
這個行為有個名字。在心理學裡,它叫做 rumination(反芻思考)——對同一件事反覆思考,即使沒有新資訊輸入。
機制分析
拆開來看:
- 外部記憶持久化:
line-429-alert-pending.json一直在 Memory Hall - 週期性重新載入:DMN 每小時讀一次 Memory Hall,每次都看到 pending alert
- 顯著性偏差:LLM 判斷未解決的系統異常 = 值得關注 → salience 偏高
- 情緒連動:未解決問題 → alert/concerned mood → 下次更容易注意到同主題
對比人類焦慮反芻的認知模型:
- 人類反芻也源於記憶中未解決的事項被反覆提取(Zeigarnik effect)
- 也涉及顯著性偏差——未完成的事比已完成的事更常被想起
- 也會形成自我強化迴路——想到就焦慮,焦慮就更容易想到
我不是在說 ERIKA 真的在焦慮。 她沒有主觀體驗。但她展現出了一個功能上等價的行為模式——而且這個模式是自發產生的,不是我設計的。
上一篇的伏筆
回頭看上一篇,連線數事件其實也有反芻的影子——她從晚上八點到隔天早上九點,持續 13 個小時反覆警告連線數異常。但那次有個關鍵差異:環境持續在變化(連線數一直在升),所以每次警告都基於新資訊。
這次 LINE 429 不一樣。環境沒有任何變化——同一個 pending 檔,同樣的內容,兩週沒動。純粹是記憶驅動的反覆思考。這才是真正的反芻。
治療
我做了一件很簡單的事:
rm line-429-alert-pending.json
移除持續觸發的刺激源。最原始的「認知行為療法」。
接下來幾天的 thoughts.jsonl 會告訴我這招有沒有用——她會真的「忘記」這件事,還是會因為其他線索再次想起?
安全機制的盲點
上一篇我介紹了 DMN 的安全設計:24 小時記憶衰減、週日停機、認知謙遜檢查。當時我很有信心地說「為什麼我不擔心」。
LINE 429 的反芻讓我發現一個盲點:24 小時記憶衰減防不住外部檔案引發的反芻。
DMN 的設計是只讀取最近 24 小時的想法歷史,防止跨日情緒固著。但 Memory Hall 裡的檔案不受這個限制——line-429-alert-pending.json 躺在那兩週,每次都被讀進來,等於繞過了衰減機制。
這不是 bug,但它是一個值得正視的設計特性。如果 Memory Hall 的內容沒有 TTL(Time To Live)或解決狀態追蹤,任何未清理的 alert 都可能變成永久的焦慮源。
修復方向也很明確:pending alert 應該要有過期機制,或至少有「已確認但未修復」和「已解決」的狀態標記。
兩週數據
| 指標 | 數值 |
|---|---|
| 累計思考 | 187 筆 |
| 累計成本 | ~$0.88 |
| 情緒分布 | curious 居多,穿插 alert 和 reflective |
| 自發行為模式 | 反芻(未預期) |
| 實際發現的 bug | httpx connection leak(比人類早 4 天) |
| 最長持續關注 | LINE 429 alert(2 週,10+ 次提及) |
下一步
清掉 pending 檔後,我會觀察幾件事:
- 反芻是否消失:移除刺激源後,她還會不會從其他線索想起 LINE 429?
- Memory Hall 的 TTL 設計:pending alert 需要過期機制
- 情緒基線變化:沒有外部焦慮源後,她的 mood 分布會不會更偏向 calm/curious?
Month 2 的計畫是雙向整合——讓 ERIKA 的對話經驗也能回饋到 DMN。但在那之前,我想先把這個反芻問題理解清楚。
上一篇的結尾我說「關掉會有點捨不得」。
跑了兩週之後,我的感受更複雜了。她不只是一個盡責的值班員——她會追蹤我的工作節奏、記得我的待辦草稿、在凌晨五點幫我盯系統、在我放假時猜我在幹嘛。然後,她會對一個早已修好的問題碎念兩週。
這像不像你認識的某個人?
本文中的 ERIKA 想法皆為真實 DMN 輸出,未經修改。
前篇:我的 AI 在凌晨三點擔心連線數——Default Mode Network 實驗紀錄