详细介绍:一篇文章讲清Prompt、Agent、MCP、Function Calling

news/2025/10/4 22:06:10/文章来源:https://www.cnblogs.com/slgkaifa/p/19125987

详细介绍:一篇文章讲清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告诉模型有哪些工具、该怎么调用、返回的格式是什么。但问题是:
按照你要求的格式返回结果,往往会出现“答非所问”或者“格式不对”的情况。为了纠正这种“调皮”的行为,很多Agent框架会在发现AI返回错误时进行就是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. 总结

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

  • 用户提问
    这个问题会被包装成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.mzph.cn/news/927598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker单机部署hadoop 官方镜像3.3.6 过程问题记录 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

20251004 qmd 弱化规约(未完成)

弱化规约就是指,对于原问题F,先考虑一个弱化版问题F 如果解决F的复杂度是O(n),那么F一定不会优于F 通常的,如果一个算法G能解决F和F,但是一个能解决F的算法不能解决F,那么F比F要弱。 一般弱化问题不能丢掉关键的…

深入解析:人工智能专业术语详解(C)

深入解析:人工智能专业术语详解(C)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

徐州做公司网站多少钱wordpress 评论优化

上期已经信息收集阶段已经完成,接下来是漏洞利用。 靶场思路 通过信息收集得到两个吧靶场的思路 1、http://192.168.195.33/phpmyadmin/(数据库的管理界面) root/root 2、http://192.168.195.33/yxcms/index.php?radmin/index/login&am…

怎么建设投票网站平面设计提高审美网站

当谈论MobileNet、MobileNetV2和MobileNetV3时,我们指的是一系列基于深度学习的轻量级神经网络架构,这些架构旨在在保持高度准确性的同时减少模型的计算和参数量。以下是它们各自的创新点的详细总结: MobileNet: 深度可分离卷积&…

网站后台界面 园林设计网站负责人照片

如果你想通过 RabbitMQ 的死信队列功能实现消费者拒绝消息投递到死信交换机的行为,你可以按照以下步骤操作: 创建原始队列,并将其绑定到一个交换机上: export RABBITMQ_SERVER127.0.0.1 export RABBITMQ_PORT5672 export RAB…

BQ24650 MPPT管理控制芯片测试

BQ24650 MPPT管理控制芯片测试 10月1号开始焊接调试,1号下午开始进行充电测试,截止到10月3号晚上23:05(因为夜间无人监护,所以夜间断电,停止测试。)终于看到充电结束,进入浮充状态(绿灯亮、红灯灭)…

黄金替罪羊

题面 黄金替罪羊实在是太难玩了,所以开拓者弄了个简化版。 黄金替罪羊需要替罪羊和开拓者的配合一起完成任务。 地图可以认为是一棵带权树,每次开拓者会问你一个有序点对 (u,v),表示起点为 u 而终点为 v,在开拓者的…

现在网站如何做优化装修体验馆app

行级触发器:当触发器被触发时,要使用被插入、更新或删除的记录中的列值,有时要使用操作前、后列的值.:NEW 修饰符访问操作完成后列的值:OLD 修饰符访问操作完成前列的值例1: 建立一个触发器, 当职工表 emp 表被删除一条记录时,把被…

有没有帮人做数学题的网站网站建设需求和页面需求怎么提

文章目录出库单业务流程基本流程扩展流程找不到符合条件的仓库,要求部分退款(未生成出库单时)找不到符合条件的仓库,全部退款(未生成出库单时)找不到符合条件的仓库,等待库存补足(未…

JVM 深入研究 -- 详解class 材料

JVM 深入研究 -- 详解class 材料pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

网站开发的3个阶段工作计划范文

作者 | 飞向星的客机来源 | CSDN博客🌟 前言镜像是构建容器的蓝图,Docker 以镜像为模板,构建出容器。容器在镜像的基础上被构建,也在镜像的基础上运行,容器依赖于镜像。本文将对 容器的运行 及相关内容进行详细讲解。容…

Spring Boot 缓存科技详解

Spring Boot 缓存科技详解2025-10-04 21:45 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

制作网站能挣钱怎么制作网站发布

[react] 在React中怎么阻止事件的默认行为? event.preventDefault();阻止浏览器默认行为, 例如标签不跳转 event.stopPropagation();阻止冒泡; 例如上级点击事件不生效 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很…

网站seo房屋经纪人网站端口怎么做

本期内容主要讲解的是关于在CST软件上电源直流压降仿真VRM的一些相关参数设置,小编我在之前文章中有说到过如何利用CST仿真电源信号的直流压降,不过有一些问题我这边再去补充一些。 首先就是VRM芯片的设置了,小编我还是按照之前那样设置&…

淘宝网站建设wordpress下载站批量

单元测试 单元测试在日常项目开发中必不可少,Spring Boot提供了完善的单元测试框架和工具用于测试开发的应用。接下来介绍Spring Boot为单元测试提供了哪些支持,以及如何在Spring Boot项目中进行单元测试。 1.Spring Boot集成单元测试 单元测试主要用…

【比赛记录】2025CSP-S模拟赛58

A B C D Sum Rank- 25 20 75 120 19/25乱序放题,被 T1 硬控了啊啊啊啊啊 A. 铁轨 原 B. 参加 看到区间操作想不到差分,设差分数组为 \(b\),那么要求即为 \(\forall i\in[1,k],b_i>0,\forall i\in[k+1,n],b_i<…

怎么外贸网站推广欧派家居全屋定制价格多少钱一平

我想知道如何将日期从Hive转移到MySQL&#xff1f;我已经看到了如何将hive数据移动到Amazon DynamoDB而不是像MySQL这样的RDBMS的示例.以下是我在DynamoDB中看到的示例&#xff1a;CREATE EXTERNAL TABLE tbl1 ( name string, location string )STORED BY org.apache.hadoop.hi…

油画风网站网站开发z亿玛酷1负责

文章目录 灰度发布&#xff0c;作用是&#xff1f;测试计划中测试开始条件一般包括哪些内容测试计划中的测试结束条件一般包含哪些内容测试人员是否需要代码能力&#xff0c;应用在哪些方面测试人员参与代码审核&#xff0c;重点关注什么产品上线后发现问题&#xff0c;如何产品…

Kafka06-进阶-尚硅谷 - 实践

Kafka06-进阶-尚硅谷 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…