Prompt、Function Calling、MCP、AI agent这些术语频繁闯入我们的视野,它们到底都是什么、有啥关系。只需十分钟,咱们抽丝剥茧,揭开它们的神秘面纱,轻松掌握这些关键概念 并了解AI agent 完整执行流程。
一、提示词(Prompt)
1.1 什么是提示词?
用一句来解释:提示词 (Prompt) 是引导 LLM 进行内容生成的命令。它可以是任何内容:一句话,一个问题,或者一个计算公式等灯。当 LLM 收到提示词后便开始根据提示词和之前训练的数据,生成相关的回应。
1.2 Prompt分为两种
-
SYSTEM PROMPT(系统提示):比如“你是一位极其专业的天气查询专家”。这种定义模型角色(如专业顾问、客服等 )、语调和限制,它影响整个对话过程,确保模型回复符合特定风格并且遵循特定规范。
-
USER PROMPT(用户提示):比如“我要查询最近三天上海天气”。这种由用户输入的内容,向模型提出具体情境或需求。
比如下图中的“天气查询机器人”,人设与回复逻辑就是System Prompt;预览与调试中,用户向模型发文的“查询一下最近三天上海天气”就属于User Prompt。
1.3 那什么是提示词工程呢?
提示词工程(Prompt Engineering)是有技巧的使用提示词,从而最大限度地提高 LLM 响应的有效性、准确性和实用性。“工程” 表明了这是一个持续的,不断迭代优化的过程。
OpenAI 分享了优化提示词的六大策略: 1.Write clear instructions 编写清晰的说明。 2.Provide reference text 提供参考文本。 3.Split complex tasks into simpler subtasks 将复杂任务拆分为更简单的子任务。 4.Give the model time to "think" 给模型时间 “思考”。 5.Use external tools 使用外部工具。 6.Test changes systematically 系统地测试变化
二、 Function Calling
2.1 什么是Function Calling?
用一句话来解释:Function Calling(函数调用)就是允许大模型通过调用外部定义的函数来获取特定信息或执行特定任务,以增强模型的能力。
2.2 Function Calling出现的背景
早期的大模型,对于“9.9与9.11谁更大?“这样的简单数学问题也会出错。OpenAI 公司为了解决这些问题,想到了让大模型与外部工具交互的破解之法,因此提出了 Function Calling 机制,使大模型能够根据需要自行选择合适的工具,从而解决问题。比如上面的“9.9与9.11谁更大?“让大模型直接调用一个计算器就比自己推理更好。
OpenAI的Function Calling规范:包含了工具类型Type和工具定义Function两个部分,工具类型是写死的 "function",工具定义包含名称、描述和参数三个部分。比如下图中的addTool。
大模型“调用”工具的机制的本质是agent是将工具用文字描述清楚,并和问题一起发送给大模型,由大模型判断选择哪个工具能解决问题。
注意:大模型只能选择使用工具!而不能调用工具!
三、MCP(Model Context Protocol)
3.1 什么是MCP呢?
同样用一句话来解释:通过提供标准化的方式让大模型来连接各种外部资源。
MCP(Model Context Protocol) —— 它提供了一个标准化、统一的方式让大模型来连接各种外部资源(如工具、数据等),让所有AI模型都能以一致的方式获取和使用这些资源。你可以理解为一个通用接口,类似USB接口。
无MCP与有MCP对比
3.2 出现的背景
虽然 Function Calling 实现了调取外部函数,但 Function Calling是OpenAI为自家模型设计的工具,最适合需要快速接入OpenAI生态的场景。虽然其核心思想「让大模型调用外部API」被其他厂商借鉴,但各家实现方式不同,缺乏统一标准,这也正是 Claude 推出 MCP的原因。
相信下面的图片应该很多人都看到过。
3.3 核心价值,解决三大问题
-
第一数据孤岛问题 -> 打通本地/云端数据源
-
第二重复开发问题 -> 工具开发者只需适配 MCP 协议
-
第三AI 工具生态割裂问题 -> 形成统一工具市场
3.4 如何实现简单MCP Server
参考:三只熊猫:一篇文章理解MCP以及手动实现简单MCP Server
四、AI Agent
4.1 什么是AI agent?
用一句话解释为 AI agent 是以大语言模型为驱动,具备自主感知、理解、规划、记忆和工具使用能力,能自动化执行复杂任务的智能实体 。
4.2 AI agent 执行完成流程
-
第一步:用户将一个问题“明天北京的天气怎么样”,提交给AI agent (或者MCP Client),agent 会将用户的问题包装在User Prompt中;
-
第二步:AI agent 通过MCP协议,从MCP server 中获取所有Tool信息(比如获取到DayWeather),AI agent会把这些Tool信息转化封装成System Prompt或者转化成Function calling格式,然后和用户请求User Prompt一起打包发送给大模型;
-
第三步:大模型发现有一个叫DayWeather的查询天气工具,于是通过普通回复或者Function calling格式,产生一个调用这个Tool请求,希望去外部搜索答案发送给AI agent。
-
第四步:AI agent 收到该请求后,通过MCP协议,去调用MCP Server里的查询天气工具,执行请求「DayWeather」API并将结果返回给AI agent,agent再转发给大模型。
-
第五步:大模型根据「DayWeather」返回的内容,再结合自己的头脑风暴,生成最终的答案,返回给AI agent。
-
最后由agent将结果展示给用户。