大家好,我是 jonssonyan
现在很多企业都在用 AI 给业务赋能,网上充斥着各种名词,Agent、LLM、RAG、MCP、Function Call,看的眼花缭乱,本文会将它们比作是一台电脑的各个组成部分,通俗的给大家讲清楚这几个是什么?它们之间的联系是什么?
LLM(语言模型)- CPU
LLM 全称叫 Large Language Model(大语言模型),例如:ChatGPT、Claude、Gemini 等,这个是最常见的,大家应该第一个接触 AI 产品就是这些。2022 年 11 月 30 日 OpenAI 发布 ChatGPT,最初是的交互形式就是在网页上和大模型进行聊天。
后来人们想让 AI 扮演指定的角色,就出现了“提示词”(Prompt),人们不想每次都要告诉 AI 它需要扮演的角色,就出现了”系统提示词“(System Prompt),再后来人们将自己的提示词分享出来,就出现了“GPT 商店”,将自己写好提示词的 Chat 分享出来。例如:写作助手、编程专家。
RAG(检索增强生成)- 磁盘/内存
RAG 全称叫 Retrieval-Augmented Generation(检索增强生成)
- 检索(Retrieval): 从外部知识库(文档、数据库、网络)快速查找最相关的信息片段。
- 增强(Augmented): 将这些精准信息“喂”给 LLM。
- 生成(Generation): LLM 结合自身理解力和检索到的信息,生成更准确、更可靠的回答。
LLM 有自己的上下文限制,如果上下文和提问相关性比较弱,LLM 就会出现“幻觉”,开始胡说八道。为了防止这种问题,人们将提问相关的知识通过上下文一起给 LLM,这样就可以让回答更靠谱。这时候会用到向量数据库构建知识库,常见的向量数据库有 Pinecone、chroma、PostgreSQL+pgvector。
Function Call(函数调用)- USB 接口
函数调用(Function Calling/Tool Use)。LLM 本质没有调用外部 API 的能力,只是告诉你需要调哪些 API,包括函数名称、入参。工具的具体实现需要自己定义。每家大模型 Function Call 实现方式不同,所以它并不通用。
MCP(模型上下文协议)- 应用层协议
https://modelcontextprotocol.io/introduction
模型上下文协议(Model Context Protocol),当 Agent 同时处理多任务、调用多工具时,如何保证不“精神分裂”?MCP 就是关键调度员。
核心能力:
- 上下文管理:动态记住对话历史、任务状态(如“用户已选 7 月 1 日出发”)
- 信息压缩:自动摘要长篇内容,节省“记忆内存”
- 多工具协同:调度 API、数据库、图像识别等模块有序协作
Agent(智能体)- 操作系统
统筹所有资源的调度中枢
核心能力:
- 自主决策:理解目标后拆解任务(如:查机票 → 订酒店 → 做攻略)
- 调用工具:像人类一样使用浏览器、计算器、订票软件等
- 持续迭代:根据结果调整计划(如发现机票超预算,立即改方案)
开发 AI Agent 的技术框架常用的有两个,langchain(Python) 和 Spring AI(Java)
langchain: https://github.com/langchain-ai/langchain
Spring AI: https://github.com/spring-projects/spring-ai
举个例子 🌰
假设你在用 ChatGPT 做“旅游助手”,它的背后工作流程是:
- Agent 说:“我来帮你订行程”(决策逻辑)。
- RAG 提供“旅游目的地介绍”(检索硬盘上的资料)。
- LLM 组织语言:“北京春天很美…”(核心大脑处理)。
- Function Call 调用 flight API 查票价(行动接口)。
- MCP 让这一切的“上下文”组织得清清楚楚(类似一套统一协议,把用户输入、历史记录、知识检索、函数调用组合起来发给模型)。
如果大家有补充,欢迎在评论区交流。