掘金 人工智能 前天 10:58
零基础掌握AI Agent:从Prompt到Function Calling与MCP
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了AI Agent的工作机制,从Prompt提示词工程、AI Agent智能体、Agent Tool代理工具到Function Calling函数调用和MCP模型上下文协议,全面解析了AI Agent如何通过标准化工具调用来完成复杂任务。文章强调了Prompt的重要性,阐述了Function Calling在统一格式和规范描述方面的优势,并介绍了MCP作为一种标准化协议,如何促进AI模型与外部工具的高效交互。通过对这些关键概念的解读,帮助读者构建对AI Agent更深入的理解。

💡 **Prompt提示词工程是AI Agent的基础。** System Prompt定义AI的行为边界、角色设定和输出格式,而User Prompt则提供具体的请求和上下文信息,两者共同指导AI的响应。

🤖 **AI Agent智能体具备自主决策能力。** 它接收并处理用户输入,调用合适的工具/函数来完成任务,并与用户进行多轮交互,实现从“知道”到“做到”的跨越。

🛠️ **Agent Tool代理工具扩展AI Agent的能力。** 它们包括Web浏览器、文件读写、数据库查询和第三方API接口等,通过访问数据库、API、搜索引擎等,帮助AI Agent执行复杂任务。

⚙️ **Function Calling函数调用实现结构化工具调用。** 它将用户的自然语言请求转化为结构化函数调用,提高了响应准确性和实用性,并采用标准化的json格式描述工具,规范了AI调用工具时的输入输出格式。

🔗 **MCP模型上下文协议统一AI Agent与工具的通信。** 它定义了工具注册、发现、调用的标准接口,支持插件式扩展,方便接入新功能,使得不同的Agent可以共享同一套工具服务,提高了系统的灵活性和可维护性。

🧠 一句话:

AI Agent 在 System Prompt 的约束下,根据 User Prompt 进行思考,通过 Function Calling 使用 Agent Tools,并借助 MCP 实现标准化工具调用,从而完成复杂任务。

1. Prompt提示词工程

记得AI小白我刚上手dify的时候,在引入用户输入变量、文档解析结果变量的时候,傻傻分不清System Prompt和User Prompt。

我们在聊天框发送一条消息给AI模型,然后AI模型生成一个回复,我们发的消息就叫 User Prompt,也就是用户提示词,一般就是我们提出的问题或者想说的话。

但是大模型是通用大模型,回答我们的问题就比较通用,因为需要提前进行人设。这个人设就是User Prompt,也就是系统提示词。System Prompt主要用来描选AI的角色、性格、背景信息、语气等。

2. AI Agent智能体

当智能体概念满天飞的时候,领导说我们要各种Agent,当时对Agent概率比较模糊,只知道各种业务场景有对应场景的Agent,说白了就是让AI自己去完成任务。

开源项目AutoGPT这个框架的创新之处在于:通过将业务函数及其功能描述、调用方式等元信息注册到系统中,AutoGPT能自动构建包含这些知识的System Prompt。当与大语言模型交互时,这些经过结构化编排的提示词(Prompt)就赋予了AI调用工具、执行任务的能力,实现了从"知道"到"做到"的跨越。AutoGPT这种负责在模型、工具和最终用户之间传话的程序,就叫做AI Agent

3. Agent Tool代理工具

在AutoGPT框架中,AI可调用的函数或服务被称为Agent Tool。不过这种机制存在一个显著问题:尽管在系统提示(system prompt)中已经明确规定了AI应返回的格式,但由于大语言模型本质上是概率模型,仍然可能出现返回格式不规范的情况。目前,许多AI代理在检测到格式错误时会自动进行重试操作,但这种反复重试的机制往往给用户带来不可靠的体验。为此,主流大模型厂商已开始着手解决这一问题。

4. Function Calling函数调用

以ChatGPT、Claude、Gemini等为代表的大模型普遍推出了名为Function Calling的创新功能,其核心设计理念在于实现格式的统一化和描述的规范化。

在技术实现上,Function Calling采用了一种结构化的方式:它将Agent Tools的工具定义从传统的system prompt中分离出来,转而使用标准化的json格式进行描述。每个工具都对应一个json对象,其中明确定义了工具名称、参数说明及返回格式。这种方式不仅规范了AI调用工具时的输入输出格式,还使得工具的描述更加清晰和机器可读。

然而,Function Calling在实际应用中也面临一些挑战。最突出的问题是行业标准的缺失——不同厂商的API在具体实现上存在差异,而且许多开源模型尚未支持这一功能,这给开发跨模型通用的AI Agent系统带来了不小的困难。

正是由于这些现实因素,目前市场上形成了System prompt和Function Calling两种工具调用方式并存的局面。

3. MCP模型上下文协议

最初,AI Agent 和工具(Tools)的通信方式很简单——直接把工具代码写在 Agent 里面,需要时就调用对应的函数。这种方式虽然直接,但有个问题:很多工具(比如网页浏览器、文件读写)是通用的,如果每个 Agent 都自己实现一遍,不仅麻烦,还会导致代码重复,维护起来很困难。

于是,人们想出了一个更好的办法:把工具变成独立服务,让所有 Agent 都能远程调用。这个方案的核心就是 MCP(Multi-agent Communication Protocol) ,它定义了一套标准,让 Agent(MCP Client)和工具服务(MCP Server)之间可以高效交互。

    工具管理
      MCP Server 提供各种工具(Tools),比如网页访问、数据库查询等。Agent 可以查询 Server 支持哪些工具,以及每个工具的使用方法(参数、格式等)。
    扩展服务
      Resources:类似文件存储和读取的服务。Prompt:提供预定义的提示词模板,方便 Agent 快速调用。
    灵活的通信方式
      本地通信:Agent 和 Server 在同一台机器上时,可以通过标准输入/输出(stdin/stdout)交互。网络通信:Server 可以部署在远程,Agent 通过 HTTP 等协议调用它。

MCP 和 AI Agent 的关系

虽然 MCP 是为 AI Agent 设计的,但它不依赖任何特定的 AI 模型。它的作用只是帮 Agent 统一管理工具、资源和提示词,至于 Agent 内部用什么模型(GPT、Claude、Gemini 等),MCP 并不关心。
这样一来,不同的 Agent 可以共享同一套工具服务,既减少了代码冗余,也让整个系统更灵活、更容易维护。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI Agent Prompt Function Calling MCP 工具调用
相关文章