零基础掌握AI Agent:从Prompt到Function Calling与MCP

🧠 一句话:

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

1. Prompt提示词工程

  • System Prompt(系统提示词):
    定义 :这是预设给 AI 模型的基础指令或上下文,用于定义模型的行为边界、角色设定、输出格式等。
    功能

    ① 设置 AI 的身份(如助手、客服、医生等)

    ② 规定行为准则(如不生成违法内容)

    ③ 提供基础指令(如"用中文回答"、"简洁明了")

  • User Prompt(用户提示词)
    定义 :由用户输入的具体请求或问题,是触发 AI 响应的主要来源。
    功能

    ① 向 AI 表达具体需求

    ② 控制对话方向和目标

    ③ 提供上下文信息

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

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

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

2. AI Agent智能体

  • 定义 :一个具备自主决策能力的 AI 实体,能够根据环境、用户输入、工具调用等进行推理并采取行动。
  • 功能
    ① 接收并处理用户输入
    ② 调用合适的工具/函数来完成任务
    ③ 决策流程与执行顺序
    ④ 与用户进行多轮交互

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

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

3. Agent Tool代理工具

  • 定义 :AI Agent 可以使用的外部资源或接口,用于扩展其能力范围。
  • 功能
    ① 访问数据库、API、搜索引擎等
    ② 执行计算、操作文件、控制设备等
    ③ 获取实时数据(如天气、新闻、股票)
  • 常见类型
    ① Web 浏览器工具
    ② 文件读写工具
    ③ 数据库查询工具
    ④ 第三方 API 接口(如 OpenWeatherMap)

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

4. Function Calling函数调用

  • 定义 :AI Agent 在推理过程中识别到需要外部信息或执行某个操作时,主动调用预定义的函数。
  • 功能
    ① 将用户的自然语言请求转化为结构化函数调用
    ② 实现从抽象思维到实际操作的桥梁
    ③ 提高响应准确性与实用性
  • 流程
    ① 用户提问 → AI 解析意图
    ② 判断是否需要调用工具
    ③ 构建函数参数并调用
    ④ 获取结果后返回给用户

以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 模型与外部工具之间通信的标准化协议,通常用于支持 Function Calling 和 Tool Management。
  • 功能
    ① 定义工具注册、发现、调用的标准接口
    ② 支持插件式扩展,方便接入新功能
    ③ 统一不同模型之间的行为规范
    ④ 提供安全机制,防止非法调用
  • 应用场景
    ① 多模态 AI 系统中协调视觉、语言、动作模块
    ② 企业级 AI 平台统一调度多个 AI 模型和工具

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

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

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

MCP 和 AI Agent 的关系

虽然 MCP 是为 AI Agent 设计的,但它不依赖任何特定的 AI 模型 。它的作用只是帮 Agent 统一管理工具、资源和提示词,至于 Agent 内部用什么模型(GPT、Claude、Gemini 等),MCP 并不关心。

这样一来,不同的 Agent 可以共享同一套工具服务,既减少了代码冗余,也让整个系统更灵活、更容易维护。

相关推荐
POLOAPI8 小时前
为什么Claude Code让传统IDE开发者"失业"?深度解析AI编程的技术革命
人工智能·ai编程·claude
编程恐龙13 小时前
“快准狠” 碾压同类!Claude Code 深度体验:从生成网页到重构 “屎山” 全搞定
ai编程·claude
MarvelCheng13 小时前
Claude Code 搭配 Kimi-k2 国内顺滑使用
ai编程·claude
云边有个稻草人14 小时前
飞算JavaAI—AI编程助手 | 引领开发新时代,智能化编程的完美助手
ai编程·java开发·飞算javaai炫技赛
nujnewnehc14 小时前
失业落伍前端, 尝试了一个月 ai 协助编程的真实感受
前端·ai编程·github copilot
Apifox14 小时前
如何在 Apifox 中给字段设置枚举(比如字符串、数组等)?
后端·ai编程·测试
银行数字化转型导师坚鹏15 小时前
坚鹏:AI智能体软件是知行学成为AI智能体创新应用引领者的抓手
ai·aigc·ai编程
AI产品自由16 小时前
哇塞!Chrome MCP + OpenAI Whisper = 播客秒变学习笔记
ai编程
都叫我大帅哥18 小时前
🌟 LangChain回调机制全解析:从入门到实战,打造你的AI智能小助手
python·langchain·ai编程
zzywxc78719 小时前
深入探讨AI在测试领域的三大核心应用:自动化测试框架、智能缺陷检测和A/B测试优化,并通过代码示例、流程图和图表详细解析其实现原理和应用场景。
运维·人工智能·低代码·架构·自动化·流程图·ai编程