讲师中心 微信公众号
AI工具推荐 视频效率加速

HermesAgent插件开发:编写你的第一个Tool

陌晨大大_8172

陌晨大大_8172

发布时间:2026-04-28 06:52:19

|

846人浏览过

|

来源于php中文网

原创

要为HermesAgent扩展能力需编写自定义Tool:一、定义继承基类的Tool类,声明name、description和parameters;二、实现call方法处理参数、调用API并返回结构化结果;三、注册Tool到Agent实例;四、编写单元测试验证异常与正常流程;五、将Tool描述注入system prompt以支持LLM调用。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

hermesagent插件开发:编写你的第一个tool

如果您希望为HermesAgent扩展能力,使其能调用外部系统或执行特定任务,则需要编写一个自定义Tool。以下是创建首个Tool的完整流程:

一、定义Tool类结构

Tool必须继承HermesAgent提供的基类,并实现必要接口,以确保框架能正确识别、序列化和调度该工具。类中需声明名称、描述及参数定义,这些信息将用于LLM的工具选择推理。

1、创建Python文件,例如weather_tool.py。

2、导入HermesTool基类与tool装饰器(若使用装饰器模式)或直接继承基类。

3、定义类名,如WeatherQueryTool,并设置name = "get_weather"、description = "根据城市名获取当前天气信息"。

4、在类中声明parameters字典,包含"city"(类型为str)、"unit"(默认"celsius")等字段及其type和description。

二、实现call方法逻辑

该方法是Tool被执行时的实际入口,接收标准化的JSON参数字典,返回可被LLM理解的结构化结果。必须确保异常可捕获且返回友好错误消息,避免中断Agent工作流。

1、在Tool类中定义def call(self, **kwargs) -> dict:方法。

2、从kwargs中提取city值,校验其非空且为字符串类型。

3、构造HTTP请求URL,调用公开天气API(如OpenWeatherMap),携带API key与参数。

4、解析响应JSON,提取temperature、condition、humidity字段。

5、返回字典:{"temperature": 23.5, "condition": "partly cloudy", "humidity": 64}。

三、注册Tool到Agent实例

Tool需显式注册至HermesAgent运行时环境,否则LLM无法感知其存在。注册过程将触发元数据校验与内部索引构建。

1、在初始化Agent对象后,调用agent.register_tool(WeatherQueryTool())。

Hermes Agent
Hermes Agent

将OpenClaw打造为具备种子工作空间规则、技能提升、反思记忆和主动维护的学习循环智能体。

下载

2、确认注册成功日志输出:Registered tool: get_weather。

3、检查agent.list_tools()返回结果中是否包含get_weather条目及其完整描述。

4、若使用YAML配置方式,需在tools.yaml中添加对应块,并指定模块路径与类名。

四、编写单元测试验证行为

测试确保Tool在各种输入条件下返回预期格式与内容,防止因参数缺失、网络失败或类型错误导致Agent崩溃。

1、创建test_weather_tool.py,导入pytest与WeatherQueryTool。

2、编写测试函数test_call_with_valid_city,传入{"city": "Beijing"},断言返回字典含"temperature"键。

3、编写test_call_with_empty_city,验证抛出ValueError时返回{"error": "city cannot be empty"}。

4、使用responses库模拟HTTP响应,隔离外部依赖。

五、集成至Agent提示工程

LLM需通过系统提示词了解Tool功能边界与调用语法。必须将Tool描述注入system prompt的tools section,否则模型不会生成tool_calls。

1、调用agent.get_tool_descriptions()获取标准JSON Schema片段。

2、将该片段嵌入system prompt末尾,格式为{"name": "...", "description": "...", "parameters": {...}}。

3、确保prompt中明确指示:“仅当用户问题明确涉及天气查询时,才调用get_weather工具;否则不调用任何工具。”

4、验证LLM输出token中是否出现{"name": "get_weather", "arguments": "{...}"}结构。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

相关专题

更多
Hermes Agent完整设置指南教程
Hermes Agent完整设置指南教程

此专题为您提供 HermesAgent最新、最全面的设置指南。内容涵盖从一键安装、模型配置(支持阿里云百炼等)到微信、钉钉等全平台接入的完整流程。无论您是新手还是进阶用户,都能在这里找到清晰的步骤说明与常见问题解答,助您快速部署并掌握这款能自我进化的AI代理,轻松开启智能化工作流。

592

2026.04.13

Hermes Agent完整部署教程
Hermes Agent完整部署教程

本专题聚焦开源AI智能体Hermes Agent,提供从入门到精通的完整部署教程。作为会“自我进化”的AI助手,它支持本地及云端私有化部署,具备持久记忆与技能自动沉淀能力。无论你是开发者还是效率追求者,这里都将助你快速搭建专属的“数字伙伴”,实现AI自主执行复杂任务,让工作效率倍增。

454

2026.04.13

HermesAgent下载安装完整教程
HermesAgent下载安装完整教程

本专区为您提供 HermesAgent最全面的安装与部署指南。作为由NousResearch推出的“可成长”AI智能体,Hermes支持Linux、macOS及WSL2环境。我们汇集了从官方推荐的一键脚本安装、手动源码部署,到Docker及云服务器(如腾讯云Lighthouse)搭建的保姆级教程。无论您是新手还是开发者,都能在此找到详细的配置步骤,助您快速拥有这位具备持久记忆与自我进化能力的AI助手。

357

2026.04.13

Hermes Agent使用指南汇总
Hermes Agent使用指南汇总

本专题将带你从零开始,全面掌握Hermes Agent的安装部署、核心配置、技能扩展与生态整合,无论你是想打造专属私人助手,还是探索AI自动化变现路径,这里都有最实用的实战指南。

529

2026.05.06

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

20

2026.10.21

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

0

2026.10.21

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

0

2026.10.21

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

120

2026.10.16

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

80

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Hermes Agent中文文档
Hermes Agent中文文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn