当前位置: 首页 > news >正文

一篇文章讲清Prompt、Agent、MCP、Function Calling

如果你最近关注 AI 领域,一定会被一堆新名词“轰炸”:Agent、MCP、Function Call……
每个人的说法都不一样——有人把 Agent 翻译成 智能体,有人把 MCP 比喻成 AI 时代的 USB 协议,还有人说 Function Call 是大模型最关键的能力之一。

但它们到底是什么?之间又有什么关系?
别担心,今天我会用一篇文章,把 Agent、MCP、Prompt 和 Function Call 全部串联起来,让你彻底不再混淆。

1. Prompt

1.1. User Prompt

在最初用 GPT 的时候,我们只是单纯地跟它聊天。

比如说:

“我今天考试没考好。”

这句话,就是 User Prompt(用户提示词) —— 用户直接说出口的内容。

1.2. System Prompt

单靠 User Prompt,AI 的回答往往都是中规中矩、客观理性的:

  • “别灰心,可以总结一下错题。”
  • “考不好没关系,努力就好。”

但现实中,不同的人会给出截然不同的反应

  • 老师:你要复习基础知识,多刷题。
  • 好朋友:哈哈,没事,下次我带你去玩,放松一下。
  • 妈妈:是不是手机玩太多了?

为了让 AI 带上这些“角色感”,我们需要额外告诉它:

“你现在是我的好朋友友。”

再输入同样的 User Prompt:

“我今天考试没考好。”

AI 这时就可能说:

哈哈,没事,下次我带你去玩,放松一下。

这种“角色设定”的信息,就是 System Prompt(系统提示词)
它专门用来规定 AI 的身份、语气和风格。

System Prompt 主要用来描述 AI 的 角色、性格、背景、信息、语气 等等——总之,凡是不是用户直接说出来的内容,都可以放进 System Prompt。每次用户发送 User Prompt 时,系统都会自动把 System Prompt 一起发送给 AI 模型,这样整个对话就显得更加 自然、连贯

在网页端的聊天机器人中,System Prompt 往往是 系统预设,用户无法随意更改。但通常平台会提供一些自定义功能,比如 ChatGPT 里的 Customize ChatGPT,用户可以在其中写下自己的偏好,这些偏好会自动成为 System Prompt 的一部分,从而影响 AI 的表现风格。

2. Agent

在前面我们讲了 User PromptSystem Prompt,也就是 AI 的输入和角色设定。即使 System Prompt 再完美,AI 本质上还是一个聊天机器人——它可以给你答案,或者告诉你该怎么做,但实际动手的还是你自己

那么问题来了:

能不能让 AI 自己去完成任务,而不是只给出建议呢?

这就引出了 Agent 的概念。

第一个尝试让 AI 自主执行任务的开源项目是 Auto-GPT
Auto-GPT 本质上是一个 本地运行的小程序,它的核心思想是:把 AI 的思考和操作分开,让 AI 可以调用工具完成任务

举个例子:
如果你想让 Auto-GPT 帮你管理电脑里的文件,你需要先准备一些函数:

  • list_files:列出目录
  • read_file:读取文件
  • ……其他文件管理函数

然后,你把这些函数以及它们的功能描述和使用方法 注册到 Auto-GPT 中。
Auto-GPT 会根据这些信息生成一个 System Prompt,告诉 AI:

  • 用户给了你哪些工具
  • 这些工具是干什么的
  • 如果想使用它们,AI 应该返回什么格式的调用信息

接下来,当用户发送请求,例如:

“帮我找一下元神的安装目录”

AI 会根据 System Prompt 判断:

  • 调用哪个函数(比如 list_files
  • 返回指定格式的信息

Auto GPT 解析 AI 的输出后,会自动调用对应函数,然后把结果再返回给 AI。AI 会根据函数结果继续决定下一步操作,这个循环不断进行,直到任务完成。

这个过程就这样反复,直到任务完成为止,人们把 Auto GPT这种负责在模型工具和最终用户之间传话的程序,就叫做AI Agent, 而这些提供给AI调用的函数或者服务就叫做 Agent Tool

  • AI Agent:负责在模型、工具和最终用户之间传话的程序,让 AI 能够自主执行任务
  • Agent Tool:提供给 AI 调用的函数或服务,AI 可以通过它们完成具体操作

简单来说 AI 类似于大脑,Agent 相当于传话员,Tool 类似于手和脚(执行操作)。

3. Function Calling —— 规范化的工具调用方式

在前面介绍的 AI Agent 架构中,我们通过 System Prompt 告诉模型有哪些工具、该怎么调用、返回的格式是什么。但问题是:
AI模型本质上是一个概率模型,它并不总是按照你要求的格式返回结果,经常会出现“答非所问”或者“格式不对”的情况。为了纠正这种“调皮”的行为,很多Agent框架会在发现AI返回错误时进行 自动重试。虽然这种办法能解决问题,但重试过多会浪费 Token 成本,也显得不够稳定。

于是,大模型厂商开始出手,推出了 Function Calling 功能。它的核心思想就是:统一格式、规范描述

  • 在 Function Calling 中,每个工具都用 JSON 对象来定义:
  • 工具名写在 name 字段
  • 功能说明写在 description 字段
  • 所需参数写在 parameters 字段
  • 这些工具描述被单独放在一个字段中,不再混在 system prompt 里。
  • 模型在调用工具时,也必须返回符合规定的 JSON 格式

这样一来:

  1. 工具描述和调用结果都标准化,方便 AI 理解。
  2. 服务器可以自动检测和纠正错误的回复,用户几乎无感知。
  3. 减少了用户端的开发复杂度,也节省了 Token。

不过,Function Calling 也有一个明显问题:没有统一标准。不同大厂(OpenAI、Anthropic、Google 等)定义的 API 格式各不相同,很多开源模型甚至完全不支持 Function Calling。这意味着如果你要写一个跨模型通用的 AI Agent,会非常麻烦。

4. MCP —— 让 Agent 和工具解耦的通信协议

到这里,我们讲的都是 AI Agent 和模型之间的通信方式。接下来我们看 另一边:Agent 是怎么和 Agent Tools 交互的。

最简单的方式是:把 Agent 和 Tools 写在一个程序里,直接用函数调用解决。这也是大多数框架一开始的做法。但问题是:

  • 有些工具功能很通用,比如“浏览网页”、“读取文件”,可能多个 Agent 都需要。
  • 如果每个 Agent 都内置一份代码,就会造成重复和维护困难。

于是人们提出了一个更优雅的方案:把 Tools 做成服务,统一托管,让多个 Agent 来调用。这就是 MCP (Model Context Protocol)

MCP 的核心作用是:

  • 规定 Agent(MCP Client)Tool 服务(MCP Server) 之间的交互方式。
  • MCP Server 需要提供接口,说明自己有哪些工具、功能描述、参数格式等等。
  • 除了普通的工具(函数调用),MCP Server 还能提供:
    • Resource:文件读写类的数据接口
    • Prompt:提示词模板

通信方式也很灵活:

  • Agent 和 MCP Server 可以跑在同一台机器上,用标准输入输出(stdio)通信;
  • 也可以部署在网络上,用 HTTP 通信。

这里要注意一点:MCP 本身和 AI 模型没有关系。它不管 Agent 用的是什么模型,只负责帮 Agent 管理工具、资源和提示词。

总结来说:Function Calling:解决“AI 调用工具时不规范”的问题,但各家标准不一。MCP:解决“Agent 和工具耦合太紧”的问题,用统一协议管理工具和资源。

5. 总结

最后,把整个流程梳理一下。假设我明天要考试,但还没复习,于是我问 AI Agent(也就是 MCP Client):“我明天考试该怎么复习比较高效?”

  • 用户提问
    这个问题会被包装成 User Prompt,交给 AI Agent。
  • Agent 获取工具信息
    Agent 通过 MCP 协议,从 MCP Server 那里获取所有工具的信息。
    这些工具信息可能会被 Agent 转换成 System Prompt 的形式,也可能转成 Function Calling 的 JSON 格式,然后和用户的 User Prompt 一起打包,发送给 AI 模型
  • AI 模型决定用哪个工具
    AI 模型收到后,发现有一个名叫 Web Browse 的网页浏览工具。它便产生一个调用请求(普通回复或 Function Calling 格式),表示要上网搜索“考试复习方法”。
  • 工具调用
    Agent 收到这个请求,再通过 MCP 协议去调用 MCP Server 里的 Web Browse 工具
    Web Browse 访问指定网站,把内容返回给 Agent。
  • AI 模型生成答案
    Agent 把搜索结果交还给 AI 模型,模型结合网页内容和自身知识,最后给出答案:“先整理重点,再做历年真题,最后保证充足睡眠。”
  • 结果展示
    Agent 再把最终结果展示给用户。

这就是 System Prompt、User Prompt、AI Agent、Agent Tool、Function Calling、MCP、AI 模型 之间的联系与区别。它们不是互相取代的关系,而是像一个个齿轮一样,彼此配合,最终构成了完整的 AI 自动化协作完整体系

http://www.dtcms.com/a/431314.html

相关文章:

  • 网站栏目设计方案物流网络货运平台
  • 异步静态Sdram操作
  • 淘宝客的网站是怎么做的运城学院教务网络管理系统
  • 天津哪里做网站东莞网站建设服务有什么用
  • 网站原型设计和版式设计网站设计哪家公司好
  • 详解doris基础
  • 利用表单大师做网站济南建网站app
  • 网站需求分析文档懒人办公ppt模板免费
  • Java 集合框架之 List 全面解析(从概念到实践)
  • Linux-03_02(Linux实用操作)
  • 毕业设计 网站开发如何用dw做网站框架
  • Matlab通过GUI实现点云的最小二乘法(Kabsch)配准
  • 南浔建设局网站怎样进行seo
  • 全flash 电子商务网站如何推广医疗企业网站模板免费下载
  • 宁波市城市建设档案馆网站鹿泉区建设局网站
  • 密集人群中的行人检测YOLO数据集
  • 智能网站建设平台中国新闻社领导名单
  • 【杂谈】-AGI 辩论:炒作、怀疑与现实期望之间
  • 【LaTeX】 4 LaTeX 逻辑结构
  • 做淘宝还是做网站容易查看网站外链
  • 百度seo整站优化wordpress后台无法登陆
  • 黄骅海边旅游景区上海搜索引擎关键词优化
  • 学习Java第二十七天——黑马点评25/95
  • 小迪web自用笔记44
  • Linux 中的 PS1、PS2、PS3、PS4:深入理解 Shell 提示符
  • 做网站的傻瓜软件wordpress 装主题
  • 如何拷贝服务器里面网站做备份免备案做网站 可以盈利吗
  • 【LangChain】P5 对话记忆完全指南:从原理到实战(上)
  • 建设部网站办事大厅辽宁省建设行业协会网站
  • Python圣诞祝福