AI Skill 构建的十个层次:从一句提示词到全自动闭环,你在哪一层?
给大家分享一个我最近深度实践的话题------AI Skill 的构建体系。
做 Agent 开发的朋友一定有感触:写个提示词让 AI 干活儿不难,但让 AI 稳定、安全、可复现地干一整套活儿,那就是另一回事了。从一句自然语言指令到真正跑起来的自动化闭环,中间隔着十层进化。
这十个层次不是拍脑袋分的,而是从实际项目里一步步踩出来的。今天我把每一层的核心思路、关键代码模式和踩坑要点都梳理出来,帮你快速定位自己团队的 Skill 成熟度,也给你一个清晰的升级路线图。
第零层:纯提示词------万物始于一句话
这是最原点。你给 AI 写一段指令,它按指令干活。没有结构,没有约束,全靠模型"悟"。
你是一个数据分析师,请分析以下销售数据并给出建议。
能不能用? 能。稳不稳定? 不一定。同一个提示词跑 10 次,可能给你 10 种格式的输出。
这层的核心问题:不可控、不可复现、不可组合。
但别小看它------所有 Skill 都是从这里长出来的。关键是你要意识到,这不是终点,而是起点。
第一层:结构化组件------给提示词穿上"制服"
到了这一层,你开始用结构化的方式描述 Skill。常见的做法是用 SKILL.md 定义元信息、输入输出规范和执行步骤。
yaml
name: info-extractor
description: 从非结构化文本中提取结构化字段数据
trigger: 用户需要从文本中提取关键信息
inputs:
- raw_text: 原始文本
outputs:
- structured_data: JSON 格式的结构化数据
phases:
- 输入解析
- 字段提取
- 格式化输出
这样做的好处立竿见影:
- 可发现:Skill 有了名字和描述,能被意图识别自动匹配
- 可调用:输入输出有了类型约束,其他 Skill 知道怎么跟你对接
- 可维护:改配置不用改代码,业务变了调参数就行
这层的关键设计原则是单一职责 ------一个组件只做一件事,做好做透。比如 info-extractor 只管提取,不管分析;report-generator 只管生成报告,不管数据来源。
第二层:工作流------让组件串起来干活
单个组件能力有限,真正的业务场景需要多个步骤串联。这一层你开始定义执行流程。
kotlin
输入文本 → info-extractor 提取字段 → data-analyst 分析趋势 → report-generator 生成报告
工作流的核心是顺序和依赖。一个典型的 Skill 工作流定义:
markdown
## 执行流程
1. **信息抽取**:调用 info-extractor,从原始文本提取结构化字段
2. **数据分析**:调用 data-analyst,对结构化数据进行趋势/异常/对比分析
3. **报告生成**:调用 report-generator,将分析结论输出为标准报告
踩坑提示:工作流最大的敌人是数据格式不一致。A 组件输出的 JSON,B 组件读不了。所以这一层你必须定义好 Phase 间的数据传递协议------推荐用结构化 JSON,字段名和类型要对齐。
第三层:编排(Orchestration)------让工作流"活"起来
工作流是写死的步骤序列,编排层则引入了调度器,让每个步骤由独立的 Agent 执行,Phase 之间通过结构化 JSON 传递数据。
这层的关键词是 Phase-Orchestrator。它不是一个 Skill,而是一个调度基础设施:
python
# 伪代码:编排器核心逻辑
class PhaseOrchestrator:
def run(self, phases, initial_data):
data = initial_data
for phase in phases:
agent = spawn_agent(phase.skill, phase.role)
data = agent.execute(phase.instructions, data)
validate(data, phase.output_schema)
return data
编排层和工作流层的本质区别:
| 维度 | 工作流 | 编排 |
|---|---|---|
| 执行方式 | 单 Agent 内顺序执行 | 多 Agent 独立执行 |
| 隔离性 | 共享上下文 | 每个 Phase 角色隔离 |
| 数据传递 | 隐式传递 | 显式 JSON 传递 |
| 容错 | 一错全错 | 单 Phase 可重试 |
为什么必须编排? 因为在复杂任务中,单 Agent 的上下文窗口会爆,角色混淆会出错。编排让每个 Agent 只关注自己的职责,输出明确的 JSON,下游 Agent 拿到确定性的输入,整个链条才稳。
第四层:安全------没有护栏的 AI 就是裸奔
到了编排层,你的 Skill 已经能跑复杂任务了。但等等------它有没有权限越界?有没有数据泄露风险?这就是安全层要解决的问题。
安全层的核心组件是 Security-Guard,它做几件事:
- 权限分级:每个 Skill 声明自己需要哪些权限(读文件?写文件?访问网络?),运行时校验
- 数据范围:限制 Skill 只能访问指定范围的数据,防止越权查询
- 敏感字段:身份证号、手机号等字段必须脱敏后才能输出
- 高危动作:删除、外发、批量写入等操作必须确认
- 审计日志:所有操作留痕,可追溯
yaml
# 安全配置示例
permissions:
- read: ["knowledge_base", "user_profile"]
- write: []
- network: false
sensitive_fields:
- id_card: mask
- phone: mask_last4
dangerous_actions:
- delete_file: confirm_required
- send_email: confirm_required
audit_log: true
一句话:上线前过安全审计,运行中守权限边界,出事后查审计日志。
安全不是可选的,是必须的。每个 Skill 上线前都该跑一遍 security-auditor,输出 D-A 级安全评级。D 级以下不准上线,没得商量。
第五层:评分(Scoring)------用规则引擎打分,让决策有依据
安全层解决了"能不能做"的问题,评分层解决"做得怎么样"的问题。
评分引擎(Scoring-Engine)把业务规则参数化存在 YAML 配置中,对业务对象做多维度加权评分:
yaml
# 客户商机评分规则
dimensions:
- name: 收入规模
weight: 0.3
rules:
- condition: "annual_revenue > 100000000"
score: 90
- condition: "annual_revenue > 50000000"
score: 70
- name: 增长潜力
weight: 0.25
rules:
- condition: "growth_rate > 0.2"
score: 85
- name: 关系深度
weight: 0.2
- name: 竞争态势
weight: 0.15
- name: 技术就绪度
weight: 0.1
评分引擎的架构是标准 4-Phase 编排:
makefile
Phase1: Info-Extractor → 提取业务对象字段
Phase2: Knowledge-RAG → 匹配知识库中的规则
Phase3: Data-Analyst → 计算各维度得分和加权总分
Phase4: Report-Generator → 输出评分报告
关键设计:业务变了改配置,不用改代码。规则和权重全在 YAML 里,业务方自己都能调。
第六层:验证(Validation)------证据链交叉校验,找出真相
评分给出了"看起来怎样",验证要回答"实际上怎样"。
证据链(Evidence-Chain)组件从多个独立来源提取证据,交叉验证,检测冲突,评估置信度:
arduino
来源1:客户投诉说"网络中断3小时"
来源2:告警系统记录"核心交换机down了15分钟"
来源3:SLA日志显示"服务恢复耗时2小时50分"
→ 冲突检测:投诉的3小时 vs 告警的15分钟
→ 置信度评估:SLA日志置信度最高(系统自动记录)
→ 根因推断:核心交换机故障导致级联中断
验证层的核心算法是三步:
- 多源提取:从投诉、告警、日志、工单等 ≥2 个来源提取事实
- 交叉比对:检测矛盾,标记冲突点
- 置信度加权:根据来源可靠性给出置信度评分
没有验证的评分是空中楼阁,有验证的评分才是决策依据。
第七层:审批(Human-in-Loop)------高风险操作,人说了算
AI 可以分析、可以建议,但高风险操作必须经过人工确认。这就是人在回路(Human-in-Loop)层。
python
# 风险等级定义
RISK_LEVELS = {
"L1": "低风险,自动执行", # 如:查询数据
"L2": "中低风险,记录后执行", # 如:生成报告
"L3": "中风险,需确认后执行", # 如:发送群消息
"L4": "高风险,需审批后执行", # 如:修改客户数据
"L5": "极高风险,需双人审批", # 如:删除工单记录
}
审批流程:
- 执行前评估风险等级
- 生成审批单(含风险提示、内容预览、确认选项)
- 人工确认后才执行
- 执行全过程留痕归档
实战中一个典型场景:AI 根据 ArkClaw 分析建议"给江铃集团推荐 5G 专网升级方案",这个动作涉及客户触达,必须走 L3+ 审批。AI 准备好审批单,业务主管一键确认后,执行才真正生效。
第八层:组合(Composition)------乐高式拼装,1+1>2
单个 Skill 能力有限,但组合起来就强大了。组合层的核心思想是:Skill 之间可以嵌套调用,形成更复杂的能力。
一个典型例子是 L3-Dashboard-01 智能数据查询面板,它编排了 5 个 L3 Skill:
markdown
用户一句话
↓
L3-GW-01(网关)→ 意图识别 + 权限校验 + 路由分发
↓
L3-NL-01(NL2Query)→ 自然语言转结构化查询
↓
L3-DB-01(数据执行器)→ 安全执行查询
↓
L3-AG-01(数据聚合器)→ 统计计算 + 同比环比
↓
L3-VZ-01(可视化渲染)→ ECharts 图表输出
组合的设计原则:
- 入口统一:用户只需要跟网关对话,不需要知道后面有几个 Skill 在干活
- 按需调度:不是每个查询都得走全流程,简单查询可以跳过聚合和可视化
- 向下兼容:每个子 Skill 仍然可以独立使用,组合不破坏原子性
再比如 L7 级别的 ArkClaw,它编排了 8 个 Skill 完成一个完整闭环:理解意图 → 多源查询 → 规则评分 → 证据验证 → 根因定位 → 人工确认 → 执行归档 → 可视化输出。这就是组合的力量。
第九层:闭环(Closed-Loop)------让 AI 自己跑起来
所有前九层的能力都有了,最后一层是让整个系统自运行、自进化、自纠错。这就是闭环层。
闭环的核心架构是三层记忆 + 定时巡航 + 自进化:
┌─────────────────────────────────────┐
│ 闭环飞轮 │
│ │
│ 定时巡航 → 智能过滤 → 主动推送 │
│ ↑ ↓ │
│ 经验沉淀 ← 自纠错 ← 执行反馈 │
│ │
│ 三层记忆: │
│ - 语义记忆(知识库) │
│ - 情景记忆(案例库) │
│ - 工作记忆(当前任务) │
└─────────────────────────────────────┘
闭环自进化的关键机制:
- 任务完成时 → 提取经验模式,沉淀到语义记忆
- 操作失败时 → 自纠错并记录,避免再犯
- 被用户纠正时 → 校准认知,更新行为规范
- 发现更优解时 → 更新最佳实践
- 同一模式出现 3 次+ → 自动晋升为永久规范
一个实战案例:AI 在巡航中发现某个政企客户流量异常下降,自动触发 ArkClaw 分析,生成风险预警报告推送给运营经理。运营经理确认后,AI 自动归档这次分析的经验------下次再遇到类似模式,直接匹配已有经验,响应速度从 30 分钟缩短到 3 分钟。
闭环不是终点,而是新的起点。系统在闭环中持续进化,越用越聪明。
全景速查:十层对比一览
| 层级 | 名称 | 核心能力 | 关键组件 | 典型标志 |
|---|---|---|---|---|
| 0 | 纯提示词 | 单指令执行 | 无 | 自然语言指令 |
| 1 | 组件 | 结构化定义 | SKILL.md | 输入输出规范 |
| 2 | 工作流 | 步骤串联 | 多组件串行 | 显式数据传递 |
| 3 | 编排 | 多 Agent 调度 | Phase-Orchestrator | 独立 Agent + JSON 传递 |
| 4 | 安全 | 权限管控 | Security-Guard | 安全评级 + 审计日志 |
| 5 | 评分 | 规则引擎 | Scoring-Engine | YAML 配置 + 加权评分 |
| 6 | 验证 | 证据链 | Evidence-Chain | 多源交叉 + 置信度 |
| 7 | 审批 | 人在回路 | Human-in-Loop | 风险分级 + 人工确认 |
| 8 | 组合 | 乐高拼装 | L3/L7 组合 Skill | 子 Skill 编排 |
| 9 | 闭环 | 自运行自进化 | 自进化 Agent | 三层记忆 + 定时巡航 |
写在最后
回看这十个层次,其实是一条清晰的进化路径:
确定性的增长方向:从不可控到可控,从人工到自动,从单点到闭环。
每个团队不需要一步到位,但你需要知道自己站在哪一层、下一步往哪走。第 0-2 层是基础能力,第 3-5 层是工程化能力,第 6-8 层是体系化能力,第 9 层是终极形态。
如果你正在做 Agent 或 Skill 开发,不妨对照这个分层检视一下------你的 Skill 成熟度在哪一层?你的下一步升级路径是什么?
欢迎在评论区聊聊你在 Skill 构建中踩过的坑、总结的经验,或者对这十层分法的看法。如果觉得有启发,点个赞让更多开发者看到 👍