掘金 人工智能 前天 17:21
(小白向)什么是Prompt,RAG,Agent,Function Calling和MCP ?
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入浅出地介绍了大模型技术在对话起点、信息增强、行动执行及工具调用等方面的关键演进。从最初的User Prompt到引入System Prompt以赋予模型“人设”,再到RAG技术解决信息“编造”问题,实现“带着资料回答”。文章进一步探讨了Agent如何让模型从回答走向行动,能够自主协调模型与外部工具完成任务。Function Calling通过标准化JSON格式提升了工具调用的准确性和稳定性。最后,MCP作为连接Agent与工具的桥梁,规范了它们之间的交互,使得工具能够被多个Agent共享。这些技术的协同发展,旨在让AI更有效地服务于人类,推动自动化协作的进步。

📝 **Prompt的进化与角色设定**:文章指出,大模型最初以对话机器人的形式出现,用户输入User Prompt,模型生成回复。为解决回答中规中矩、缺乏情境化的问题,引入了System Prompt,用于设定模型的角色、语气和背景信息,使对话更自然、更符合场景,赋予模型“人设”。

🔍 **RAG技术实现“带着资料回答”**:为了解决模型知识范围受限于训练数据、容易“编造”信息的问题,RAG(Retrieval-Augmented Generation)技术应运而生。它允许模型在回答问题前,先检索外部真实信息(如官方文档),再基于检索到的信息生成回答,从而提高回答的准确性。

🚀 **Agent驱动AI从回答到行动**:Agent概念的提出,是为了让模型不仅能生成文字,还能具备一定的自主性,协调模型与外部工具完成任务。例如,Agent可以调用电脑的文件管理函数来执行文件分类等操作,实现了从“如何做”到“直接去做”的转变。

💡 **Function Calling规范化工具调用**:为了解决早期Agent依赖System Prompt调用工具时可能出现的格式不规范问题,大模型厂商提出了Function Calling功能。它通过JSON结构化方式,标准化了工具的定义与调用格式,如工具名称、描述、参数等,极大地提升了模型调用工具的准确性和稳定性。

🌉 **MCP连接Agent与工具的桥梁**:在实际应用中,为了解决工具的共享和高效调度问题,MCP(Model Context Protocol)应运而生。它规定了Agent(MCP Client)与工具服务(MCP Server)之间的通信协议,使得Agent能够高效地调度和使用各种独立的服务化工具,如浏览器自动化、仓库管理等。

Prompt:对话的起点

在最初,大模型更多以对话机器人的形式出现。用户输入一句话,即 User Prompt(用户提示词) ,模型基于这段话生成回复。比如在对话框里输入“我想复习一下线性代数的基础”,模型会给出相应的学习建议。

然而,这种回答通常中规中矩,缺乏情境化。为此,开发者引入了 System Prompt(系统提示词) 的概念,用于设定模型的角色、语气和背景信息。比如,当系统设定为“你是一位大学数学助教”,同样的问题会得到更贴合身份的回答:“我们可以先从矩阵的基本运算开始,你要不要先试一道例题?”

System Prompt 让模型具备“人设”,使对话更自然、更符合场景。多数情况下,它由系统预设,但部分平台也允许用户进行个性化设置。

比如在 trae 中我想要让 AI 扮演 Github 助手帮我提交代码,相关的提交细节我都放在系统提示词中让它时刻遵循:

RAG:让模型“带着资料回答”

虽然 Prompt 能设定场景,但模型的知识范围仍受限于训练数据,容易“编造”信息。为了解决这个问题,出现了 RAG(Retrieval-Augmented Generation,检索增强生成)

举个例子:如果你问“React 19 有哪些新特性?”,没有 RAG 的模型可能会乱编,而有 RAG 的系统会先去查 React 官方文档,再基于检索到的真实信息回答你。

在这里 chatpgt 就基于了官方文档来进行回答

Agent:从回答到行动

Prompt 和 RAG 解决了“如何更好回答”的问题,但模型仍然停留在文字层面,它能给出建议,却无法真正执行操作。于是,Agent(智能体) 的概念被提出。

Agent 的作用不仅是生成文字,而是具备一定的自主性,可以协调模型与外部工具完成任务。以一个日常场景为例:如果你希望“帮我整理下载文件夹,把图片和文档分类好”,传统模型会告诉你怎么做,而一个 Agent 可以真正调用电脑的文件管理函数来执行。

实现方式是这样的:开发者会为 Agent 提供一系列工具函数,例如“列出文件”“移动文件”等,并将这些函数的描述告知模型。当你下达任务时,模型会按照规则生成调用请求,Agent 解析后真正执行,再把结果反馈给模型。模型据此决定下一步动作,直到完成整个任务。

比如在 Cursor 的聊天栏里的我们能看到模式选择面板。

当前模式:Agent(已选,推荐)—“Plan, search, build anything”。让 AI 代理自主规划、搜索并执行操作。

Function Calling:让调用更规范

早期 Agent 主要依赖 System Prompt 来告诉模型如何调用工具,但模型本质上是概率生成的语言模型,难免会输出格式不规范的调用请求。通常的解决方案是“出错就重试”,但这种方式既低效也不够稳定。

为了解决这一问题,大模型厂商提出了 Function Calling(函数调用) 功能。它通过结构化的方式,把工具的定义与调用格式标准化:

这样一来,模型调用工具时更准确,服务端也能更容易地检测与处理错误,大大提升了稳定性与效率。如今 Function Calling 已经成为主流方案,但由于尚无统一标准,不同厂商的实现方式仍存在差异。

而 Cursor 通过 标准化函数调用 让模型操作工具:

{  "name": "run_code",  "arguments": {    "language": "python",    "code": "print(1+1)"  }}

Function Calling 保证模型调用工具时格式规范,避免执行出错。

MCP:连接 Agent 与工具的桥梁

在实际应用中,工具往往需要被多个 Agent 共享。例如“网页搜索”就是一个通用工具,不可能在每个 Agent 中都重复实现。于是,人们提出了将工具独立出来,以服务的形式提供。这就需要一个通信协议来规范 Agent 与工具服务之间的交互,MCP(Model Context Protocol,多通道协议) 应运而生。

MCP 规定了 Agent(MCP Client)与工具服务(MCP Server)如何通信。它不仅能让 Agent 调用工具函数,还能提供文件、数据资源甚至提示模板。MCP 可以在本地通过输入输出通信,也可以通过网络接口实现。需要强调的是,MCP 本身并不直接与模型交互,它的职责是管理工具与资源,让 Agent 能够高效地调度和使用。

trae 中的 MCP 市场中我们能看到许多热门 MCP 工具:

它们能提供如 Puppeteer(浏览器自动化等)、GitHub(仓库管理等)、Figma(助力设计)等各类工具,方便开发者集成使用以实现不同功能。

一个完整的协作流程

为了更直观地理解,不妨用一个场景来串联这些概念。假设用户对 Agent 说:“帮我查一下这周末上海的天气,并发一封提醒邮件给我。”

    用户输入 User Prompt。Agent 通过 MCP 获取可用工具的信息,比如“天气查询接口”和“邮件发送接口”。Agent 将工具描述与用户请求一并传递给模型。模型生成调用天气工具的请求。Agent 解析请求并调用 MCP Server 的天气服务,得到结果。模型根据天气结果生成下一步调用:发送邮件。Agent 执行邮件发送工具,将提醒发送到用户邮箱。最终,Agent 把结果返回用户:“已为你发送邮件,提醒你周末出门注意带伞。”

在这个过程中:

小结

有人担心AI的进步会取代人类工作,带来焦虑和恐惧。但从技术角度看,Prompt、Agent、MCP等技术的出现,正是让AI更好地服务于人类的工具。它们不是彼此取代,而是像齿轮一样相互配合,推动AI自动化协作不断前进。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

大模型 Prompt RAG Agent Function Calling MCP
相关文章