乐于分享
好东西不私藏

被各种ai名词绕晕?总结ai圈常见技术名词,我说白了真不难

被各种ai名词绕晕?总结ai圈常见技术名词,我说白了真不难

大家好,我是不想刷算法的懒羊羊

AI的浪潮愈发汹涌,agent开发成为新的风口,随之而来的是一堆把人绕晕的名词

MCPSkillFunction CallingWorkflowReActPlan-and-ExecuteReflection

今天我们就来做个汇总,看看这些新词到底在讲啥玩意,同时还要知道他们之间的区别是什么

比如:

  • MCP 和 Function Calling 都能让模型用工具,他们到底有什么区别?
  • Skill 是不是就是一个提示词?
  • Workflow 和 Agent 是一回事吗?
  • ReAct 和 React 前端框架有没有关系?
  • Plan-and-Execute 和 Reflection 又是在解决什么问题?

先把这些概念放到同一张图里,看清楚他们分别站在哪个位置。

大模型本身可以理解、推理、生成文本。但真实业务里,我们还希望他能:

  • 读到外部资料
  • 调用系统接口
  • 按固定流程干活
  • 遇到复杂问题会拆解
  • 做完之后还能自己检查一遍

于是出现了agent,而这些名词,本质上都是在让agent从能用变成好用的关键能力

先记住一句话:

Function Calling 解决“模型怎么提出调用工具”,MCP 解决“工具怎么标准化接入”,Skill 解决“经验怎么复用”,Workflow / ReAct / Plan-and-Execute / Reflection 解决“任务怎么组织执行”。

是不是稍微清楚一点了?

下面我们一个一个看。

一、Function Calling:让模型按格式提出工具调用请求

先看最常见的 Function Calling

现在很多平台也会把它叫做 Tool Calling,本质上说的是同一类事情。

很多人第一次听到这个词,会以为是大模型真的跑去调用了某个函数。

其实不是。

更准确地说:

Function Calling 是让模型在需要使用外部能力时,按你定义好的格式,输出一次“我要调用哪个函数、参数是什么”的请求。

真正执行函数的,还是你的程序。

举个例子:

用户问:

帮我查一下哈尔滨今天的天气

你提前告诉模型,现在有一个工具:

{"name""get_weather","description""查询城市天气","parameters": {"city""string"  }}

模型发现自己不知道实时天气,于是不会直接瞎编,而是返回类似这样的结构:

{"name""get_weather","arguments": {"city""哈尔滨"  }}

然后你的后端程序拿到这个结构化结果,真正去调用天气接口。

天气接口返回结果后,再把结果塞回上下文,让模型组织成自然语言回答用户。

整个过程可以理解为:

  1. 你告诉模型有哪些函数可以用
  2. 模型判断是否需要调用函数
  3. 模型生成函数名和参数
  4. 应用程序真正执行函数
  5. 函数结果返回给模型
  6. 模型生成最终答案

所以 Function Calling 的关键点不是“调用”,而是“结构化地表达调用意图”。

他解决的是一个很实际的问题:

以前你让模型输出 JSON,很可能今天多一个逗号,明天少一个字段,后端解析的时候血压拉满。

Function Calling 相当于把输出格式收紧,让模型更稳定地告诉程序:

我要用哪个工具,以及这个工具需要什么参数。

Function Calling 是模型先根据用户意图决定“要不要调、调哪个、参数是什么”,再由你的代码执行。

模型像一个会写调用单的人,但不是那个真正去仓库搬货的人。

二、MCP:给 AI 工具接入加一层统一插座

理解了 Function Calling,再来看 MCP

MCP 全称是 Model Context Protocol,中文可以理解为模型上下文协议。

他的目标是:

用一套统一协议,让 AI 应用连接各种外部工具、数据源和工作流。

如果不使用 MCP,会发生什么?

假设你做了一个 AI 编程助手,希望它能访问:

  • 本地文件
  • Git 仓库
  • 数据库
  • Jira
  • Sentry
  • 浏览器

每接一个系统,都要写一套适配逻辑。

A 工具一种认证方式,B 工具一种返回格式,C 工具又一堆奇怪参数。

最后你的项目很容易变成“接口适配器大杂烩”。

MCP 想解决的就是这个问题。

他更像 AI 世界里的 USB-C:

不管后面接的是文件系统、数据库,还是某个 SaaS 服务,对 AI 应用来说,都尽量通过统一协议来发现和调用。

MCP 里有几个角色:

  • Host:用户真正使用的 AI 应用,比如聊天客户端、IDE、智能体平台
  • Client:Host 里面负责和某个 MCP Server 建连接的组件
  • Server:对外暴露工具、资源、提示词的服务

MCP Server 通常可以暴露三类东西:

  • Tools:可以被模型请求执行的动作,比如查数据库、创建工单、读取文件
  • Resources:可以提供给模型读取的上下文数据,比如文件内容、接口返回、业务文档
  • Prompts:可复用的提示词模板或任务入口

client和server端之间的标准传输方式有stdio和streamableHTTP两种(SSE已经在去年被Athropic官方标记为不推荐使用),底层数据传输格式采用JSON-RPC-2.0

那么 MCP 和 Function Calling 的区别是什么?

这俩确实很像,因为最后看起来都是“模型在用工具”。

但是他们站的位置不一样。

Function Calling 更偏模型和应用之间的一种工具调用机制。

你把函数 schema 给模型,模型返回函数名和参数,你的程序执行。

MCP 更偏外部工具和 AI 应用之间的一套接入协议。

它规定一个工具服务应该怎么被发现、怎么描述能力、怎么被调用、怎么返回结果。

如果用快递打比方:

  • Function Calling 像“用户填了一张标准快递单”
  • MCP 像“所有驿站、快递柜、分拣中心之间遵守的一套物流接口”

这两个不是竞争关系。

一个 AI 应用完全可以先通过 MCP 接入很多工具,再把这些工具以 Function Calling / Tool Calling 的形式交给模型选择。

所以不要问“有了 MCP 还要不要 Function Calling”。

更合理的理解是:

Function Calling 管模型怎么提出调用,MCP 管工具怎么接进来。

三、Skill:把一类任务的经验打包

再来看 Skill

这个词在不同平台里定义会有差异,但核心思想很接近:

Skill 是把某一类任务的知识、步骤、模板、脚本、素材打包成一个可复用能力。

它不像 Function Calling 那样,只描述一个具体函数。

它也不像 MCP 那样,重点在协议连接。

Skill 更像一个“做事说明书 + 小工具箱”。

比如一个“写公众号文章”的 Skill,里面可能包含:

  • 标题风格要求
  • 开头怎么引入
  • 图片怎么命名
  • Markdown 模板
  • 常用检查清单
  • 生成封面图或流程图的脚本

当用户说“帮我写一篇公众号文章”时,AI 就可以加载这个 Skill,按照里面沉淀好的经验去做。

这里最容易混淆的是:

Skill 不是单纯的一句 Prompt。

Prompt 更像你临时对模型说的一段话。

Skill 更像一个长期沉淀下来的任务包。

里面可以有 Prompt,也可以有代码、模板、示例、图片资源、检查流程。

再换个角度:

  • Function Calling:一个具体动作,比如“查询订单”
  • MCP:把外部系统标准化接入,比如“订单系统以 MCP Server 形式暴露出来”
  • Skill:指导 AI 怎样完成一类任务,比如“如何写一篇订单异常分析报告”

Function Calling 更像按钮。

MCP 更像插座。

Skill 更像老师傅留下来的操作手册。

四、Workflow:流程是提前设计好的

上面讲述的是赋予agent的能力,从这里开始就是约束和指引agent工作的流程框架,他要求模型必须按照什么样的模式去行动

首先是Workflow 这个词。

在 AI 应用里,Workflow 指的是:

开发者提前设计好任务步骤,模型只是流程中的一个或多个节点。

比如你要做一个“自动写文章”的工作流:

  1. 输入主题
  2. 生成大纲
  3. 搜索资料
  4. 生成正文
  5. 检查错别字
  6. 生成配图
  7. 导出 Markdown

这条路线是提前写好的。

模型可以参与每一步,但整体流程不是它临场决定的。

Workflow 的好处是稳定、可控、适合业务系统。

比如报销审批、客服工单、合同审查、内容审核,这类任务通常都有明确步骤,不适合让模型完全自由发挥。

但是缺点也很明显:

流程越固定,灵活性越差。

如果用户的问题完全不按套路来,Workflow 可能就会显得比较笨。

所以 Workflow 更像流水线。

每个工位干什么,先后顺序是什么,提前就安排好了。

五、ReAct:一边思考,一边行动

接着是 ReAct

它的核心循环很简单:

思考 -> 行动 -> 观察结果 -> 再思考 -> 再行动 -> ...

举个例子:

用户问:

帮我看看这个项目为什么启动失败

一个 ReAct 风格的 Agent 可能会这样做:

先思考:启动失败可能和依赖、配置、端口、环境变量有关。

然后行动:读取日志。

观察结果:日志里提示端口被占用。

再思考:需要查看哪个进程占用了端口。

再行动:执行命令查看端口占用。

观察结果:发现另一个服务占用了 8080。

最后回答:问题原因是端口冲突,可以关闭旧进程或修改端口。

这就是 ReAct 的味道。

它不是提前把所有步骤写死,而是每拿到一个新观察结果,就重新判断下一步做什么。

所以 ReAct 很适合:

  • 排查问题
  • 搜索资料
  • 使用工具探索未知环境
  • 任务路径不确定的场景

和 Workflow 相比:

Workflow 是“先规定路线,再按路线走”。

ReAct 是“边走边看路牌,随时调整下一步”。

当然,这也意味着 ReAct 更容易跑偏。

如果没有工具权限、边界条件和终止条件,它可能会绕很久,甚至越查越远。

六、Plan-and-Execute:先做计划,再分步执行

Plan-and-Execute 从名字上就能看出思路:

先让模型规划任务,再让执行器按计划一步步完成。

比如用户说:

帮我做一个 AI 名词扫盲文章

Plan-and-Execute 风格可能会先生成一个计划:

  1. 收集需要解释的名词
  2. 按“工具接入、任务组织、反思优化”分类
  3. 为每个名词写定义和例子
  4. 加入容易混淆概念的对比
  5. 生成配图
  6. 最后通读润色

然后执行器按这个计划逐步推进。

它和 ReAct 的区别在于:

ReAct 更像“每走一步想一步”。

Plan-and-Execute 更像“先画一张地图,再按照地图执行”。

Plan-and-Execute 适合比较长、比较复杂、可以拆步骤的任务。

比如写方案、做调研、迁移项目、生成测试计划。

它的优点是全局感更强,不容易只盯着眼前一步。

但缺点也很现实:

计划可能不准。

如果中间发现环境和预想不一样,就需要重新规划。

所以很多实际 Agent 系统会把它和 ReAct 结合起来:

先整体计划,执行过程中每一步再根据观察结果微调。

七、Reflection:做完之后自己审一遍

最后来看 Reflection

Reflection 可以理解为“反思”或者“自我检查”。

它的核心思路是:

模型先生成一个结果,再让模型或另一个评估器检查这个结果,提出反馈,然后继续修改。

比如写文章时:

第一轮生成正文。

第二轮检查:

  • 有没有概念说错
  • 有没有前后重复
  • 有没有读者看不懂的地方
  • 语气是不是太像说明书

第三轮根据反馈重写。

这就是一个非常典型的 Reflection 流程。

如果用更工程一点的说法,它也经常被叫做“生成器 - 评估器 - 优化器”模式。

这里有几个容易混淆的地方:

Reflection 不是 Plan。

Plan 发生在做事之前,先想怎么做。

Reflection 发生在做事之后,检查做得怎么样。

Reflection 也不是 ReAct 里的 Observation。

Observation 通常是工具或外部环境返回的事实,比如日志、网页内容、接口结果。

Reflection 是对当前答案或过程的评价,比如“这个解释不够清楚”“这个结论证据不足”。

当然,Reflection 也不是万能的。

模型自己检查自己,有时候也会一本正经地漏掉问题。

所以在关键场景里,最好配合测试、规则校验、人工审核、真实数据验证一起用。

别把“自我反思”当成“绝对正确”。

人都做不到,模型更不能强求。

八、把这些概念放在一起

最后,我们把这些词重新放到一张对比图里。

如果只想快速判断,可以这么记:

Function Calling:让模型按结构化格式提出工具调用请求。

MCP:让工具、数据源、提示词以统一协议接入 AI 应用。

Skill:把某一类任务的经验和资源打包复用。

Workflow:流程提前写好,模型按节点参与执行。

ReAct:模型边思考边行动,根据观察结果动态决定下一步。

Plan-and-Execute:先整体规划,再按步骤执行。

Reflection:做完之后评估、反馈、修改,提高结果质量。

如果用一句更口语的话总结:

Function Calling 负责“怎么喊工具”,MCP 负责“工具怎么接进来”,Skill 负责“经验怎么传下来”,Workflow 负责“路线怎么排”,ReAct 负责“边走边判断”,Plan-and-Execute 负责“先画地图再出发”,Reflection 负责“做完回头检查”。

在一个真实的agent里,这些东西往往不是单独出现,而是组合使用。

比如一个比较完整的 AI 编程助手,可能是这样的:

  • 用 Skill 加载代码审查规范
  • 用 MCP 连接本地文件、Git、Issue 系统
  • 用 Function Calling 让模型选择读取文件或执行命令
  • 用 Plan-and-Execute 先拆解修复计划
  • 用 ReAct 在排查过程中根据日志不断调整
  • 用 Reflection 最后检查改动有没有遗漏
  • 用 Workflow 把这一整套流程固定成团队工具

当然这只是其中部分功能,实际情况要更加复杂,比如要考虑一个agent的安全权限,上下文管理,记忆系统,hook以及多智能体协同等等,有机会我们展开细细聊聊

关于 AI 名词扫盲的文章就介绍到这里了,想要分享和补充的朋友欢迎在评论区留言。

我是不想刷算法的懒羊羊,一个非科班转码的后端新人,希望这篇文章对你有帮助,喜欢就点赞关注吧!

相关学习资料