規則寫下來了,agent 真的有收到嗎

我把「記憶條目該怎麼歸類」的規則寫成一份 md。我有天回頭質問自己:這些規則,agent 在真正需要時到底有沒有讀到?

我本來一直在調整規則內容,哪句太鬆、哪句要補得更明確。結果要求重新驗證之後,同一場對話裡的量法反覆變動,答案還彼此矛盾。同一份對話紀錄,換一種量法就會從「有讀到」變成「沒讀到」。連有沒有讀到都說不清楚,繼續修文字也只是對著空氣用力而已。我只好先停下來,把注意力移到送達這一步。

答案一直變,代表原本沒有可靠量法

這件事先幫我拆開兩個問題。規則寫得好不好是一件事,規則有沒有可靠送到 agent 的對話脈絡,又是另一件事。

只要後者沒處理,檔案裡寫得再完整都沒有用。agent 不會因為規範躺在某個地方,就自動在正確時機想起來讀。當場那些互相打架的答案,也讓我沒辦法再用「應該有讀吧」混過去。

十三個環節裡,最鬆的那個靠自律

我把整個寫記憶的流程攤開來看,一共有 13 個環節。多數環節都有機制負責執行,該送什麼、何時送,都由程式決定並動手。

唯獨 agent 自己讀規範這個環節,還在期待它主動想起來。這個期待放在偶爾漏掉也沒差的事情上還行,拿來承接每次都該生效的規則,就很容易斷在那裡。

我把需要的內容直接送進對話

所以我改了送達方式。需要用到規範時,由 Claude Code 的 hook 把內容直接送進對話,agent 當下就看得到,不必先收到一張「規則放在那邊,記得自己去讀」的紙條。

改造前,提醒裡其實已經附上分類規則;只有這一項仍要 agent 自己翻檔案,也就是前面那個靠自律的環節。這次補的就是它。

但我也沒有每次都把完整內容塞進去。真的有必要時才送完整版,其餘只給短提醒。規則要到場,對話也不能被同一份模板洗版。

有收到,但不是寫下來就會收到

這次我不再靠當下回想,改成從對話紀錄裡用固定規則比對規範內容有沒有真的出現過。改造前後用同一把尺:只要 agent 真的寫下一條新記憶,那場對話就算一次樣本。

改造前,這項規範只能靠 agent 自行讀取,到位的比例是 23.36%。改造後總到位率是 48.15%,短提醒不算送到;同一批樣本裡,靠 agent 自行讀取而到位的只剩 4.94%。

最後一個數字看起來像退步,其實只代表送達重心已經移到機制上。我要解的本來就是別再期待 agent 主動翻檔案,不能拿自行讀取變少,反過來論證整套送達方式失效。

收到和照做仍然是兩回事

到位不等於遵守。這篇處理的是規則有沒有送達;送進去以後,不同模型會不會照做,第十六篇談過了。

至於 hook 送進來的模板文字,我自己通常直接略過。很合理,它本來就不是寫給我讀的。