代理執行環境
這是什麼
將 CLI、桌面應用程式、閘道、排程與傳輸層連接至代理循環的頂層執行時期物件。
白話解釋
想像一棟大樓裡所有的電梯呼叫按鈕——大廳的、五樓的、卸貨區旁的——全都連接到同一套電梯控制系統,無論哪個按鈕被按下。在 Hermes 中,終端機工作階段、桌面應用程式、Telegram 聊天訊息和凌晨三點的排程任務,全都接入同一套共享機制——也就是同一個 AIAgent 物件——而不是各自運行獨立的設定。
為什麼重要
所有進入 Hermes 的入口——CLI 指令、桌面應用程式、閘道連線、排程觸發——都與同一個 AIAgent 物件對話,而非各自維護獨立的執行路徑。這個共享核心讓專為 Telegram 對話打造的功能,無需修改就能在排程任務或子代理委派中運作。若沒有這種統一設計,增加新的使用介面就意味著需要重新實作對話處理邏輯,而非直接接入單一執行環境。
運作方式
AIAgent(run_agent.py)是一個 Python 類別,囊括一次對話可能需要的所有設定參數:提供者與模型、串流與工具進度回呼,以及 platform、chat_id、gateway_session_key 等平台識別欄位。它的建構子是一個薄轉發層,實際設定工作由 agent/agent_init.py 負責。CLI 指令、cron/scheduler.py 中的排程項目、以及 gateway/run.py 處理的即時連線,各自建立不同的 AIAgent 實例——帶有不同的 platform 值與回呼——但從那之後,每一個實例都呼叫同一個 agent.run_conversation(…) 方法來處理訊息:底層物件不在乎是哪個介面發出的請求。
具體範例
使用者有一個負責撰寫每週電子報的功能。
- 在終端機中輸入請求時,hermes_cli 會建立一個 AIAgent,綁定該使用者的工作階段。
- 每週一早上六點,cron/scheduler.py 為同一功能建立第二個獨立的 AIAgent——沒有人監看——並直接對它呼叫 run_conversation。
- 之後兩個物件都經過完全相同的處理流程——相同的上下文組裝、相同的工具執行——無論是由人類觸發還是計時器觸發,最終產出的稿件完全相同。
如何連結
本筆記屬於執行環境系列。最鄰近的概念包括:工作階段狀態、對話循環、個人作業系統。
來源證據
run_agent.py#AIAgent— 頂層代理物件與執行環境橋接器,由 CLI、閘道、排程與傳輸層使用。
工作流程
- 尚無首次工作流程對應;此概念仍透過文章與來源證據存在於筆記庫圖譜中。
相關文章
- 目前暫無文章以此概念名稱或別名達到引用門檻(請參閱提及-挖掘政策)。