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 源码为依据。