一、前言
现在的AI在快速的发展,在此期间不断涌现出新的名词,接下来我将梳理一下最近这方面的一些名词。
二、大模型(LLM)
这里的大模型想必都很熟悉,所以这里就简单地阐述一下其在AI智能体中的作用。
LLM是AI智能体的核心基座,他负责的是理解用户的自然语言、拆解复杂的任务、动态地执行决策、迭代优化任务策略。
一句话:LLM自身强,AI智能体才会强。LLM自身弱,其他如Skill、MCP性能再强,AI智能体效果也会不尽人意。
三、Function Calling(函数调用)
单纯的LLM本质上只是一个对话模型,除了和用户对话他并不能实现其他作用,另外他的知识也是具有相对滞后性的,如果你想从一个刚发布的开源大模型嘴中获取昨天的新闻,其实LLM是不知道的。另外,如果你想让LLM帮你去网上检索某样内容,其实单靠LLM也是无法实现的。那么,为了实现上面的那些任务,就用到了Function Calling。
定义:大语言模型的一项原生扩展能力,是 LLM 从 "聊天工具" 走向 "可执行任务的智能体" 的核心基础能力,让 LLM 能自主判断是否需要调用外部工具,并严格按照预定义格式(如常用的json格式)输出合规的函数调用参数,而非直接生成自然语言回答。
用人话讲就是Function Calling可以看作是一个人为封装大模型调用工具的协议,告诉大模型都有哪些工具函数可以让他调用,规定大模型在调用函数的时候需要提供哪些参数。
核心原理:
-
开发者提前给 LLM 提供函数元数据(函数名、功能描述、入参格式、参数类型、必填项等);
-
LLM 推理时,自主判断用户需求是否需要调用外部函数(比如查询实时天气、执行代码、操作数据库);
-
若需要调用,LLM 输出符合格式要求的函数名和入参,由开发者的程序执行函数并获取结果;
-
执行结果返回给 LLM,LLM 再将结果整理为自然语言回答给用户。
四、MCP
核心定义:由 Anthropic 等机构推出的开源、标准化通信协议,是 LLM/Agent 生态的通用接口规范,旨在解决不同 LLM、开发框架、工具 / 数据源之间的适配碎片化问题,实现 "一次开发,全生态通用"。
-
核心本质:相当于 Agent 世界的 "USB 协议"------ 只要工具 / 数据源按照 MCP 标准开发服务端(MCP Server),所有支持 MCP 的 LLM、Agent 框架、应用(MCP Client)都能直接发现、调用该工具,无需单独做适配开发。
-
核心特点:
-
标准化:统一了工具定义、上下文注入、权限控制、数据传输的规范,兼容所有主流 LLM 和 Agent 框架;
-
安全可控:内置细粒度的权限管理、数据隔离机制,避免 Agent 越权调用工具;
-
可扩展:支持动态注册工具、实时数据同步、流式传输,适配复杂的 Agent 场景。
-
-
核心定位:Function calling 的行业通用标准,大幅降低 Agent 工具生态的开发和集成成本,是当前 Agent 生态的核心基础设施之一。
ok,看完上面的标准内容是不是很懵?那我就用大白话翻译一下,很简单的。
MCP其实广义上来说就是Function Calling,但再分地仔细一点就不一样了:
1、Function Calling调用的是你自己写的函数,而MCP是大家把写好的函数发在网上,让你的模型通过MCP来使用网上的函数。
2、Function Calling中具体的函数调用参数由你自己来决定(毕竟工具函数就是你自己写的),但MCP是人家发布作者决定了你的大模型需要传进去哪些参数。
3、MCP需要联网才能用。
五、Langchain
1、核心本质:将 LLM 应用开发所需的所有基础组件进行标准化封装,让开发者无需从零实现复杂的底层逻辑,通过 "搭积木" 的方式即可快速搭建复杂的 Agent、RAG 检索系统、自动化工作流等。
-
核心核心能力:
-
统一的 LLM 接入层:兼容 OpenAI、Anthropic、开源 LLM 等几乎所有主流大模型;
-
成熟的记忆管理:内置短期上下文记忆、长期向量数据库记忆,解决 LLM 记忆缺陷;
-
全生态工具集成:内置数百种第三方工具封装,原生支持 Function calling 和 MCP 协议;
-
灵活的编排能力:通过 LangGraph 组件实现 Workflow、Agent、多智能体的可视化编排;
-
预制的 Agent 架构:内置 ReAct、Plan-and-Execute 等业界主流的 Agent 范式
-
2、Langchain是一个开发框架,里面内置了许多功能(如Rag、Tool List),不需要你从底层挨个手搓。他的衍生框架还有LangGraph等。
六、Workflow
定义:预先定义好的、有固定执行顺序、条件分支、节点依赖的步骤集合,每个节点可以是 LLM 调用、工具调用、数据处理、人工审核、Agent 执行等操作。
用人话来讲就是你提前设定好程序运行工作的流水线,是固定步骤的,他甚至不需要LLM的参与,而这一点就是他与Agent之间最大的区别。Agent是需要LLM参与决策等任务的。
举个直白的例子:你可以设定一个周报 Workflow,完整流水线是:
1、人工上传本周销售 Excel 表
2、用 Python 脚本自动清洗数据、校验完整性(纯代码执行,不用大模型)
3、调用大模型,基于清洗后的数据写周报分析文案(大模型环节)
4、用工具自动生成数据图表(工具执行,不用大模型)
5、自动发送邮件给部门全员(工具执行,不用大模型)
整条流水线都叫 Workflow,大模型只是其中第三步的一个环节,不是必须全程都由大模型干活。甚至 Workflow 可以完全不用大模型(比如学校的 OA 审批流、传统的自动化脚本流程,本质都是 Workflow),只是本文讲述的是LLM 生态,所以Workflow 大多会加入大模型环节。
七、Agent
定义:以 LLM 为核心大脑,融合记忆、规划、工具调用、反思优化等能力,能够自主理解用户的复杂目标、拆解任务、决策执行路径、调用工具 / 技能、处理执行结果、迭代优化策略,最终完成目标的智能实体。
人话:LLM当大脑,给他配了许多工具让他用,更好地实现人类要求的任务。
组成:
1.核心大脑:LLM,负责所有决策、推理、文本生成;
2.记忆模块:短期上下文记忆 + 长期向量记忆,保存历史交互和任务数据;
3.规划模块:通过思维链(CoT)、任务拆解、反思优化,制定执行计划;
4.执行模块:通过 Function calling 调用工具 / Skill/Workflow,完成实际动作;
5.环境交互模块:接收执行结果,反馈给 LLM,调整后续策略。
再说白点:让LLM从一个只能和人类对话的东西变成了一个可以帮人类完成部分工作的东西。
八、Subagent(子智能体)
定义:主 Agent(Master Agent)为完成超复杂、多领域、跨模块的任务,拆分出来的负责特定子任务、具备独立目标、专属能力范围和执行权限的次级 Agent,是多智能体(Multi-Agent)系统的核心组成单元。
人话:任务太复杂的时候,将一个庞大的Agent拆开,每个Subanget负责单独的任务,最后主 Agent 负责整体统筹、任务分配、进度协调、结果汇总。
九、Skill
定义:Skill 是 Agent 可执行的、具备特定单一功能的原子化、可复用的能力单元,是对 Function calling、特定提示词工程、小型 Workflow 的标准化高层封装。
人话:把写好的工具封装起来,写一个Skill.md,Skill.md告诉LLM有哪些工具(skill),这些skill在什么场景下调用,在调用skill的时候提供哪些参数,然后LLM根据需求以及要求来使用这些skill来完成任务。
与 Function calling 的核心区别:Function 是底层的单次代码执行单元,Skill 是高层的完整能力封装 ------ 一个 Skill 可以包含多个 Function 调用、多步 LLM 处理、甚至一个完整的小型 Workflow。
例:「数据分析 Skill」内部包含「Excel 读取 Function」「数据清洗 Function」「LLM 分析 Function」「图表生成 Function」,Agent 只需调用这一个 Skill,即可完成全流程数据分析,无需自主拆解每一步函数调用。