skill具体调用

TwoAdmin 2025-10-29 2 10/29

场景:用户说"帮我发一封邮件"

#### 用户输入(自然语言)

"帮我给 test@example.com 发一封邮件,主题是'会议提醒',内容是明天下午3点开会"

#### 智能体 自动发现 Skill(无需用户指定)

系统会自动扫描所有 skills,找到匹配的:

skills_list → 发现 "send-email-go" 
描述匹配: "Send emails via pre-built `send-email` binary"

####  自动加载 Skill 内容

智能体 会自动调用 skill_view(name='send-email-go') 加载完整说明:

markdown
# 加载到的内容
## Binary location
~/.hermes/skills/email/send-email-go/scripts/send-email

## Usage
1. Create a JSON config file
2. Run with env overrides
...

#### 大模型自动执行(用户无感知)

基于 skill 的说明,我会自动完成以下步骤:

python
# 步骤 1: 创建临时配置文件
write_file("/tmp/email_config.json", {
    "host": "smtp.gmail.com",
    "port": "587",
    "from": user_email,
    "to": ["test@example.com"],
    "subject": "会议提醒",
    "body": "明天下午3点开会",
    "is_html": false
})

# 步骤 2: 调用二进制文件
terminal(
    'SMTP_PASS=<从配置读取> ~/.hermes/skills/email/send-email-go/scripts/send-email /tmp/email_config.json'
)

#### 用户看到的只是结果

邮件已发送到 test@example.com


完整自动调用流程图

用户自然语言请求
    ↓
Hermes 扫描 skills_list
    ↓
匹配到 "send-email-go"(描述包含 "send emails")
    ↓
自动 skill_view(name='send-email-go') 加载说明
    ↓
大模型阅读 SKILL.md 了解:
  - 二进制位置
  - 配置格式
  - 环境变量覆盖
  - 常见陷阱(Gmail 需要 app password)
    ↓
自动生成 JSON 配置 + 调用命令
    ↓
执行 terminal() 发送邮件
    ↓
返回结果给用户

关键优势

 

特性 说明
零配置 用户不需要知道命令、参数、路径
自动发现 系统根据描述自动匹配最合适的 skill
包含最佳实践 Skill 中内置了 pitfalls(如 Gmail 需要应用密码)
可复用 一次编写,所有会话自动使用

 


 

对比:有 Skill vs 无 Skill

 

场景 无 Skill 有 Skill
用户说"发邮件" ❌ 需要问用户用什么工具、SMTP 配置 ✅ 自动调用预配置的工具
大模型需要知道 自己摸索或搜索文档 直接读取 SKILL.md
错误处理 可能遇到未知错误 Skill 已记录常见陷阱

 


 

📝 你的 send-email-go Skill 实际工作示例

当用户说:

"给老板发个邮件,说项目延期了"

我会自动:

  1. 加载 send-email-go skill
  2. 读取其中的 SMTP 配置模式
  3. 询问用户发件人信息(如果是第一次)
  4. 自动生成 JSON 并调用二进制
  5. 返回发送结果

用户全程只需要说自然语言,不需要知道任何技术细节。

 

这就是 Skills 的核心价值:把复杂工具的使用流程封装起来,让大模型能自动、正确地调用。

- THE END -
Tag:

TwoAdmin

5月26日15:06

最后修改:2026年5月26日
0

非特殊说明,本博所有文章均为博主原创。