欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 【NLP 72、Prompt、Agent、MCP、function calling】

【NLP 72、Prompt、Agent、MCP、function calling】

2025/5/15 4:00:14 来源:https://blog.csdn.net/m0_73983707/article/details/147810810  浏览:    关键词:【NLP 72、Prompt、Agent、MCP、function calling】

命运把我们带到哪里,就是哪里

                                                —— 25.5.13

一、Prompt

1.User Prompt 用户提示词

        当我们与大模型进行对话时,我们向大模型发送的消息,称作User Prompt,也就是用户提示词,一般就是我们提出的问题或者想说的话

        但是我们在现实生活中与人对话,同一个问题不同的人会有多种的回复,但是当我们和AI交流时,同一个词只会有一种通用性回复,若想让AI也能像人一样提供不同的回答,我们可以对AI添加一个“人设”

        ① 最直接的方法,就是将给AI提供的人设信息和用户的要求打包成同一条User Prompt发送

        ② 将人设信息单独提出来,放到一个提示词中,这个提示词我们称为System Prompt


2.System Prompt 系统提示词

        System Prompt主要用来描述AI的角色、性格、背景信息、语气等等(只要不是用户直接说出的内容,都可以放进System Prompt中)。每次用户发送User Prompt时,同时系统会自动发送System Prompt 

        在网页端的聊天机器人中,System Prompt往往是系统预设的, 用户不能随便更改,但是通常来讲,网站会提供一些设置,用户可以写下自己的偏好,这些偏好再自动转换为System Prompt的一部分


二、Agent

1.什么是Agent

        大模型 Agent 是指基于大型预训练模型(如 GPT-3、GPT -4、文心一言、通义千问等)构建的智能体,能够理解和生成自然语言。它以大型语言模型作为核心计算引擎,利用模型的语言理解、生成和推理能力,结合自主性、交互性、反应性和主动性等特点,使 AI 能够更加智能地应对各种任务,可看作是能够思考与行动的 “智能助手”,不仅理解需求,还能主动提供解决方案并付诸实践。


2.AutoGPT

        本地运行的一个小程序

步骤

① 准备一些功能函数

② 将这些函数和其功能描述、使用方法一同注册到AutoGPT中,AutoGPT会根据这些信息生成一个System Prompt,告诉AI模型用户提供了哪些工具以及它们的功能、以及如果AI想要使用他们应该返回怎样的格式等等

③ 然后将这个System Prompt连同用户的请求一同发送AI模型

④ AI模型按照要求的格式返回一个调用某个函数的消息,AutoGPT进行解析之后,调用对应的函数

⑤ 将结果丢给AI

⑥ AI根据函数调用的结果决定下一步进行什么操作

⑦ 反复以上流程,直到任务完成为止


3.AI Agent & Agent Tool

人们将AutoGPT这种负责在模型、工具和最终用户之间传话的程序叫做AI Agent,而这些提供给Agent的函数或服务,就叫做Agent Tool


三、function calling

        虽然我们在System Prompt中声明了AI模型的返回格式,但是AI模型是一个概率模型,还是有可能返回格式错误的内容,为了处理这种情况,很多AI Agent会在发现AI返回的格式不对时,自动进行重传,例如Cline

        ChatGPT、Claude、Gemini等公司推出一个叫做function calling的新功能,这个功能的核心思想是:统一格式,规范描述,function calling对这些描述System Prompt进行一些标准化,例如:每个Tool都用一个JSON对象来定义,工具名写在name字段,功能说明写在desc字段,工具所需要的参数写在params中,然后这些JSON对象从System Prompt中被剥离出来,单独放到一个字段中,最后,function calling也规定了AI使用工具时应该返回的格式,所以System Prompt中的格式定义也可以删除

        通过function calling,所有的工具描述都放在相同的地方,所有工具描述也都按照相同的格式(JSON),AI使用工具时的回复也都依照相同的格式(JSON),于是人们就能更有针对性的训练AI模型,让他理解这种调用的场景,且因为回复的格式是固定的(JSON),当AI的回复格式出现错误时,AI自己可以检查到出现错误并进行重试,用户根本感觉不到,降低了用户端的开发难度,同时也节省了用户端重试带来的Token开销

缺点

        没有自己统一的标准,每家大厂定义的API标准都不同,甚至很多开源模型还不支持Function Calling,因此 System Prompt Function Calling 两种方式在市面上是并存的     

  


四、MCP协议

把Tool变成服务,统一的托管,让所有的Agent进行调用,这就是MCP

MCP是一个通信协议,专门用来规范 Agent Tool 服务之间是怎么交互的,运行Tool的服务叫做MCP Server,调用它的 Agent 叫做MCP Client

MCP协议规定了MCP Server如何和MCP Client进行通信,以及MCP Server要提供哪些接口,

MCP除了普通的Tool这种函数调用的形式,MCP Server也可以直接提供数据,提供类似文件读写的服务叫做Resource,或者为Agent提供提示词的模板叫做Prompt

MCP Server 既可以和Agent跑在同一台机器上,通过标准输入输出进行通信。

也可以被部署在网络上,通过HTTP进行通信。

MCP本身和AI模型没有关系,它并不关心Agent用的是哪个模型,MCP只负责帮Agent管理工具、资源和提示词


五、梳理流程

① 对AI Agent(MCP Client)进行提问

② Agent将接收到的问题包装在USER PROMPT中

③ Agent通过MCP协议从MCP Server中获取所有Tool的信息

④ Agent将这些Tool的信息转化为 SYSTEM PROMPT 或 Function Caliing 的格式,然后和用户请求 User Prompt 一起打包发送给AI模型

⑤ AI模型发现有一个叫做web_browse的网页浏览工具,于是通过普通回复或者Function Calling的格式产生一个调用这个Tool的请求,希望从网上搜索答案

⑥ Agent收到这个请求后,通过MCP协议去调用MCP Server里的 web_browse 工具

⑦ web_browse工具访问指定的网站之后将内容返回给Agent

⑧ Agent再将内容转发给AI模型,AI模型根据网页内容和自己的思考,生成最终的答案,将答案传给AI Agent(MCP Client)

⑨ 最后,由AI Agent把结果展示给用户

这就是System Promt、User Prompt、AI Agent、Agent Tools、Function Calling、MCP、AI模型之间的联系与区别

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词