執行期

代理執行環境

將 CLI、桌面版、閘道、cron 與傳輸層連接至代理迴圈的頂層執行環境物件。

概念專屬圖版代理執行環境hx-graph-context-concept-agent-runtime正在載入視覺預覽…
以原始尺寸檢視

代理執行環境

這是什麼

各入口會自行建立這個頂層 AIAgent 物件,保存該入口的設定,再把訊息送入共用的代理迴圈。

白話解釋

一棟大樓的每個入口可以各有服務人員,卻都把工作送往同一套後勤流程。Hermes 也是如此:CLI、閘道與 cron 各自建立並設定 AIAgent,再匯入共用的對話處理機制,而不是共用同一個存活中的物件。

為什麼重要

Hermes 會在不同入口重用 AIAgent 類別與後續的回合處理路徑,但不會讓每個 CLI 指令、閘道對話與 cron 執行共用同一個 AIAgent 實例。釐清這項差異,才能理解各入口如何保有自己的工作階段、平台欄位、回呼與憑證,同時沿用相同的回合處理機制。

運作方式

AIAgentrun_agent.py)是 Python 類別,集中保存每個回合可能需要的設定,包括提供者與模型、串流與工具進度回呼,以及 platformchat_idgateway_session_key 等平台識別欄位。它的建構函式只把工作轉交給 agent/agent_init.py 完成實際初始化。CLI 指令、cron/scheduler.py 的排程項目,以及 gateway/run.py 處理的即時連線,會以不同平台值與回呼各自建立 AIAgent;之後則全都呼叫同一個 agent.run_conversation(...) 方法處理訊息,因此底層物件無須知道請求來自哪個入口。

具體範例

使用者有一項每週撰寫電子報草稿的技能:

  1. 使用者在終端機輸入要求時,hermes_cli 會建立綁定該使用者工作階段的 AIAgent
  2. 每週一上午 6 點,cron/scheduler.py 會為同一項技能建立另一個獨立的 AIAgent,並直接呼叫 run_conversation
  3. 兩個物件之後都走相同的上下文組裝與工具執行流程,因此無論由人員或計時器觸發,都能以相同機制產生草稿。

如何連結

「代理執行環境」屬於「執行期」系列。最直接相關的概念包括:「對話狀態」、「對話輪次循環」與「個人作業系統」。

來源證據

  • run_agent.py#run_agent.AIAgentagent_runtime 的已驗證來源目標(targetId)標記。
  • vendor/hermes-agent/run_agent.py:1892-1902#AIAgent._flush_messages_to_session_db — 已驗證的 AIAgent Source Map 證據。AIAgent 以薄轉接方法把系統提示詞建構交給 agent.system_prompt.build_system_prompt、把 API 參數建構交給聊天完成輔助函式,並把串流請求交給 interruptible_streaming_api_call

工作流程

  • 目前尚無第一輪工作流程對應;此概念仍透過文章與來源證據出現在知識庫圖譜中。

相關文章

相關筆記