Hermes Agent 与 Python 的碰撞,本质上是一个用 Python 构建的智能体框架,与其“母语”之间形成的深度共生关系。这种碰撞不仅体现在 Hermes 本身用 Python 编写,更在于它从架构底层就为 Python 开发者预留了丰富的嵌入和扩展能力。
·碰撞的核心:将 Hermes 化为一个 Python 库
最直接的碰撞方式,是将 Hermes 作为一个 Python 库直接导入你的代码中,让 AI 能力成为你应用的一部分。
你可以像使用任何 Python 模块一样,直接导入 AIAgent 类并实例化,无需通过命令行界面。
from run_agent import AIAgent agent = AIAgent( model="anthropic/claude-sonnet-4", quiet_mode=True, # 关键:嵌入时静默运行,避免干扰你的程序输出 ) response = agent.chat("用一句话解释 Python 的 GIL") print(response)
chat() 方法会在内部处理完整的对话循环——包括工具调用、重试等所有复杂逻辑——最终只返回文本结果。这种方式非常适合将 AI 能力快速嵌入到脚本、Web 应用或自动化流水线中。
如果需要更精细的控制,可以使用 run_conversation() 方法,它会返回包含完整响应、消息历史和元数据的字典,让你能够跟踪每一次工具调用和对话轮次。
· 碰撞的利器:execute_code 让 Agent 自己写 Python
Hermes 最独特的 Python 碰撞能力,是它的 execute_code 工具(程序化工具调用)。它允许 Agent 自己编写 Python 脚本来调用 Hermes 的工具,从而将多步骤工作流压缩到单次 LLM 对话轮次中完成。
工作原理是:Agent 写一个 Python 脚本,脚本运行在子进程中,通过 Unix 域套接字 RPC 与 Hermes 通信。关键优势在于——只有脚本的 print() 输出会返回给 LLM,中间的工具调用结果永远不会进入上下文窗口,这能极大降低 Token 消耗。
Agent 可以在脚本中使用的工具包括 web_search、read_file、write_file、patch、terminal 等。实际应用场景非常广泛:
当 Agent 遇到3 个以上工具调用且中间有处理逻辑,或者需要循环遍历结果、条件分支时,它会自动使用这个能力。
· 碰撞的延伸:用 Python 为 Hermes 创造新能力
Hermes 的插件系统允许你在不修改核心代码的情况下,用 Python 添加自定义工具和集成。
创建自定义工具的流程很直接:在 ~/.hermes/plugins/ 下创建一个目录,放入 plugin.yaml 和你的 Python 代码即可。你需要编写工具模式(schemas.py)——这是 LLM 用来判断何时调用你工具的“说明书”——以及工具处理器(tools.py),即实际执行的 Python 函数。
更强大的是,通过 hermes-acp-sdk,你可以将自己的 Python 函数直接交给 Agent 作为工具使用。这些函数运行在你自己的进程中,能够完全访问你应用的状态。SDK 还提供了默认拒绝(Deny-by-default) 的安全模型:权限默认被拒绝,文件系统和终端默认关闭,直到你明确选择开启。同时,Agent 生成的命令永远不会继承你的环境变量,有效防止了 API 密钥等敏感信息的泄漏。
· 碰撞的根基:Python 构建的智能体架构
Hermes Agent 本身就是基于 Python 构建的开源框架,这为开发者提供了从源码层面理解和二次开发的可能。
其核心架构中,AIAgent 类是核心编排引擎,所有 Agent 会话都经过这个类——无论是从 CLI、消息网关、批处理还是强化学习环境发起的。源码结构中,src/core/ 目录下包含推理引擎(engine.py)、记忆系统(memory/)、技能引擎(skills/) 和学习循环(learning/) 等核心模块。
对于希望深度定制的开发者,二次开发的切入点包括:添加新工具(tools/ 目录,难度简单)、自定义记忆存储(core/memory/,中等难度)、修改学习策略(core/learning/,较难)等。
· 总结
Hermes Agent 与 Python 的碰撞是多层次的:最轻量的方式是将它作为库嵌入你的代码,最强大的方式是利用 execute_code 让 Agent 自己编写 Python 脚本来完成复杂工作流,最深入的方式是通过插件和 SDK 用 Python 为它创造新能力,最底层的方式则是直接参与这个 Python 框架的源码开发和贡献。无论你选择哪一种,Python 都是与 Hermes 协作的“第一语言”。
以上就是Hermes Agent 和Python能产生什么样的碰撞?的详细内容,更多信息请关注OD云其它相关文章!

喜 欢 26