【AI-agent】AI Agent核心概念理解
目录
- 1 何为AI Agent
- 2 Prompt
- 2.1 User Prompt
- 2.2 System Prompt
- 3 AI Agent
- 4 Function Calling
- 5 MCP
- 6 总结
- 写在最后
1 何为AI Agent
最初,LLM(大语言模型)只是类似文本聊天机器人的一个文本生成工具,它只能解决是什么、为什么、怎么做的问题,但具体如何做还是需要用户自己操作。
而AI Agent(人工智能代理)则赋予了LLM更多的能力,使其能够直接帮助用户解决问题。例如,现在,你只需要告诉AI,xxx出了xxx问题,帮我修复一下。AI Agent就会自主运用工具,进行检索文件等操作,帮你解决问题,而你只需要做好一个决策者(要不要做,可不可以做),具体流程图如下:

别急,看懂这个图之前,首先先要具体了解下AI Agent相关的核心概念!
2 Prompt
2.1 User Prompt
用户提示词(User Prompt)是用户在与AI系统交互时输入的指令、问题或请求,即你对AI模型所说的话。在2023年,ChatGPT发布,其本质上就是一个聊天形式的文本生成工具,具体流程如下:

Step 1:你向GPT提问:“我可以睡觉吗?”
Step 2:GPT礼貌回复:“如果你感觉到困,适当的休息是必要的”
Step 3:你再次向GPT提问:“我可以睡觉吗?”
Step 4:GPT依旧礼貌回复:“如果你困了,你就可以睡”
…
在这个过程中,你向GPT提问的语句就被称作User Prompt。但这有个比较大的问题,无论你问它多少次,它给你的回答都好像遵顼某种规范(回答的过于礼貌了),然而,在现实生活中,你对女朋友、老板、同学等问相同的问题,可能回答是不同的。女朋友可能会回答:“你去睡吧,一直睡好了!”,而老板可能只会回复一个:“?”。归根到底,是因为GPT并没有任何身份背景,它和你“不熟”!
怎么解决呢?
很简单!你可以在对话过程中带上:“你是我女朋友,我可以睡觉吗”,这样GPT就会给你不一样的回答。但实际上,“你是我女朋友”并不是我们想要说的话,我们还是希望只问:“我可以睡觉吗”,对于身份信息等,希望GPT自己知道,而不必我每次告知。由此,我们引入一个新的概念 System Prompt。
2.2 System Prompt
System Prompt(系统提示词)是AI系统中用于定义AI行为、角色和能力的重要指令集。它是在用户交互之前预设的一系列指导原则,用于塑造AI的响应方式、知识范围和行为边界。
System Prompt的主要特点和功能包括:
● 角色定义:明确AI应该扮演的角色,如助手、顾问、专家等
● 行为准则:规定AI应该如何回应,包括语气、风格和格式要求
● 能力边界:定义AI能做什么和不能做什么
● 知识范围:指定AI应该使用的知识领域和限制
● 安全约束:设置防止有害、不当或危险输出的保护措施
● 任务指导:为特定任务提供专门的执行指令
在上面的例子中,“你是我女朋友”就可以作为一个System Prompt,我们来回到刚刚的流程:

Step 1:你问了GPT一句,“我能睡觉吗”,这时会自动带上System Prompt
Step 2:GPT实际接收到的是两个信息,“你是我女朋友”(System Prompt),“我能睡觉吗”(User Prompt)
Step 3:现在,GPT知道它的身份是你女朋友了,GPT经过思考,回复:“你去睡吧,一直睡好了!”
完美!
然而,System Prompt虽然能帮助AI回答该问题,但如果我们换个问题:“现在是2025年10月30日,你知道深圳明天的天气吗?”它可能就会回答:
抱歉,我无法提供深圳明天的实时天气信息。我的知识库不包含实时天气数据,而且我无法访问互联网来获取当前的天气预报。如果您需要了解深圳明天的天气,建议您:1.查看天气预报应用或网站(如中国天气网、天气通等)
2.使用搜索引擎搜索"深圳明天天气"
3.查看手机自带的天气应用
这是由于LLM大语言模型是预先训练好的,其知识截止于训练数据的时间点,不具备实时联网获取信息的能力。对于他不懂或者无法解决的内容,大概率会告诉你怎么查资料,怎么做,需要你自己操作去解决。
那么如何让AI能够自主帮助你解决问题、完成任务呢? AI agent 就是为了解决这个问题的。
3 AI Agent
AI Agent(人工智能代理)是指能够感知环境、做出决策并执行行动的自主智能系统。第一个做出尝试的是github上的一个开源项目Auto GPT。它是基于GPT-4等大语言模型的实验性开源应用程序,旨在实现AI自主完成任务的能力。现在,有一个任务:“找包含’项目计划’的Word文档并总结”,来看看Auto GPT是如何做的:

Auto GPT采用"思考-计划-执行-评估"的自主循环模式:
pre. 工具→AI:预先注册好工具方法,作为System Prompt,让AI知晓有哪些工具、怎么调用
Step 1. 人→Auto GPT: 用户设定目标(如"找包含’项目计划’的Word文档并总结")
Step 2. Auto GPT→AI: 传入User Prompt,即AI知晓要做什么事情
Step 3. AI→Auto GPT: 决策需要使用哪些方法,让Auto GPT调用
分解任务为搜索→读取→分析→总结
循环调用工具:先列目录,再搜索文件,然后读取内容
Step 4-5. Auto GPT→工具方法→AI: Auto GPT调用工具方法,返回结果给AI,AI根据结果决策下一步行动,该过程可能反复,直到任务完成
Step 6-7. AI→Auto GPT→人: 将任务结果返回给用户
整个过程Auto GPT自主决策每一步行动,通过工具链调用扩展能力,最终完成复杂任务并返回结果给用户。这种设计实现了AI从被动响应到主动执行的转变,而例子中的提供给AI调用的工具方法称为 Agent Tools,Auto GPT这样负责在模型、工具和最终用户之间传话的程序则称为AI Agent。
但其实,AI是个概率模型,Step3返回的结果是不可控的,有可能返回格式不对的内容,为了处理AI返回格式的问题,很多AI Agent会在发现AI返回的格式不对时自动重试,这种不断重试的方式总是让人感觉不太靠谱,而为了规范这个问题,各大模型厂商推出了 Function Calling 的功能。
4 Function Calling
Function Calling(函数调用)是大语言模型的一项重要功能,允许AI模型在需要时调用预定义的外部函数或API,以扩展其能力范围,主要作用是统一格式、规范描述。 回到在Auto GPT举的例子,我们通过System Prompt告诉了AI有哪些工具、怎么使用,返回格式是什么,但这些描述是用自然语言编写的,而Function Calling则统一了标准,比如要求每个Agent Tool都需要用JSON格式定义,工具名用name字段,描述信息用desc,所需要的参数用params字段等等。
{"name": "read_file""desc": "读文件""params": {"path": "str"}
}
同时,Function Calling也规定了AI需要使用工具时要返回的格式,并将这些格式定义信息从System Prompt中剥离出来,这样一来,即使AI生成了错误的回复,因为回复格式是固定的,AI服务端就可以检测到,并进行重试,用户无感知。最终既降低了用户端的开发难度,也减少了用户端因为重试而增加的token开销。
但Functon Calling也有共性问题:没有统一的标准,每家API定义都不同,也有开源模型并不支持Function Calling,实现跨模型通用的AI Agent难度大。 因此目前还是处于System Prompt与Function Calling并存的状态。
说到底,无论是System Prompt还是Function Calling都是AI Agent与AI模型的通信方式。那AI Agent和Agent Tools是如何通信的呢?
最简单的做法,就是把AI Agent和Agent Tool写在同一个程序里面,AI Agent直接函数调用Agent Tools。但其实例如浏览网页、查询数据库这些Tools还是蛮通用的,多个Agent都需要使用,这样就需要在每个Agent里都拷贝相应Tool的代码,太不优雅了。 于是,人们想到一个方法,把Tool单独放到一个服务里统一托管,让所有的Agent都来调用,MCP就是为此而生的。
5 MCP
MCP(Model Context Protocol,模型上下文协议)是一种用于AI模型与外部工具和服务通信的标准化协议,旨在实现AI系统与各种数据源、API和工具之间的无缝集成,专门用来规范Agent和Tool服务之间的交互方式,负责帮Agent管理工具、资源和提示词。

6 总结
了解了Agent、Function Calling、Prompt、MCP的关系后,我们再来看这张图,整个过程就清晰明了了:
Step 1.User向AI Agent提问:“如何把大象放进冰箱”
Step 2.AI Agent将问题包装成User Prompt,Agent通过MCP协议从MCP Server获取所有Tool的信息
Step 3.AI Agent将Tool的信息转换成System Prompt或Function Calling的格式,和User Prompt打包发送给AI模型
Step 4.AI 模型了解有浏览网页的工具,通过普通回复或者Function Calling的格式产生调用Tool的请求上网搜索答案
Step 5.AI Agent接收到请求后,通过MCP协议调用MCP Server里的浏览网页的工具,浏览网页工具访问指定的网站后,将内容返回给AI Agent
Step 6.AI Agent将搜索的结果转发给AI 模型
Step 7.AI 模型根据网页内容及自己的思考,确认是否解决问题,如果没有则继续重复4-7的步骤,最终生成答案
Step 8.AI Agent将最终的结果展示给User:“先把冰箱打开,再把大象放进去”

写在最后
本文已被专栏 AI agent实战开发 收录,欢迎 点击订阅专栏
以上便是本文的全部内容啦!创作不易,如果你有任何问题,欢迎私信,感谢您的支持!

