当前位置: 首页 > news >正文

AI Agent—Tools Skill

目录

二、Tool 与 Skill 的关联(四层关系)

1. Function Calling 层:模型指挥,工具执行

2. 标准化封装层:Skill 是 Tool 的“说明书 + 编排”

3. 安全沙箱层:Skill 在围栏内,Tool 受权限约束

4. 架构分层:业务 Skill 编排通用 Tool

三、Skill 总结

定义

核心特征

与 Tool 的关系(总图)

一句话总结

四、skill模板

1、Skill 目录结构模板

2、SKILL.md 结构模板

3、编写 Skill 的检查清单

五、Skill案列—基金当前状态分析

场景

目录结构

SKILL.md(完整案例)

输出模板


一、Tool 与 Skill 的本质区别

维度Tool(工具)Skill(技能)

定义

工具和接口,是可调用的功能

技能和能力,是能完成某件事的整套流程

粒度

原子能力(单个函数/API)

编排后的能力(多步流程)

类比

插头、模块、API

流程图、SOP、作业手册

职责

执行具体动作

判断意图、选工具、组织步骤、产出结果

一句话:Tool 回答“能做什么”,Skill 回答“遇到这类问题该怎么做”。


二、Tool 与 Skill 的关联(四层关系)

1. Function Calling 层:模型指挥,工具执行

用户提问 → 模型判断 → 生成调用指令 → 外部工具执行 → 结果回传 → 模型继续推理

  • 模型:指挥家,负责意图识别、选工具、组参数、整合答案
  • Tool:专家,负责查数据、算结果、跑脚本等“重活”
  • Skill:模型把上述闭环固化成可复用的流程能力

以“查深圳天气”为例:

步骤角色内容

1

用户

“今天深圳天气怎么样?”

2

Skill/模型

决定调用get_weather(city="深圳")

3

Tool

返回{"天气":"晴","气温":"28°C"}

4

Skill/模型

生成自然语言回答

Skill = 会选工具 + 会填参数 + 会解释结果;Tool = 真正拿到数据的函数。


2. 标准化封装层:Skill 是 Tool 的“说明书 + 编排”

Anthropic Agent Skills 的思路是:把 Tool 封装进标准化的SKILL.md

一个 Skill 通常包含:

组成部分作用

触发条件

何时启用(关键词、场景、问题类型)

执行步骤

先做什么、再做什么(解析 → 调用 → 处理 → 输出)

代码/脚本

底层 Tool 的具体实现

Tool(代码) ──封装──▶ Skill(SKILL.md)

↑ ↑

实现能力 调用逻辑 + 触发条件 + 执行步骤

价值:模块化、跨场景复用、降低 Agent 系统维护成本。


3. 安全沙箱层:Skill 在围栏内,Tool 受权限约束

┌─────────────────────────────────────┐

│ 主机系统 │

│ ┌─ Agent 执行区(Skill 运行) ─┐ │

│ │ 代码执行、流程编排 │ │

│ └──────────┬──────────────────┘ │

│ │ 白名单放行 │

│ 文件系统 / 数据库 / 外部网络(Tool) │

└─────────────────────────────────────┘

  • Skill:在隔离区内按流程执行
  • Tool:对外部资源的访问入口
  • 沙箱:用最小权限、资源上限、可观测与急停,保证 Skill 调用 Tool 时安全、稳定、可溯

4. 架构分层:业务 Skill 编排通用 Tool

以“缺陷分析 Skill 架构”为例:

Channel 层(业务 Skill)

desktop / recents / animation / performance / stability

Router Agent 层(路由代理)

defect-analysis-router:定义必要流程、解耦业务与底层

Common 层(通用 Tool/能力)

log-timestamp-location / 知识库检索 / 日志预处理 ...

层级角色示例

Channel Skill

面向业务的分析能力

流畅性分析、稳定性分析

Router

流程编排与路由

决定调用哪些通用能力、顺序如何

Common Tool

可复用的底层能力

日志定位、预处理、检索

业务 Skill 不直接绑死底层 Tool 名称,通过 Router 解耦,便于扩展和维护。


三、Skill 总结

定义

Skill 是一种标准化的、可复用的 Agent 能力单元,把“何时用、怎么用、按什么顺序做、如何输出”写清楚,并在安全边界内编排一个或多个 Tool 完成特定任务。

核心特征

  1. 流程性:不是单次函数调用,而是一套完整步骤
  2. 触发性:有明确的启用时机(关键词、场景、问题类型)
  3. 编排性:会选择、组合、串联多个 Tool
  4. 标准化:常用SKILL.md等形式,便于模块化与复用
  5. 安全可控:在沙箱内运行,遵循最小权限与可观测
  6. 分层解耦:业务 Skill 在上,通用 Tool 在下,Router 在中间

与 Tool 的关系(总图)

一句话总结

Tool 是 Agent 的“手和眼”(可调用的原子能力);Skill 是 Agent 的“脑和手顺”(知道什么问题该启动、按什么步骤调用哪些 Tool、如何安全地完成并交付结果)。
没有 Tool,Skill 无法触达真实世界;没有 Skill,Tool 只是零散接口,无法稳定、可复用地解决复杂任务。

四、skill模板

1、Skill 目录结构模板

skill-name/
├── SKILL.md # 必需 — 主流程与触发条件
├── reference.md # 可选 — 详细规范、关键词表
├── examples.md # 可选 — 输入/输出样例
└── scripts/ # 可选 — 底层 Tool 脚本
├── analyze.py
└── validate.sh

存放位置:参考cursor

类型路径作用域

个人 Skill

~/.cursor/skills/skill-name/

所有项目可用

项目 Skill

.cursor/skills/skill-name/

当前仓库共享

不要写入~/.cursor/skills-cursor/,该目录为 Cursor 内置 Skill 专用。

2、SKILL.md 结构模板

---
name: your-skill-name
description: >
[WHAT] 本 Skill 做什么(能力描述)。
[WHEN] 何时启用(关键词、场景、问题类型)。
建议第三人称,包含触发词,便于 Agent 自动发现。
disable-model-invocation: true
---

# Skill 名称

## 核心定位

- **输入**:……
- **输出**:……
- **约束**:安全边界、目录规范、禁止事项
- **Tool 依赖**:本 Skill 会调用的工具/脚本/MCP

## 激活条件(Trigger)

当用户指令包含以下任一情况时启用:
- "关键词 A"
- "关键词 B"
- 问题类型 = xxx

## 工作流程(Workflow)

按顺序执行,不可跳步:

### 步骤 1:信息收集
- 读取 xxx
- 若缺失 → 走分支 A;否则 → 步骤 2

### 步骤 2:Tool 调用
- 调用 `scripts/analyze.py` 或 MCP Tool
- 记录原始结果

### 步骤 3:结果整合
- 按输出模板生成结论
- 写入 `output/result.md`

## 条件分支(Conditional)

| 条件 | 动作 |
|------|------|
| 日志缺失 | 输出「审核不通过」,列缺失项 |
| 非本域问题 | 转派至 xxx Skill |
| 重复单 | 引用历史结论 |

## 输出模板(Output Template)

```markdown


# [标题]

## 结论
- 推荐操作:
- 核心原因:

## 详细分析
……

3、编写 Skill 的检查清单

  • name:小写 + 连字符,≤ 64 字符
  • description:含 WHAT + WHEN + 触发词,第三人称
  • 工作流程:步骤清晰,有分支与终止条件
  • Tool 依赖:脚本路径、参数、何时执行写清楚
  • 输出模板:固定格式,便于下游 Skill 消费
  • 示例:至少 1 组完整输入 → Tool 结果 → 最终输出
  • SKILL.md 正文 < 500 行,细节放reference.md
  • 路径用/,不用\

五、Skill案列基金当前状态分析

场景

用户问:「帮我看看易方达蓝筹精选这只基金现在怎么样?」

Agent 不应只凭训练数据猜,而应通过 Skill 规定:先取数 → 再算指标 → 再按模板出结论。


目录结构

fund-status-analysis/

├── SKILL.md

├── reference.md # 指标口径、风险等级定义

├── examples.md # 更多输入输出样例

└── scripts/

├── fetch_fund_data.py # Tool:拉取基金数据

└── calc_indicators.py # Tool:计算涨跌幅、波动等


SKILL.md(完整案例)

---

name: fund-status-analysis

description: >

分析单只或多只基金的当前状态,包括净值、涨跌幅、阶段收益、

最大回撤、风险等级与简要投资建议。

当用户询问基金怎么样、基金现状、净值分析、持仓诊断、

或提到具体基金名称/代码时使用。

---

# 基金当前状态分析 (Fund Status Analysis)

## 核心定位

- **输入**:基金名称或代码(如 `005827`)、可选对比基准(如沪深300)

- **输出**:`output/fund_status_report.md`

- **Tool 依赖**:

- `scripts/fetch_fund_data.py` — 获取净值、规模、经理等基础数据

- `scripts/calc_indicators.py` — 计算阶段收益、回撤、波动率

- Shell — 格式化与校验

- **约束**:

- 数据以 Tool 返回为准,不得编造净值

- 结论须标注数据日期

- 仅作信息分析,不构成投资建议(免责声明必写)

## 激活条件

- 「这只基金现在怎么样?」

- 「帮我分析一下 xxx 基金」

- 「005827 当前状态」

- 「对比这几只基金的表现」

## 工作流程

### 步骤 1:解析用户意图

提取:

- 基金代码/名称(必填)

- 分析维度(默认:近1周/1月/3月/1年 + 最大回撤)

- 对比对象(可选,默认无)

若未提供基金代码:

1. 先按名称模糊匹配

2. 若匹配到多只 → 列出候选,请用户确认

3. 若 0 匹配 → 终止,reason = `未找到对应基金`

### 步骤 2:调用 Tool 获取数据

```bash

python scripts/fetch_fund_data.py \

--code 005827 \

--fields nav,scale,manager,industry \

> output/fund_raw.json

检查:

  • 若 API/数据源失败 → 重试 1 次
  • 仍失败 → 输出「数据暂不可用」,不生成分析结论

步骤 3:调用 Tool 计算指标

python scripts/calc_indicators.py \

--input output/fund_raw.json \

--periods 7d,30d,90d,365d \

> output/fund_metrics.json

计算项:

  • 各阶段涨跌幅
  • 近1年最大回撤
  • 近90日波动率(可选)
  • 同类排名(若数据源支持)

步骤 4:生成状态判断

按规则映射「当前状态标签」:

条件状态标签

近1月 > 0 且回撤 < 10%

偏强

近1月 < -5% 或回撤 > 15%

偏弱

其余

震荡

风险等级:

  • 回撤 ≤ 10% → 中低
  • 10% < 回撤 ≤ 20% → 中
  • 回撤 > 20% → 偏高

步骤 5:输出报告

写入output/fund_status_report.md,严格使用输出模板。

输出模板

# {基金名称}({基金代码})当前状态分析

> 数据日期:{data_date}

> 免责声明:以下内容基于公开数据整理,仅供参考,不构成投资建议。

## 一、核心结论

- **当前状态**:{偏强/震荡/偏弱}

- **最新净值**:{nav}({nav_date})

- **近1月涨跌**:{pct_30d}

- **近1年最大回撤**:{max_drawdown}

- **风险等级**:{risk_level}

## 二、关键指标

| 指标 | 数值 |

|------|------|

| 近1周 | {pct_7d} |

| 近1月 | {pct_30d} |

| 近3月 | {pct_90d} |

| 近1年 | {pct_365d} |

| 基金规模 | {scale} |

| 基金经理 | {manager} |

## 三、简要解读

{2~4 句自然语言解读:表现、波动、适合人群}

## 四、关注点

- {关注点1}

- {关注点2}

## 五、下一步建议(非投资建议)

- 若需深度分析:可补充「持仓行业分布」「与基准对比」

- 若需对比:可提供其他基金代码进行横向比较

http://www.jsqmd.com/news/1020803/

相关文章:

  • 终极指南:如何免费解锁9大网盘高速下载,告别限速烦恼
  • 2026年LCM液晶模组厂家推荐榜单:汽车仪表盘显示屏/7寸TFT模组/COB模组/车载CID屏/工业级与128*64模组实力之选 - 品牌发掘
  • 埃夫特机器人实战指南:核心技术解析、选型集成与维护全流程
  • 多业态后勤管理系统架构设计:从收费到巡检的模块化落地实践
  • 主力出货的五个致命陷阱:看懂这些,散户胜率翻倍
  • Amazon数据采集实战:Playwright动态渲染与反爬对抗指南
  • 零代码搭建物联网仪表盘:在5分钟内实现手机远程监控
  • Linux虚拟机数据科学内存瓶颈与swap实战调优
  • 2026酒店除甲醛哪家靠谱?绿阳值得看 - 广州矩阵架构科技公司
  • 告别臃肿与隐私困扰:Win11Debloat让你重新掌控Windows系统
  • 重庆继往开来再生资源回收:全链技术合规与服务推荐(2026) - 优质品牌商家
  • 2026年当下圆盘耙制造厂怎么选?把握三大趋势,锁定长期价值伙伴 - 品牌鉴赏官2026
  • 工作常用命令
  • 系统调用深度解析:从原理到实践,掌握程序与内核通信的核心机制
  • 谷歌 GEO 是什么?出海营销从业者可了解的流量新方向
  • 如何用开源工具快速找回遗忘的压缩包密码:终极指南
  • 【水果分级】基于matlab图像处理技术自动水果质量检测与分级(香蕉 苹果 橙子)【含Matlab源码 15628期】
  • Box64:让ARM设备运行x86程序的架构桥梁
  • 如何快速部署Windows运行库:运维人员的终极解决方案
  • Matlab 2024 完整部署指南:从安装到容器化与网络授权实战
  • 终极指南:3分钟为Windows 11 LTSC系统恢复微软应用商店
  • 电脑变Wi-Fi热点:Windows/macOS系统原生功能与命令行创建全攻略
  • 2026年四川轻型塑料模板行业深度分析:从工艺到服务的综合评测! - 优质品牌商家
  • 2026年实测!成都国标球墨铸铁管公司哪家强?从技术到交付的全面行业解析! - 优质品牌商家
  • 半导体物理核心:从能带理论到PN结与MOS器件深度解析
  • Visual Assist X:大型C++项目开发必备的VS生产力插件深度解析
  • 2025成都防腐木古建筑厂家地址与选择指南:本地化服务与工程能力深度解析 - 优质品牌商家
  • 别再让414错误卡住你的API!手把手教你调整Nginx/Apache的URI长度限制
  • RK3566嵌入式芯片深度解析:架构、AI能力与开发实战
  • GT-POWER四缸汽油机一维仿真建模:从零搭建到性能分析实战