AI关键概念
参考:Bilibili
Prompt
User Prompt
用户提示词,用于询问AI大模型的内容
在回答用户的问题时,由于AI大模型没有人设,只能给出通用的,四平八稳的回答,显得非常无趣。
于是我们希望给AI加上人设,最直接的方法就是将人设信息和用户的问题打包发给AI大模型。
比如:你是我女朋友,我肚子疼。这时AI可能会回答,滚一边去,我肚子也疼,这就对味了。(开玩笑)
但是,前面一句话:“你是我女朋友”,并不是我真正想说的内容,显得有一点出戏。
于是系统提示词应运而生。
System Prompt
系统提示词,专门用来设置AI大模型的角色,行为等
只要不是用户直接想说的内容,都可以放到系统提示词中。
每次发送User Prompt时,System Prompt也会被一并发送给AI大模型,这样整个对话就显得更加自然了。
不过说到底,人设设置的再完美,AI大模型终归是一个聊天机器人。你问一个问题,最多告诉你答案或者怎么做,最后实际动手操作的还是你。
那么能不能让AI自己去完成任务呢?
AI Agent和Agent Tool
第一个做出尝试的是一个开源的项目,叫做 AutoGPT。
如果想让AutoGPT帮忙管理本地的文件,需要提前写好一些函数,比如list_files用来列出文件列表、read_file用来读文件内容等。
然后需要把这些函数的功能描述,参数信息等注册到AutoGPT中,AutoGPT可以根据这些信息生成System Prompt,告诉AI大模型有哪些函数可以使用,如果要使用的话应返回什么格式。
最后把这个System Prompt和用户的请求,一起发给AI大模型。如果AI大模型足够智能,就会按照要求的格式返回要调用的函数的消息。
AutoGPT解析消息,调用函数,并把结果再次发送给AI大模型。AI大模型再根据函数调用的结果,决定下一步应该做什么操作。这个过程会一直反复,直到任务完成。
AutoGPT这种在AI大模型,工具和用户之间传话的程序,叫做AI Agent。
提供给AI大模型的函数或者服务,叫做Agent Tool。
Function Calling
不过这种架构存在一个问题,虽然我们在System Prompt中写清楚了AI大模型应该要返回什么格式,来调用函数。但AI大模型不一定会100%按照要求返回。
为了处理这个问题,很多AI Agent在发现AI返回的格式不对时,会自动重试。
但重试总归让人觉得不靠谱,于是大模型厂商开始出手,纷纷推出Function Calling的功能,核心思想是将这一过程规范化。比如每个Tool都用一个Json对象来定义,包含Tool的名称、功能说明,参数信息等,同时也规定了AI大模型使用工具时应返回的格式。
有了Function Calling,就不用在System Prompt中拼接Tool的信息和要求返回的格式信息了,而是将这些信息单独发放到一个字段里。
在这种情况下,如果AI大模型还是生成了错误的回复,因为格式是固定的,自己就可以检测到并且进行重试。这不仅降低了用户端的开发难度,也节省了用户端重试带来的Token开销。
正是由于这些好处,现在越来越多的AI Agent开始从System Prompt转向Function Calling。
MCP
总结一下AI Agent和AI大模型之间的通信,主要涉及到:User Prompt、System Prompt、Agent Tool、Function Calling。
接下来要看AI Agent和Agent Tool之间的通信。
最简单的做法是把AI Agent和Agent Tool写在同一个程序中,直接调用函数即可。
但有些Agent Tool的功能是通用的,总不能在每个AI Agent中都写一遍,太麻烦了,也不优雅。
于是,大家又想到一个方法,把Tool变成服务(抽出去),让所有的AI Agent都可以来调用,这就是MCP。
MCP全称Model Context Protocol,模型上下文协议,用于规范AI Agent和Agent Tool之间的通信。
提供Tool的服务,叫做MCP Server;调用它的AI Agent,叫做MCP Client。MCP同时也规范MCP Server要提供哪些接口,比如查询MCP Server中有哪些Tool,Tool的功能描述,参数信息等。
除了Tool这种函数调用的形式,MCP Server也可以直接提供数据:
- Resource:提供类似文件读写的服务
- Prompts:为AI Agent提供提示词的模板
MCP Server和MCP Client可以跑在一台机器上,通过标准的输出输入进行通信;也可以在不同台机器上,通过网络进行通信。
MCP和AI大模型没有直接关系,它只是负责帮AI Agent管理工具,资源,提示词,并不关心AI Agent用的是哪个大模型。
相互协同的流程

-
我问AI Agent(或者说MCP Client),肚子疼怎么办;
-
Agent把问题包装在User Prompt中,通过MCP协议从MCP Server获取Tool的信息,并把这些Tool信息转化为System Prompt或者Function Calling的格式。然后把这些信息和User Prompt一起发给AI大模型;
-
AI大模型发现有一个叫做web_brwose的Tool,它可以用来搜索浏览网页,于是产生一个调用这个Tool的请求(普通回复或Function Calling的格式);
-
Agent收到请求后,通过MCP协议调用MCP Server中的web_brwose Tool,搜索浏览网页;
-
Tool执行完成后,将结果返回给Agent;Agent再将内容发送给AI大模型;
-
AI大模型根据网页内容和自己的思考,生成最终答案,最后由Agent将答案展示给用户

最后总结一下,这些关键概念不是取代的关系,而是相互协同,一起构成AI自动化协作的完整体系。

浙公网安备 33010602011771号