Skip to content

AIAgent / init_agent

源码版本v2026.7.20

職責

init_agent 是 agent 的「裝配工廠」:把 provider、toolsets、壓縮閾值、自訂 provider extra_body、記憶與學習元件等設定注入到 agent 實例,使其具備執行一輪對話所需的全部依賴。AIAgent 類別本身只是它產物的薄殼。

關鍵檔案

資料流

  1. AIAgent.__init__(run_agent.py:423)把建構參數原樣收集。
  2. 呼叫 init_agent:276,依次:
  3. 裝配完成的 agent 暴露 run_conversation 方法(run_agent.py:6350),轉發到模組級 agent/conversation_loop.py:588
  4. 網關 GatewayRunner(gateway/run.py:3029)持有裝配好的 agent,把入站訊息交給它。

小結

init_agent 是設定→執行時的翻譯層,所有啟動期決策(provider 選擇、壓縮策略、toolsets 開關)都在這裡一次性落定。之後 agent 進入無狀態的「餵訊息→跑迴圈」節奏,不再回頭改設定。

非官方社群學習站,內容以 MIT 授權的 NousResearch/hermes-agent 原始碼為依據。