Skill:为什么 Agent 可以拥有专业技能?

📅 2026/7/19 4:57:40
Skill:为什么 Agent 可以拥有专业技能?
从知识到技能举个生活中的例子假设有两个人第一位刚刚考过驾照。他知道红灯停车绿灯通行如何倒车如何并线。这些都是知识。第二位是一位开了十年的出租车司机。面对复杂路况他却知道什么时候提前变道什么时候绕开拥堵什么时候选择另一条路线。这些就是技能。可以发现技能并不是简单地拥有更多知识而是知道如何综合运用这些知识去完成目标。对于 AI 来说也是一样。LLM 拥有大量知识。但是,如何完成 Java Code Review如何分析数据库性能如何完成需求拆解这些并不是模型天然就会的。它们需要被组织起来。14.2 Skill 到底是什么很多文章把 Skill 理解成一个 Prompt。这是早期 Agent 框架的做法。例如你是一位 Java 专家……请按照以下格式回答……然后保存起来,以后重复使用。这就是早期所谓的 Skill。但是今天来看这种定义已经过时了。在最新的现代 Agent 中一个 Skill 通常包含Skill├── Role角色├── Prompt提示词├── Tool工具├── Workflow执行流程├── Memory知识└── Output输出规范也就是说Skill 成为了一种完成特定任务的能力封装而不是一段提示词。14.3 为什么需要 Skill来看一个例子。用户输入帮我 Review 这段 Java 代码。如果没有 Skill。模型只能根据当前 Prompt 回答。而Java Review Skill则可能会自动完成读取代码↓分析代码规范↓检查空指针↓检查 SQL↓检查事务↓检查异常处理↓生成 Review 报告用户看到的还是一句话。但是Agent 已经调用了一整套能力。14.4 Skill 与 Tool 有什么区别这是很多同学也容易混淆的问题。Tool回答的是我能做什么例如查询数据库执行 Python打开浏览器。Skill回答的是为了完成某件事情我应该怎么做例如Code Review。它可能需要Git ToolFile ToolSearch ToolTerminal Tool多个 Tool。因此Skill不是 Tool。而是Tool 的组织者。14.5 Skill 与 Workflow 又有什么区别Workflow强调流程。例如审批-报销-通知每一步都提前定义。Skill则强调能力。例如,SQL 优化、代码开发、需求分析。很多步骤其实需要模型自己决定。因此Workflow解决的是流程固定问题。Skill则解决的是专业能力复用问题。14.6 Skill 为什么越来越重要随着 Tool 数量越来越多一个新的问题出现了。假设一个Agent 拥有300个tool那么,模型的每一次推理。是不是都要阅读 300 个 Tool Description(工具说明)答案当然是:不是。因为如果这样,Prompt 会越来越长。推理就会越来越慢。准确率则会越来越低。于是,现代 Agent 开始采用Skill 作为能力入口。例如Java Skill。里面再包含几十个 Tool。模型不用知道全部 Tool。只需要知道有Java Skill。14.7 新一代 Skill渐进式披露Progressive Disclosure这是近期 Skill 设计最大的变化。早期 Agent 的做法是启动时,把所有 Prompt,所有 Tool全部发送给模型。例如Prompt300 个 Tool全部说明↓LLM这样虽然简单但有三个明显问题第一上下文窗口被大量占用。很多 Token 都花在了工具说明上而不是用户真正的问题。第二模型选择工具的难度越来越高。当几十甚至上百个工具同时出现时模型容易误选推理成本也随之增加。第三新增一个 Skill就需要修改总 Prompt。系统规模越大维护越困难。因此新一代 Agent 普遍采用了渐进式披露Progressive Disclosure。它的思想非常简单第一次只告诉模型有哪些能力真正需要时再展开具体细节。例如最开始模型看到的只是可用 SkillJava 开发Python 数据分析数据库运维文档写作如果模型判断当前任务属于 Java 开发。Runtime 才会继续加载Java Skill↓Prompt↓Workflow↓Tool List↓Memory最后才开始真正执行。整个过程如下用户请求↓LLM 判断需要哪个 Skill↓加载该 Skill↓继续推理↓如果需要 Tool↓继续加载 Tool 描述↓执行 Tool↓继续推理请注意这里有一个关键思想不是所有能力都需要提前暴露给模型而是在需要的时候逐步揭示。这就是所谓的渐进式披露。