Function Call 和 Agent Skills 的区别
Function Call 解决了“能不能连接外部世界”的问题,而 Agent Skills 解决了“连接得够不够聪明、稳健”的问题。它是将零散的 API 变成了一套可复用的、具备逻辑深度的“职业能力”。
从技术底层来看,Function Call(函数调用) 才是实现功能的“肌肉”,而所谓的 Agent Skills(智能体技能) 更多是上层的“大脑封装”。
简单来说:如果你只是想让 AI 打火做饭,Function Call 够了;但如果你想让 AI 成为一个能根据冰箱剩余食材自动研发新菜谱的厨师,Agent Skills 就显现出价值了。
1. 核心区别:工具 vs. 意图
我们可以用一个简单的比喻来理解两者的关系:
| 维度 | Function Call (函数调用) | Agent Skills (智能体技能) |
| 角色比喻 | 一把多功能瑞士军刀 | 一个经验丰富的手工艺人 |
| 核心本质 | 结构化的输入/输出接口 | 对特定领域任务的理解、规划与处理链路 |
| 关注点 | “我能执行这个命令吗?” | “我该如何组合这些能力来解决你的问题?” |
2. Agent Skills 究竟解决了什么问题?
虽然 Function Call 提供了与外部系统通信的能力,但在处理复杂、模糊或多步骤的任务时,它存在明显的瓶颈。Agent Skills 在此基础上解决了以下三个关键问题:
A. 任务的“黑盒化”封装
在只有 Function Call 的情况下,你需要告诉 AI 每一步该做什么。而 Skill 将多个函数、Prompt 指令、以及处理逻辑封装在了一起。
-
例子: 比如“发送周报”这个技能。它可能包含了“查询数据库”、“生成摘要”、“格式化邮件”、“发送邮件”四个函数。Agent Skills 让用户只需说“发周报”,AI 就能自动按顺序调用这套组合拳,而不需要用户介入中间环节。
B. 上下文感知的决策机制
Function Call 往往是“触发式”的,而 Skills 赋予了 AI 反思和修正的能力。
-
解决的问题: 当一个函数返回错误或空结果时,普通的 Function Call 可能就卡住了。具备 Skill 的 Agent 会根据预设的领域知识(Domain Knowledge)判断:“哦,这个 API 没查到结果,我应该换一个关键词再试一次。”
C. 降低大模型的推理负担 (Reasoning Overhead)
如果你给大模型一次性丢过去 100 个 Function 的描述,它的上下文窗口会被挤满,且非常容易产生“幻觉”,调错参数。
-
解决的问题: Agent Skills 通过分类和模块化,让 AI 只在特定场景下激活特定的技能组。这不仅提高了准确率,还节省了 Token 消耗。
3. 它们是如何协作的?
-
用户输入: “帮我分析一下这周的销售额并同步给经理。”
-
Agent Skill 层(大脑): 识别出这是一个“数据分析与协作”技能。它开始规划:先调用查询函数,再调用图表生成,最后调用通讯工具。
-
Function Call 层(肢体): 按照指令,精准地把
SQL query发给数据库,把JSON发给邮件服务器。
总结
Function Call 解决了“能不能连接外部世界”的问题,而 Agent Skills 解决了“连接得够不够聪明、稳健”的问题。 它是将零散的 API 变成了一套可复用的、具备逻辑深度的“职业能力”。
更多推荐




所有评论(0)