Hermes Agent 与 Python 的会产生什么样的碰撞

Hermes Agent 与 Python 的碰撞,本质上是一个用 Python 构建的智能体框架,与其"母语"之间形成的深度共生关系。这种碰撞不仅体现在 Hermes 本身用 Python 编写,更在于它从架构底层就为 Python 开发者预留了丰富的嵌入和扩展能力。

🐍 碰撞的核心:将 Hermes 化为一个 Python 库

最直接的碰撞方式,是将 Hermes 作为一个 Python 库直接导入你的代码中,让 AI 能力成为你应用的一部分。

你可以像使用任何 Python 模块一样,直接导入 AIAgent 类并实例化,无需通过命令行界面。

python

复制代码
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 等。实际应用场景非常广泛:

  • 数据处理管道:批量搜索配置文件,提取数据库设置并汇总输出。

  • 多步网络研究:搜索、提取网页内容、过滤和总结,一次性完成。

  • 批量文件重构:找到所有使用废弃 API 的 Python 文件并批量替换。

  • 构建与测试管道:运行测试,解析结果,生成报告。

当 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 协作的"第一语言"。

相关推荐
Dawson Zhu7 小时前
《Agentic Design Patterns》第 9 章导读:学习与适应(Learning and Adaptation)
人工智能·语言模型·架构·aigc·agi
IT研究所7 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
SEO_juper7 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
小易老师AI实战7 小时前
RLHF深度详解(超通俗+原理+工程+对比):大模型对齐的核心基石
人工智能·大模型·sft·rlhf·ppo·人类反馈强化学习·llm 对齐
资深电气设计7 小时前
高压直流母线系统测试是什么?宜迈思液冷直流负载方案技术说明
人工智能
数智工坊7 小时前
视觉SLAM第12讲|地图构建:单目稠密重建、RGB-D点云与八叉树地图全解析
人工智能·深度学习·矩阵·机器人
回眸&啤酒鸭8 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
博图光电8 小时前
Libra 27105相关技术参数
人工智能·数码相机
用户5563525560568 小时前
[避坑] AI工具雷达避坑 | agent-browser的真实问题
ai编程
IT_陈寒8 小时前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端