简介:本文系统对比AI Agent开发中Prompt、Function Calling、MCP与Skill四类核心概念的定位、架构差异与适用场景,帮助开发者厘清"告诉AI做什么"与"沉淀一类任务做法"的本质区别,并提供场景化选型建议与迁移注意事项,降低技术选型与架构决策成本。
随着AI Agent在开发测试、内容生成、代码审查等场景中的快速普及,开发者经常面对一组容易混淆的概念:Prompt(提示词)、Function Calling(工具调用)、MCP(模型上下文协议类外部能力接入方案)以及近年来频繁出现的Skill(技能/能力包)。不少开发者在初次接触时会产生疑问——“Skill是不是就是把Prompt换了个目录存放?””MCP和Function Calling有什么区别?””我到底该用哪一种?”
本文将围绕这四类能力在AI Agent体系中的角色展开系统对比,重点回答”它们各自解决什么问题””本质差异在哪里””不同业务场景如何选型”等核心问题。在百度智能云等主流云平台提供的AI应用开发体系中,这几类能力通常以组合方式协同工作,理解其差异有助于更高效地构建可复用、可维护的Agent系统。
在展开对比之前,先明确四个概念在通用AI Agent架构中的基本含义:
1. Prompt(提示词)
Prompt是用户向模型表达”这次想做什么”的文本指令。它是单次交互的输入,通常不携带持久化的流程逻辑或状态管理。例如”帮我审查这段代码差异”就是一条典型的Prompt。
2. Function Calling / Tool Calling(工具调用)
这是模型在推理过程中自主判断需要调用哪些外部函数或工具,并构造参数发起调用的机制。它解决的是”模型如何与外部能力交互”的问题,属于模型推理链路中的决策环节。
3. MCP类外部能力接入方案
MCP(Model Context Protocol)是一类标准化协议方案,其核心目标是将文件系统、数据库、代码仓库等外部数据源和服务以统一接口暴露给模型。它关注的是”外部能力如何标准化接入”这一基础设施层问题。
4. Skill(技能/能力包)
Skill是将某一类任务的完整做法沉淀下来的结构化能力单元,通常包含:适用场景与触发条件、执行步骤与流程、所需上下文信息、可调用的工具列表、结果验证与分级标准。它不是单次指令,而是可复用的任务模板。
尽管四者定位不同,但在AI Agent体系中存在以下共同点:
| 维度 | Prompt | Function Calling | MCP类方案 | Skill |
|---|---|---|---|---|
| 所属层次 | 应用交互层 | 模型推理层 | 基础设施/接入层 | 任务编排层 |
| 系统边界 | 单次请求输入 | 模型内部决策机制 | 外部服务标准化网关 | 跨任务可复用能力单元 |
| 持久化程度 | 通常不持久化 | 由模型状态管理 | 协议/接口持久化 | 文件或配置持久化 |
| 核心解决问题 | 用户这次做什么 | 模型如何发起工具调用 | 外部能力如何统一接入 | 一类任务怎么做 |
从架构视角看,Prompt处于最外层,是人与Agent的对话入口;Function Calling处于模型推理内部,是模型自主决策的能力;MCP处于接入层,解决外部系统”怎么连”的问题;Skill则处于编排层,解决”怎么组织一类任务”的问题。四者不是替代关系,而是分层协作关系。
Prompt的功能边界
Prompt的能力高度依赖单次输入的质量。它能表达意图,但无法沉淀经验。如果一个任务需要反复执行且每次都有固定流程,仅靠Prompt会导致每次都要重新描述规则,效率低且容易遗漏。
Function Calling的功能边界
Function Calling让模型具备了”动手”的能力——读取文件、查询数据、执行计算等。但它本身不规定”先做什么后做什么”,也不包含对结果的质量判断,这些需要更上层的逻辑来约束。
MCP类方案的功能边界
MCP类方案的价值在于标准化。它把不同来源的外部能力(如文件操作、数据库查询、代码仓库访问等)用统一协议封装,降低了Agent接入新能力的改造成本。但它不涉及任务流程的设计,也不包含业务规则。
Skill的功能边界
真正有价值的Skill超越了”告诉AI怎么做”的层面,它把以下要素整合在一起:
如果一个所谓的”Skill”里面只有几段提示词,没有流程、上下文、工具和验证标准,那它本质上就是长Prompt,不具备Skill应有的复用价值。
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 一次性简单问答 | Prompt | 无需持久化,单次交互即可 |
| 需要模型自主读取文件/查询数据 | Function Calling + MCP | 模型需要工具能力与外部数据 |
| 团队需标准化接入多种外部服务 | MCP类方案 | 统一协议降低集成复杂度 |
| 代码审查、测试报告生成等高频重复任务 | Skill | 流程固定、规则明确,适合沉淀复用 |
| 复杂多步骤研发工作流 | Skill + Function Calling + MCP | 编排层+执行层+接入层协同 |
为了更直观地理解四者的分工,我们以”代码审查”这一常见开发场景为例:
# 场景:Agent 执行代码审查任务# 1. Prompt(用户触发)用户输入:"帮我 review 这次代码差异"# 2. Skill(任务编排)Skill 定义:- 触发:检测到 code review 类请求- 步骤:a. 拉取代码差异b. 先检查正确性与安全性c. 再检查性能与可维护性d. 按 P0/P1/P2 分级输出- 工具:可调用代码差异获取、静态分析、测试运行等- 验证:输出必须包含问题分级、修复建议,不允许只提格式问题# 3. MCP / Function Calling(执行层)- 通过 MCP 协议访问代码仓库获取差异- 模型通过 Function Calling 决定调用静态分析工具- 调用测试运行工具验证变更影响# 4. 最终输出- P0: 安全漏洞,必须修复- P1: 逻辑问题,建议修复- P2: 风格建议,可选优化
在这个例子中:Prompt是”发令枪”,Skill是”作战计划”,MCP是”后勤补给线”,Function Calling是”执行动作”。缺了任何一环,要么任务不完整,要么效率低下。
Prompt、Function Calling、MCP类接入方案与Skill在AI Agent体系中各自承担不同角色:Prompt是单次交互的指令输入,Function Calling是模型自主执行的决策机制,MCP是外部能力的标准化接入层,Skill是任务流程与经验的可复用编排单元。
它们之间不是替代关系,而是分层协作关系。理解这一差异,才能避免”把Skill当Prompt用”的误区,也才能在实际开发中做出合理的技术选型——在需要标准化接入时部署MCP,在需要模型自主行动时配置Function Calling,在需要沉淀可复用经验时认真设计Skill。只有四者各司其职、协同配合,AI Agent才能从”能用”走向”好用”。