Agent Skills 从入门到工程化(二):Skill、Tool、Function、Workflow、Agent 有什么区别?

Agent Skills 从入门到工程化(二):Skill、Tool、Function、Workflow、Agent 有什么区别?
学习 Agent 开发时最容易混淆的几个词就是 Function、Tool、Skill、Workflow 和 Agent。它们都和“让模型做事”有关但抽象层次不同。如果这些概念没分清后面学习工具调用、多 Agent、MCP、RAG Agent 时就容易把所有东西都叫成“工具”。这篇文章先把它们拆开。一句话区分可以先用一句话理解概念侧重点典型例子Function代码层的普通函数search_api(query)Tool暴露给模型调用的接口web_search工具Skill面向任务封装的能力搜索资料并返回摘要和来源Workflow固定步骤流程搜索 → 阅读 → 总结Agent动态决策执行者判断是否搜索、查库、读文件更简单地说Function 更偏代码Tool 更偏调用Skill 更偏能力Workflow 更偏流程Agent 更偏决策。Function代码里的普通函数Function 是程序员写的普通函数只要代码能调用就行。它不一定有自然语言描述也不一定有参数 schema更不一定适合直接交给大模型调用。defsearch_api(query:str):...这个函数能执行搜索但模型并不知道它什么时候该用、参数怎么填、返回结果如何理解。Tool模型可调用的接口Tool 是把函数或 API 暴露给模型调用后的形式。它通常包含名称、描述和参数结构。{name:web_search,description:Search the web for recent information.,parameters:{query:string}}Tool 的重点是“模型能不能调用”。它解决的是调用接口问题。Skill面向任务的能力封装Skill 比 Tool 更强调任务语义和工程边界。一个搜索 Tool 可能只是search(query)而搜索 Skill 应该说明什么时候搜索、搜什么、返回几条、是否需要来源、没有结果怎么办。所以 Skill 不只是函数包装而是包含任务边界、输入输出、异常处理、限制条件和评估指标的能力模块。Workflow多个步骤的固定流程Workflow 是预先定义好的步骤。比如上传文件 → 解析文件 → 提取正文 → 生成摘要 → 输出 MarkdownWorkflow 的优势是稳定、可控、可测试缺点是灵活性弱。标准化任务更适合 Workflow而不是完全交给 Agent 自由发挥。Agent动态选择能力的决策层Agent 负责理解用户意图并根据当前任务选择合适的 Tool、Skill 或 Workflow。例如用户问“帮我分析这份表格并给建议”Agent 可能会判断需要读取文件、解析表格、计算指标、生成建议。具体调用哪些 Skills不是固定写死的而是根据任务动态决定。实际系统里的组合关系真实系统通常不是二选一而是组合使用用户请求 ↓ Agent 判断任务 ↓ Skill Router 筛选候选 Skills ↓ Skill 调用底层 Tools / Functions ↓ 必要时执行 Workflow也就是说Function、Tool、Skill、Workflow、Agent 可以分层协作而不是互相替代。面试中怎么回答可以这样回答Function 是代码层普通函数Tool 是暴露给模型调用的接口Skill 是面向任务封装的能力单元会包含名称、描述、输入输出、异常处理和调用边界Workflow 是多个步骤组成的固定流程Agent 是根据用户任务动态选择和编排这些能力的决策层。简单说Tool 解决“模型能调用什么”Skill 解决“这个能力怎么稳定完成任务”Workflow 解决“固定流程怎么执行”Agent 解决“当前任务下一步该做什么”。小结这篇文章的核心是Skill、Tool、Function、Workflow、Agent 有什么区别不是一个孤立概念而是 Agent 工程化中必须讲清楚、设计清楚、验证清楚的一部分。下一篇继续讨论一个 Skill 应该包含哪些基本部分。