AI开发核心概念详解
本文档对AI应用开发中常见的专有名词进行系统梳理,涵盖 MCP、Agent、API Call、Skill、工作流 (Workflow) 和 存储体 (Storage) 六大概念。每个概念将从归类 、核心解释 、通俗理解以及与其它概念的关系等角度进行说明,最后通过一张完整的关系图呈现它们如何协同工作。
一、协议/通信层
1. MCP (Model Context Protocol, 模型上下文协议)
- 归类:开放协议 / 通信标准
- 核心解释 :
MCP 是由 Anthropic 提出并开源的一种标准化协议,旨在为AI模型连接外部工具和数据源提供统一的接口。它类似于"AI界的USB-C",允许AI助手通过同一套规则调用任意符合MCP标准的服务,无需为每个工具单独编写适配代码。 - 通俗理解 :
过去每个工具都需要AI专门适配(像不同的充电头),而MCP让所有工具都采用相同的"插头",AI只需支持MCP即可即插即用。 - 关系定位 :
MCP位于协议层,是Skill 与外部API之间的桥梁。所有Skill的实现都通过MCP协议将请求转发给对应的MCP Server,再由Server转换为具体的API调用。
二、应用架构层
2. Agent(智能体/代理)
- 归类:执行实体 / 应用范式
- 核心解释 :
Agent是一个能够自主感知环境、进行决策并执行动作的智能实体。它以"完成任务"为最终目标,内部通常由大语言模型驱动,具备规划、推理、调用工具和记忆能力。 - 通俗理解 :
Agent就像一位"数字员工"------你告诉它"帮我订下周去北京的机票",它会自动分解任务:查日历、比价、调用订票API、完成支付,最后反馈结果。 - 关系定位 :
Agent位于应用架构的顶层,它拥有并决策调用哪些Skill ,同时依赖存储体 获取记忆和知识,并可能被工作流编排执行特定任务。
三、能力/动作层
3. Skill(技能)
- 归类:功能封装 / 原子能力
- 核心解释 :
Skill是对某个具体功能的封装,它将复杂的操作逻辑抽象成一个可复用的能力单元。例如,"查询天气"、"发送邮件"、"计算数学题"都可以是Skill。 - 通俗理解 :
就像游戏角色的技能栏------点击"火球术"技能,角色会自动完成吟唱、耗蓝、发射等一系列动作。Skill将内部实现隐藏,只暴露简单的调用接口。 - 关系定位 :
Skill由Agent 调用,其底层实现通常通过MCP协议 与外部工具交互,最终转化为具体的API Call 。多个Skill可以被编排进工作流。
4. API Call(API调用)
- 归类:交互方式 / 技术实现
- 核心解释 :
API Call是程序间通信的具体动作,指AI系统生成指令向外部服务接口发送请求并接收响应的过程。它是实现Skill的技术手段。 - 通俗理解 :
类比于"按开关"这个物理动作------Skill是"开灯"的功能,而API Call就是你用手指按下墙壁开关的动作。 - 关系定位 :
API Call是执行层的具体操作,通常由MCP Server 根据协议转换后发起,与存储体或外部数据源进行实际数据交换。
四、任务编排层
5. 工作流 (Workflow)
- 归类:任务编排 / 流程管理
- 核心解释 :
工作流是对一系列有序任务、决策规则和交互逻辑的预定义或动态编排。它描述了"为完成某个目标,需要依次执行哪些步骤"。工作流可以是开发人员预先配置的固定流程,也可以是Agent在运行时动态生成的计划。 - 通俗理解 :
就像一份详细的菜谱,规定了先放什么料、后做什么动作。Agent可以扮演照着菜谱做菜的厨师,也可以是根据食材自己设计菜谱的创意大厨。 - 关系定位 :
工作流位于任务编排层,它可以调用Agent 执行复杂子任务,也可以直接调用Skill 完成原子操作,同时依赖存储体持久化流程状态。
五、数据/记忆层
6. 存储体 (Storage / Memory)
- 归类:数据持久化 / 记忆管理
- 核心解释 :
存储体是AI系统中用于持久化或缓存数据的组件,为整个系统提供记忆和信息检索能力。它包含多个层次:- 短期记忆:对话历史、当前会话上下文(通常由上下文窗口管理)。
- 长期记忆:用户偏好、历史事实、专业知识库(常通过向量数据库实现检索增强生成RAG)。
- 外部数据源:业务数据库、文件存储、第三方API背后的数据。
- 通俗理解 :
就像人的大脑和外部笔记本:短期记忆是大脑正在思考的内容,长期记忆是存储的知识,而笔记本(数据库)用来记录需要永久保存的信息。 - 关系定位 :
存储体贯穿整个体系:Agent 依赖它回忆上下文,Skill 执行时需要读写数据,工作流 用它保存中间状态,MCP Server通过API Call访问它。
六、完整关系图
以下Mermaid图展示了上述概念如何协同工作,构成一个完整的AI应用架构:
存储与数据层
执行层
适配器层
技能层
智能体层
工作流层
包含步骤
包含步骤
包含步骤
规划/调用
协议层
用户请求
工作流引擎
Workflow Engine
工作流定义
Workflow
步骤1:调用Agent
步骤2:执行Skill
步骤3:条件判断/循环
Agent 智能体
拥有技能列表
访问存储体
Skill 查询天气
Skill 发送邮件
Skill 知识检索
MCP 协议标准接口
MCP Server 天气服务
MCP Server 邮件服务
MCP Server 向量数据库
API Call 天气API
API Call 邮件SMTP
API Call 向量检索
存储体
Memory/Storage
短期记忆
对话上下文
长期记忆
向量库/用户画像
外部数据源
业务数据库
WorkflowLayer
AgentLayer
SkillLayer
ProtocolLayer
AdapterLayer
ExecutionLayer
Storage&Data
七、总结
| 概念 | 核心作用 | 类比 |
|---|---|---|
| 工作流 (Workflow) | 编排任务步骤,控制流程 | 菜谱 |
| Agent | 自主规划、决策并调用工具 | 数字员工 |
| Skill | 封装具体功能,提供能力单元 | 游戏技能 |
| MCP | 统一协议,连接工具与AI | USB-C接口 |
| API Call | 具体的技术调用动作 | 按开关 |
| 存储体 (Storage) | 记忆与数据持久化 | 大脑+笔记本 |
这些概念共同构建了现代AI应用的基石:工作流 负责宏观流程编排,Agent 负责智能决策,Skill 提供可复用能力,MCP 实现标准化连接,API Call 完成具体执行,存储体则确保数据与记忆的连续性。理解它们之间的关系,有助于设计出灵活、可扩展的AI系统。
八、实战案例:用AI助手预订机票
下面通过一个完整的例子,展示上述所有概念如何在实际场景中协同工作。
场景描述
用户通过聊天界面说:
"帮我订下周五从北京到上海的往返机票,预算2000元左右,我喜欢靠窗位置。"
步骤分解
1. 触发工作流 (Workflow)
- 系统接收到用户请求后,工作流引擎 启动一个预定义的 "旅行预订工作流"。
- 该工作流定义了以下步骤:
a. 解析用户需求并调用Agent进行意图理解。
b. 查询航班信息。
c. 筛选符合预算的航班。
d. 向用户呈现选项。
e. 用户确认后执行预订。
f. 发送确认通知。
2. Agent介入与规划
- 工作流的第一步调用Agent。Agent接收原始请求,结合当前对话上下文(短期记忆),明确任务目标:预订下周五北京-上海往返机票,预算2000元以内,靠窗座位。
- Agent开始规划 :它决定需要依次调用以下Skill :
parse_preferences:提取用户偏好(靠窗、预算)。search_flights:查询符合日期和路线的航班。filter_flights:按预算筛选。present_options:展示给用户。book_flight:根据用户选择完成预订。send_notification:发送确认信息。
3. 调用Skill并通过MCP协议通信
-
Agent首先调用
search_flightsSkill。该Skill本身不直接调用外部API,而是通过MCP协议 发起一个标准化的请求,例如:{ "tool": "flight_search", "params": { "origin": "北京", "destination": "上海", "date": "2025-04-25", "return_date": "2025-04-27" } } -
这个请求通过MCP路由到对应的MCP Server(航班查询服务)。
4. MCP Server转换为具体API Call
- 航班查询MCP Server 接收到MCP请求后,将其转换为对真实航空公司API的调用,例如向多个航空公司的聚合API发起HTTP请求(API Call)。
- 返回的航班数据再通过MCP Server封装成标准格式,返回给
search_flightsSkill。
5. 存储体的参与
- 在查询过程中,Agent可能访问存储体 :
- 短期记忆:保存当前会话的查询参数和中间结果,以便后续步骤引用。
- 长期记忆:从向量数据库中检索该用户的历史偏好(例如之前是否常选东方航空、是否有会员号),用于优化推荐或自动填充。
filter_flightsSkill将筛选后的结果暂存,待用户选择。
6. 用户交互与最终执行
- Agent调用
present_optionsSkill,通过MCP调用消息发送服务,将几个符合预算的航班选项展示给用户。 - 用户选择其中一个航班并确认。
- Agent调用
book_flightSkill,再次通过MCP和对应的MCP Server(预订服务)发起API Call,完成实际预订扣款。 - 预订成功后,Agent调用
send_notificationSkill,通过MCP调用通知服务API,向用户发送确认短信/邮件。
7. 流程结束与数据持久化
- 工作流引擎记录该流程完成,并将最终订单信息存入存储体的长期记忆(数据库),以便后续查询或售后服务。
- 用户的偏好(如靠窗座位)也可能被更新到用户画像中,用于下次预订。
案例中各概念的体现
| 概念 | 在案例中的角色 |
|---|---|
| 工作流 | 预定义的"旅行预订工作流"协调了整个过程的步骤顺序。 |
| Agent | 理解用户意图、规划调用哪些Skill、融合记忆做出决策。 |
| Skill | search_flights、filter_flights、book_flight 等原子能力单元。 |
| MCP | 标准化协议,让所有Skill无需关心底层API差异,统一通过MCP调用外部服务。 |
| MCP Server | 航班查询服务、预订服务、通知服务等适配器,负责与具体外部API交互。 |
| API Call | MCP Server向航空公司API、支付网关、短信服务商发起的实际HTTP请求。 |
| 存储体 | 短期记忆(会话上下文)、长期记忆(用户偏好、历史订单)为整个过程提供数据支持。 |
案例流程图
外部API MCP Server MCP协议 Skill集合 存储体 Agent 工作流引擎 用户 外部API MCP Server MCP协议 Skill集合 存储体 Agent 工作流引擎 用户 订票请求 调用Agent处理 读取用户偏好 返回历史偏好 调用 search_flights 通过MCP请求航班 路由到航班查询Server 调用真实航班API 返回航班数据 返回标准结果 返回查询结果 返回航班列表 调用 filter_flights 返回筛选结果 调用 present_options 发送消息请求 通知服务Server 调用消息API 发送成功 确认 确认 展示完成 等待用户选择 展示选项 选择航班并确认 继续执行 调用 book_flight 预订请求 预订服务Server 调用预订API 预订成功 成功 成功 预订结果 存储订单信息 调用 send_notification 通知请求 通知服务Server 发送确认 成功 成功 成功 通知完成 流程结束 预订成功反馈
这个例子完整地展示了从用户请求到最终响应的全过程,每个专有名词都在其中扮演了明确且不可或缺的角色,体现了它们在真实AI应用中的协同工作方式。