Skill vs Agent vs Model:三者关系一张图看懂
积木、建造者、大脑的关系
Skill vs Agent vs Model:三者关系一张图看懂
积木、建造者、大脑的关系
厘清 AI 里 Model / Agent / Skill 的区别与关系:模型是底座能力、Agent 是能自主决策调用工具的系统、Skill 是可复用能力单元,附对比表与实例。
在 AI 开发中,Model(模型)、Agent(智能体)、Skill(技能)是三个常被混淆但本质不同的概念。它们构成了从底层能力到上层应用的递进关系:模型是底座,技能是工具,Agent 是调度者。理解这三者的区别与组合方式,是构建可靠 AI 系统的关键。
核心定义
关系图(文字版)
┌─────────────────────────────────────────────┐
│ Agent │
│ (感知 → 规划 → 调用技能 → 执行 → 反馈) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Model │ │ Skill 1 │ │ Skill 2 │ │
│ │ (推理核) │ │ (搜索) │ │ (计算) │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ Skill 3 │ │ Skill 4 │ │
│ │ (数据库) │ │ (邮件) │ │
│ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────┘
对比表
真实例子:一个客服 Agent 的组成
假设你要构建一个客服 Agent,处理用户退款请求:
search_order(order_id):查询订单数据库
- calculate_refund(amount, policy):计算退款金额
- send_email(to, subject, body):发送确认邮件
- check_policy(policy_id):查询退款政策
search_order(12345) 获取订单信息
- 调用 check_policy("refund") 获取政策
- 调用 calculate_refund(99.99, policy) 计算金额
- 调用 send_email(user@example.com, "退款确认", "...")
- 返回结果给用户如何组合三者
在实际开发中,组合方式遵循“模型为核心、技能为扩展、Agent 为调度”的原则:
python
def search_web(query: str) -> list[dict]:
"""搜索互联网并返回结果列表"""
# 实际调用搜索 API
return results
python
class CustomerServiceAgent:
def __init__(self, model, skills):
self.model = model
self.skills = {s.name: s for s in skills}
def run(self, user_input):
messages = [{"role": "user", "content": user_input}]
while True:
# 1. 模型决定下一步
response = self.model.chat(messages, tools=list(self.skills.values()))
if response.finish_reason == "stop":
return response.content
# 2. 执行技能
tool_call = response.tool_calls[0]
skill = self.skills[tool_call.function.name]
result = skill(**tool_call.function.arguments)
# 3. 反馈结果
messages.append({"role": "tool", "content": str(result)})
常见坑与最佳实践
max_iterations 和明确的终止逻辑。总结关系
三者缺一不可:没有 Model,Agent 无法推理;没有 Skill,Agent 只能空谈;没有 Agent,Model 和 Skill 只是孤立的组件。
FAQ
Q1:Agent 必须使用多个模型吗? A:不一定。一个 Agent 可以只使用一个模型作为推理核心,但也可以根据任务切换模型(如复杂推理用 GPT-4,简单任务用轻量模型)。多模型策略通常用于成本优化或能力互补。
Q2:Skill 和 Function Calling 是什么关系? A:Function Calling 是 OpenAI 等模型提供的一种 API 机制,允许模型输出结构化函数调用请求。Skill 是更上层的概念,Function Calling 是实现 Skill 调用的一种具体方式。其他实现方式包括 ReAct 模式、Toolformer 等。
Q3:如何决定哪些功能应该封装为 Skill? A:遵循“原子性”和“复用性”原则:每个 Skill 只做一件事(如搜索、计算、发邮件),且该功能可能被多个 Agent 或多次调用。避免将整个业务流程封装为一个 Skill。
Q4:Agent 和 RAG(检索增强生成)有什么区别? A:RAG 是一种特定模式:检索文档 → 生成回答。Agent 是更通用的框架,可以包含 RAG 作为其中一个 Skill。Agent 能主动决定何时检索、检索什么、如何组合结果,而 RAG 通常是固定流程。
Q5:Skill 可以调用其他 Skill 吗? A:理论上可以,但实践中建议由 Agent 统一调度,避免技能间产生循环依赖。如果必须嵌套,应确保调用链深度有限,并记录调用日志以便调试。
*最后更新:2026 年 7 月。请以各工具官方文档为准。*
相关工具
相关教程
从概念到实践,全面解析 Anthropic Skill 开放标准与 MCP 协议如何构建可复用的 Agent 能力
对比上下文工程、RAG、记忆框架的优劣,并介绍记忆工程的最新实践
从模型驱动到数据与语义驱动,构建企业 AI 落地的核心基础设施
从工具到同事——AI Agent 如何重塑每个人的工作方式
梳理世界模型(WAM、WVM、LoopWM)与具身智能(VLA、Skill)的最新进展,以及如何评估和落地
从 GeneBench-Pro 到 CJS 框架,系统梳理模型评测基准、安全攻击与对齐技术的全景与深度实践