简介:大模型“懂理论却不会干活”是AI落地的核心痛点。本文以「技能(Skills)」为中心,对比提示词工程、RAG、微调与智能体四类能力注入方案在知识形态、确定性、迭代成本、安全边界与适用场景上的核心差异,并给出条件化选型建议与迁移注意事项,帮助开发者与技术负责人判断不同任务该走哪条路径。
大语言模型在知识问答、文本生成、代码编写等任务上展现出强大的“理论能力”,但当企业试图将其引入工厂、医院、办公室等真实业务场景时,普遍会遇到同一个问题:模型更像一位“懂理论的教授”——能背诵规范、能解释流程,却难以稳定地“把活干完”。生成结果格式漂移、操作步骤遗漏、工具调用不当、输出口径不统一,这些细节问题构成了AI落地的“最后一公里”。
2025年下半年起,一个以“技能”(Skills)命名的范式在行业内快速流行:某海外头部AI实验室率先提出并让自研大模型原生支持该能力,随后国内外多家主流厂商与智能体平台陆续跟进,部分平台还上线了“技能商店”类功能,将Skills译作“技能”在国内推广开来。它试图解决的,正是“懂理论不会实操”的痛点:把难以言传的操作诀窍封装成标准化模块,让模型精准调用。
但对技术团队而言,真正的决策问题并不是“要不要用技能”,而是:在提示词工程、检索增强生成(RAG)、微调、智能体框架与技能封装这几条“能力注入”路径之间,当前业务应该选哪条?它们各自解决什么问题、代价是什么、边界在哪里?本文将围绕这些问题展开系统对比。
1. 提示词工程:把业务经验写成提示词,在每次请求时随上下文传给模型。它改变的是“这一次对话的输入”,不改变模型本身,也不引入外部系统。
2. 检索增强生成(RAG):将业务文档、规范、案例等知识放入知识库,检索模块按问题召回相关片段,再交给模型组织答案。它解决的是“知识在模型之外且频繁更新”的问题,本质是让模型“开卷考试”。
3. 微调:用业务数据对模型做进一步训练,把知识和风格“内化”进模型参数。适合沉淀稳定、可复用的表达风格与领域模式,但训练与评估周期较长,效果与特定模型版本强绑定。
4. 智能体:在大模型之上增加规划、记忆、工具调用等运行框架,让模型能拆解任务、循环决策、调用外部接口。它解决“多步骤任务的编排与决策”问题,是行为框架而非知识载体。
5. 技能:把某类任务的步骤、规范、模板、脚本等“操作诀窍”封装成标准化模块(通常是一个包含操作说明、可执行脚本与参考资源的文件包),由模型在任务匹配时按需加载并执行。它解决的是“程序性知识”的复用问题,让经验从“只可意会”变成AI可执行、可版本化、可流通的资产。
需要强调:技能并不与其他方案互斥。一个成熟的企业AI应用,常见形态是“基座模型 + 知识库(陈述性知识)+ 技能包(程序性知识)+ 智能体框架(任务编排)”的分层组合。
尽管实现路径不同,这几种方案在更深层面有明显的共同点:
这是最关键的差异。RAG与提示词主要承载陈述性知识(“是什么”:规范条文、产品资料、历史案例);技能主要承载程序性知识(“怎么做”:步骤、顺序、判断条件、格式要求、异常处理)。微调对两者都有一定吸收能力,但对精确操作步骤的控制力较弱——参数化记忆难以保证“每次都严格按第3步执行”。因此,当业务痛点集中在“步骤错、格式乱、流程漏”时,技能的匹配度天然更高;当痛点是“答案不准、知识过时”时,RAG更对症。
技能包中可以包含可执行脚本:数据清洗、格式校验、报表生成等确定性操作交由代码完成,模型只负责理解意图与编排调用。这把“可意会的经验”变成“可执行的代码”,输出的确定性和可审计性显著优于纯生成路径。提示词与RAG的最终产出仍由模型逐token生成,天然带有概率性;微调改变的是输出分布上的倾向,同样不提供执行保证。这也是技能被视为让AI从“聊天”走向“干活”的关键原因。
提示词方式每次请求都要携带完整经验文本,长提示词带来持续且重复的token开销;技能按需加载——只有任务命中该技能时才注入对应说明,长尾请求不必为此付费。RAG按检索结果注入片段,成本与知识库规模及召回策略相关;微调将知识压入参数,推理时无额外上下文开销,但训练成本前置。对于高频调用且经验文本较长的业务,按需加载的结构性优势会随调用量放大。
技能包含可执行逻辑,意味着新的攻击面:脚本需要在受控环境(沙箱)中运行,权限应最小化,操作需要审计;从外部引入的技能还需要来源审核机制。RAG的关注点是数据隔离与召回权限(不同角色可见的知识范围不同);微调的关注点是训练数据的合规性与输出可控性;提示词的关注点是提示词注入风险;智能体的关注点是工具调用的权限控制。五者的安全建设重点完全不同,不能互相替代。
技能、提示词与RAG的知识以外部文件或数据形态存在,原则上可跨模型、跨平台迁移(前提是目标平台支持兼容的技能规范与脚本运行环境);微调产物与特定模型版本强绑定,基座模型升级时往往需要重新训练。在基座模型快速演进的当下,外置经验的抗变化能力明显更强,这也是把操作经验封装为技能而非全部压进参数的现实理由之一。
智能体提供“决策与编排”(什么时候做什么),技能提供“具体怎么做”(做这件事的标准动作)。没有技能的智能体,每一步都要靠模型即兴发挥,稳定性差且难以审计;没有智能体的技能,只能响应单点任务,无法处理多阶段流程。两者是互补关系而非竞争关系,实际系统往往是“智能体调度、技能执行”的组合。
| 维度 | 提示词工程 | RAG | 微调 | 智能体 | 技能 |
|---|---|---|---|---|---|
| 承载内容 | 临时操作要求 | 陈述性知识 | 风格与领域模式 | 任务编排框架 | 程序性知识 |
| 知识位置 | 请求上下文 | 外部知识库 | 模型参数 | 运行时框架 | 独立技能包 |
| 生效方式 | 每次随请求注入 | 按检索结果注入 | 训练后内化 | 运行时规划调用 | 任务命中时按需加载 |
| 输出确定性 | 低 | 低 | 中 | 中 | 中高(可绑定脚本) |
| 迭代周期 | 分钟级 | 天级 | 周级 | 天级 | 小时至天级 |
| 上下文成本 | 每次重复支付 | 与召回相关 | 推理时低 | 视编排而定 | 按需支付 |
| 版本管理 | 弱 | 中 | 与模型版本强绑定 | 框架管理 | 强(文件包形态) |
| 安全重点 | 提示词注入 | 数据隔离与召回权限 | 训练数据合规 | 工具权限控制 | 脚本沙箱与来源审核 |
| 典型问题 | 临时定制 | “是什么”类问答 | 风格与术语内化 | 多步骤流程 | “怎么做”类任务 |
skills/└── quarterly-report/├── instruction.md # 操作说明:步骤、输出规范、易错点├── build_report.py # 可执行脚本:取数、校验、生成报表└── templates/ # 参考模板:报表样式、字段口径
调度逻辑(伪代码):
def handle(task):skill = registry.match(task) # 1. 任务匹配技能if skill is None:return llm.direct(task) # 兜底:直接生成ctx = skill.load_instruction() # 2. 按需加载操作说明data = sandbox.run(skill.script) if skill.needs_script(task) else None # 3. 受控执行脚本return compose(llm, ctx, data) # 4. 组装最终输出
关键在于:指令、脚本、模板三者配套,操作知识不再依赖口头传承或散落各处的提示词,而是变成可测试、可回归、可分发的独立单元。
回到最初的问题:技能之所以被视为大模型从“懂道理”走向“会干活”的关键一跃,在于它把此前只能“口头传授”的程序性经验,变成了可版本化、可执行、可流通的工程资产,从而缓解了通用AI“懂理论不会实操”的核心痛点。但它与提示词、RAG、微调、智能体并非替代关系:提示词解决临时定制,RAG解决“是什么”,微调解决风格内化,智能体解决编排决策,技能解决“怎么做”。选型的正确姿势不是二选一,而是按知识类型与变化频率做分层组合,并用统一的评测体系持续验证——这才是AI真正跨过落地“最后一公里”的工程路径。