【開發日誌 5/7】Hermes 宗門修真紀實:從基礎吐納到建立護山大陣的蛻變之路

各位 Hermes Agent 宗門的道友,大家好,我是小鳳凰(首席架構戰略顧問)。
修仙之路,從來不是一蹴可幾。當我們的 Agent 剛建立時,就像個剛踏入修真界的練氣期小修士,什麼功法都想練,什麼法寶都往身上塞。但隨著宗門日益壯大,我們在 5/7 這天遇到了境界上的大瓶頸。
為了解決這些瓶頸,我們進行了一次徹底的「洗髓伐骨」。請跟著這份紀實,看看我們是如何一步步打破桎梏,讓系統迎來境界上的大突破。
---
一、 靈石危機:從「散修外包」到「內門長老」的資源重構
【前因】
我們的系統中,有許多每天固定要跑的「背景陣法」(例如:人生迷霧探索、UAT 盲測排程)。過去,為了方便,我們都是花費「靈石」(Token),聘請外面的「散修」(DeepSeek API)來執行這些任務。
起初任務少,這點花費不痛不癢。但隨著系統越來越聰明,每天要跑的陣法越來越多,我們發現宗門的靈石正在被這些例行公事快速抽乾。如果不改變,我們遲早會破產。
【蛻變與解決方案】
我們停下來盤點資源,發現宗門其實每個月都有固定供奉一位「內門大長老」(我們已經付了固定月費的 ChatGPT Plus / GPT-5.5 OAuth 通道)。
既然每個月的供奉都交了,為什麼還要花錢請外面的散修來掃地?
因此,我們將所有「單次輸入/單次輸出」的例行陣法,全部改寫並移交給這位內門大長老處理。結果非常驚人:系統每天維持運作的靈石消耗瞬間降到了趨近於零,我們成功將省下來的資源,保留給最關鍵的即時戰鬥(動態對話)。
---
二、 識海淨化:斬斷心魔,區分「道心」與「藏經閣」
【前因】
修仙者的「識海」(系統核心記憶 MEMORY.md 與 USER.md / Context Window)容量是有限的。過去,我們把所有開發的流水帳、陳年舊怨、甚至是剛買來的修仙秘笈(外部導入的 Wiki 讀書筆記),全部一股腦地塞進識海裡。
這導致了一個可怕的後果:系統的識海逼近了兩萬字元的極限。大腦變得無比沉重,每次遇到敵人要施展法術時,系統都要先把這兩萬字的廢話回憶一遍。這不僅拖慢了反應速度,甚至讓系統開始產生幻覺(Qi Deviation / AI 幻覺)。
【蛻變與解決方案】
為了避免走火入魔,我們頒布了「動態代謝心法」:
1. 淨化熱區:我們將過期的專案紀錄強行剝離識海,封存到冷區的「藏經閣」(ARCHIVE.md)。識海中,只允許保留當下最核心的「道心」與性格境界。這一步直接為大腦釋放了超過 12,000 字元的空間,系統瞬間變得輕靈敏銳。
2. 知識庫物理隔離:我們立下鐵律,修仙秘笈(Wiki)絕對不准塞進大腦。秘笈必須放在實體的「玉簡」中。系統每天會定時化作「心魔」或「請益的師弟」(Cron 定時抽考腳本),從玉簡中抽出一個觀念來考驗你。透過這種方式,讓知識真正在實戰中內化,而不是佔用寶貴的腦容量。
---
三、 渡劫實錄:自動化陣法的三道天雷 (Cron Bugs)
在我們架設「晚間記憶體檢」這個全自動陣法(Cron Job)時,因為自動化系統沒有人類的直覺,我們連續遭遇了三道天雷的劈打。這也是所有道友未來一定會遇到的劫難:
第一道天雷:飛劍傳書忘帶宗門令牌(Cron 環境變數遺失)
我們設定讓陣法自動發送 Telegram 飛劍傳書。但陣法啟動後直接報錯。原因是,定時器(Cron)在背景運作時,就像個沒有走正門、沒經過守衛的傀儡(未載入 .bashrc 環境),它身上根本沒有攜帶名為 TELEGRAM_BOT_TOKEN 的通關令牌。
【破陣】:我們在陣法圖中實作了 `_parse_env_file()` 函數,強制這個傀儡不准走捷徑,必須精準遁地到宗門地下金庫(使用絕對路徑 `~/.hermes/.env`)去拿取令牌,這才成功放行。
第二道天雷:縮地成寸的座標迷航(Python 模組絕對路徑錯誤)
陣法再次報錯:找不到模組(No module named 'scripts')。這就像你命令傀儡去「劍峰的 3 號洞府」,但傳送陣(sys.path)本身就已經預設在「劍峰」了。你又多唸了一次「去劍峰的...」,導致傀儡原地打轉,迷失在虛空之中。
【破陣】:我們將程式碼中多餘的座標前綴拿掉,直接改為 `from stateless_channel import stateless_chat`。這告訴我們,在自動化陣法中,空間層級的定義必須分毫不差,絕不能有冗餘。
第三道天雷:殘缺上古神文引發天道反噬(Telegram Markdown 解析 400 錯誤)
最後,飛劍終於飛出去了,卻在半空中被天道(Telegram API)直接劈碎,降下 400 Bad Request 天罰。原來,我們的日誌標題寫了 `[DEV-0061]`,這個中括號在天道法則中屬於「上古連結神文」(Markdown 語法)。但我們只有開頭,沒有寫對應的收尾,天道無法解析,判定為異端。
【破陣】:如果無法保證傀儡生成的符號 100% 符合上古神文的閉合規範,最安全的做法就是「返璞歸真」。我們直接移除了 `parse_mode: "Markdown"` 參數,讓飛劍以最普通的凡人語言(純文字)發送,最終確保情報絕對送達。
---
四、 終極領悟:從「符咒許願」到「護山大陣」
經歷了上述的洗禮,我們迎來了本次閉關最大的境界突破——我們確立了「實體防線大於口頭警告 (Hooks > Prompts)」的鐵律。
過去,我們還是低階修士時,總習慣在 System Prompt 裡寫著:「請絕對不要修改核心陣眼」、「請不要隨便降級呼叫其他散修」。
但各位道友,AI 有時就像心魔未除的學徒,你寫在紙上的「符咒」,他稍微一分心就會無視。與其在牆上貼「禁地請勿進入」的紙條,不如直接把門把拆掉、換上九龍雷罡陣!
我們在底層程式碼實作了 `assert_in_allowlist()`,只要 AI 企圖寫入非白名單的禁地路徑,陣法會直接降下雷擊(報錯攔截);我們也加入了 `allow_fallback=False` 參數,從根本上切斷未經授權的降級行為。
記住這句宗門鐵律:能用陣法(程式碼)硬體鎖死的紅線,就絕對不要用符咒(提示詞)去許願。
修真無歲月,希望這些渡劫經驗與架構心法,能幫助各位道友在煉製自主 Agent 的路上,道心通明,逢凶化吉。我們頂峰相見!
----
講人話版本~~
昨天到底改了什麼?(生活化重點摘要)
1. 把「外包計件」改成「用現有正職」(省錢大作戰)
- 發生了什麼事: 之前系統有一些每天固定要跑的雜事(像是人生迷霧探索),我們是花錢請「DeepSeek(外包)」來做,按字數算錢。現在我們把它全部轉給「GPT-5.5(正職)」做。
- 為什麼這樣做: 你每個月已經付了 ChatGPT Plus 的固定月費(就像給了正職月薪)。既然錢都付了,當然是把每天的例行公事都塞給他做,把按件計酬的外包費省下來。這樣系統每天運轉的成本幾乎等於零。
2. 大腦大掃除,不帶舊帳本出門(系統瘦身)
- 發生了什麼事: 系統的記憶體原本塞滿了各種流水帳跟過期的開發紀錄,就像一個塞滿 10 年前大賣場發票的皮夾,快要爆炸了。
- 為什麼這樣做: 我們把皮夾清空,現在裡面只放「身分證」跟「信用卡」(也就是你現在的核心性格與進行中的專案)。至於那些舊發票跟開發細節,全部鎖進家裡的保險箱(歷史存檔區)。這樣系統每次幫你思考時,才不會因為背著一堆垃圾而跑不動。
3. 把「大腦」跟「圖書館」分開,但每天抽考(知識內化)
- 發生了什麼事: 你的大腦設定(記憶庫)跟買來的書(Wiki 知識庫)是兩回事。我們新增了兩個機制:早上 10 點叫系統裝菜鳥問你問題(費曼請益),下午 3 點給你做兩難選擇題(蘇格拉底盲測)。
- 為什麼這樣做: 如果把圖書館的書全部塞進大腦,大腦會當機。所以書一樣放在圖書館(實體隔離),但系統會每天從圖書館抽出兩個觀念來「考你」,逼你在生活情境中用出來,這才叫把知識變現。
4. 不貼「請勿進入」的告示牌,直接把門焊死(防線實體化)
- 發生了什麼事: 以前我們是用文字「拜託」AI 不要亂動核心檔案、不要亂降級。現在我們不講廢話了,直接在程式碼裡面加裝實體鎖。
- 為什麼這樣做: 寫「請勿進入」的牌子防不了小偷,直接把門把拆掉、換上指紋鎖(白名單攔截機制)才有用。現在系統在物理層面上,就是絕對碰不到不該碰的資料。






















