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

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

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

  • 批量文件重构:找到所有使用废弃 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 协作的"第一语言"。

相关推荐
正经教主1 小时前
【FDE系列】阶段2:Day 29:FastAPI 进阶 — Pydantic 模型与完整 CRUD 实战
人工智能·python·fde
gCode Teacher 格码致知1 小时前
Pandas教学-6:coerce详解
python·pandas
梦在远山后1 小时前
Electron 与 FastAPI 如何完成流式 Agent 对话
python·langchain·agent
时速GEO系统1 小时前
初元 AI V1.1 版本升级,首个正式版发布一周・实现生成、部署、上线、优化全流程自动化闭环
人工智能·数据挖掘·node.js
大衛說1 小时前
12 · 文件 I/O 与序列化
python
咕泡科技1 小时前
咕泡科技FDE系列最新产品重磅发布!
人工智能·大模型·ai落地·fde·前沿部署工程师
犀利豆1 小时前
为什么全世界的 AI 都画不好一只骑自行车的鹈鹕
人工智能·llm·aigc
小静AI工程实验室1 小时前
Python 爬虫中文乱码排查:严格解码、UTF-8 BOM 与 JSON 转义的 12 项实验
字符编码·爬虫·python
天天被压力2 小时前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python