P r o m p t 、 A g e n t 、 M C P 分别什么? \Huge{Prompt、Agent、MCP分别什么?} PromptAgentMCP分别什么?

1. AI模型交互与提示词演进

1.1 用户提示词 (User Prompt)

  • 定义: 用户发送给AI模型的消息,通常是提出的问题或表达的意图。
  • 局限性
    • AI模型缺乏预设的“人设”或“背景”。
    • 只能提供通用、中规中矩的回答,缺乏个性化和趣味性。
    • 即便面对相同的问题,也无法根据不同的上下文或角色给出差异化的反馈。

1.2 系统提示词 (System Prompt)

  • 产生背景: 为解决AI模型缺乏人设的问题,早期尝试是将人设信息与用户请求打包进同一条用户提示词中,但这使得请求内容显得不自然。
  • 定义: 将AI模型的人设、性格、背景信息、语气等独立出来的提示信息。只要不是用户直接说出的内容,都可以放置于系统提示词中。
  • 机制: 每次用户发送用户提示词时,系统会自动将系统提示词一同发送给AI模型,使对话更自然。
  • 应用场景
    • 网页端聊天机器人中,系统提示词常由系统预设,用户可能无法直接修改。
    • 部分平台(如ChatGPT的Customized ChatGPT功能)允许用户自定义偏好,这些偏好会自动整合为系统提示词的一部分。

2. AI智能体 (AI Agent) 及其工具 (Agent Tool)

2.1 AI Agent的引入

  • 需求背景: AI模型仅能提供答案或操作建议,无法自主执行任务。
  • 概念
    • AI Agent: 负责在AI模型、工具和最终用户之间进行协调和通信的程序。
    • Agent Tool: 提供给AI模型调用的函数或服务。
  • 早期突破 (AutoGPT示例)
    • AutoGPT架构: 一个本地运行的小程序。
    • 工具注册: 需预先编写并注册文件管理函数(如 list_filesread_files),并提供其功能描述和使用方法。
    • 系统提示词生成: AutoGPT根据注册的工具信息,生成一个系统提示词,告知AI模型可用的工具、其功能以及调用时应返回的格式。
    • 任务流程:
      1. 用户请求(例如“帮我找一找原神的安装目录”)与包含工具信息的系统提示词一同发送给AI模型。
      2. AI模型若足够智能,会根据要求格式返回一个调用特定函数的请求。
      3. AutoGPT解析请求,调用对应函数。
      4. 函数执行结果返回给AI模型。
      5. AI模型根据结果决定下一步操作。
      6. 此过程反复进行,直至任务完成。

2.2 早期Agent架构的挑战

  • 格式不确定性: AI模型作为概率模型,即便在系统提示词中明确规定了返回格式,仍有可能生成格式不符的内容。
  • 解决方案 (客户端重试): 许多AI Agent在检测到AI返回格式错误时,会自动进行重试。
  • 现状: 部分知名Agent(如kline)仍采用此方式,但重试机制增加了不确定性和开发复杂度。

3. 函数调用 (Function Calling)

3.1 Function Calling的提出

  • 背景: 为解决早期Agent架构中AI返回格式不确定的问题,大型模型厂商(如ChatGPT、Claude、Gemini)推出了Function Calling功能。
  • 核心思想: 统一工具描述和AI调用工具时的返回格式规范。

3.2 Function Calling的机制

  • 工具描述标准化:
    • 每个工具都使用JSON对象进行定义。
    • 工具名(name)、功能说明(description)、所需参数(parameters)等字段被标准化。
    • 这些JSON对象不再置于系统提示词中,而是单独存放于一个特定字段。
  • AI返回格式规定: Function Calling明确规定了AI模型使用工具时应返回的格式,从而消除了系统提示词中对格式定义的需要。
  • 优化效果
    • 所有工具描述集中且格式统一。
    • AI模型调用工具的回复格式也得到统一。
    • 便于大模型厂商更有针对性地训练AI模型,使其更好地理解和执行工具调用场景。
    • 即使AI生成了错误回复,由于格式固定,AI服务器端可自行检测并进行重试,用户端无感知,降低了用户端的开发难度和重试带来的Token开销。

3.3 Function Calling的局限性

  • 缺乏统一标准: 各大模型厂商的API定义不同,未形成行业通用标准。
  • 兼容性问题: 许多开源模型尚未支持Function Calling。
  • 现状: Function Calling与系统提示词两种方式在市场上并存,因各自优劣而适用于不同场景。

4. MCP协议 (Agent与Tool/服务的通信)

4.1 MCP的诞生背景

  • 问题: 某些Agent Tool的功能具有通用性(如网页浏览工具),若每个Agent都独立拷贝一份代码,将导致重复且不优雅。
  • 解决方案: 将Agent Tool服务化,进行统一托管,供所有Agent调用。

4.2 MCP定义与组件

  • 定义: MCP (Model Context Protocol) 是一个通信协议,专门用于规范Agent与Tool/服务之间的交互方式。
  • 核心组件
    • MCP Server: 运行Agent Tool/服务的服务器。
    • MCP Client: 调用MCP Server上Agent Tool/服务的Agent。
  • MCP规范内容
    • 定义了MCP Server与MCP Client之间的通信方式。
    • 规定了MCP Server需提供的接口,例如查询可用的Tool、Tool的功能描述、所需参数格式等。

4.3 MCP Server提供的服务类型

  • Tool: 提供函数调用形式的服务。
  • Resource: 提供数据,类似于文件读写服务。
  • Prompt: 为Agent提供提示词模板。

4.4 MCP的部署方式

  • 可与Agent运行在同一台机器上,通过标准输入输出进行通信。
  • 可部署在网络上,通过HTTP进行通信。

4.5 MCP与AI模型的关系

  • 重要说明: MCP是一个为AI定制的标准,但其本身与AI模型无关。
  • 职责: MCP仅负责帮助Agent管理工具、资源和提示词,不关心Agent具体使用了哪个AI模型。

5. 整体流程梳理与相互关系

5.1 完整协作流程示例

  1. 用户请求: 用户(作为MCP Client的一部分)向AI Agent提问(例如“我女朋友肚子疼,应该怎么办?”)。
  2. Agent封装: AI Agent将用户请求包装为用户提示词。
  3. 获取工具信息: AI Agent通过MCP协议,从MCP Server获取所有可用的Agent Tool信息。
  4. 发送至AI模型: AI Agent将获取到的Agent Tool信息转换为系统提示词格式或Function Calling格式,与用户提示词一同打包发送给AI模型。
  5. AI模型决策: AI模型识别到可用的工具(例如“Web Browse”网页浏览工具),生成一个调用该工具的请求(可以是普通回复或Function Calling格式),意图通过网络搜索答案。
  6. Agent调用工具: AI Agent接收到工具调用请求后,通过MCP协议调用MCP Server上的“Web Browse”工具。
  7. 工具执行与返回: “Web Browse”工具访问指定网站,将网页内容返回给AI Agent。
  8. Agent转发: AI Agent将网页内容转发给AI模型。
  9. AI模型生成答案: AI模型根据网页内容和自身知识,生成最终答案(例如“多喝热水”)。
  10. Agent展示结果: AI Agent将最终结果展示给用户。

5.2 关键概念间的关系

  • 系统提示词、用户提示词、AI Agent、Agent Tool、Function Calling、MCP、AI模型等概念并非相互取代,而是像齿轮一样协同工作,共同构成了AI自动化协作的完整体系。

6. 小结

  • AI技术的进步引发社会各界对未来影响的关注。
  • 在科技巨变中,普通人常处于被动接受变革的角色。
  • 理解AI Agent等基础概念,有助于个体更主动地迎接时代挑战,而非被动裹挟。

构成了AI自动化协作的完整体系。


6. 小结

  • AI技术的进步引发社会各界对未来影响的关注。
  • 在科技巨变中,普通人常处于被动接受变革的角色。
  • 理解AI Agent等基础概念,有助于个体更主动地迎接时代挑战,而非被动裹挟。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐