重生AI Agent应用开发工程师之十分钟带你吃透Prompt,AI Agent,Agent Tools,Function Calling和MCP

  由于最近各行各业都在谈论AI,使用AI,当然我们也不例外,AI确实是好个东西,是技术史上一大跃进,在我身边有做医疗系统的朋友,也在使用AI,他们通过AI来实现了,AI问诊知识库,AI识别患者的CT照片的病症等的医疗系统;也有实现企业的机械专业知识知识库。除此之外AI在我们软件编程上还有非常大的帮助如Cursor ,文心快码等,此外还有最近非常火爆的小龙虾,无人驾驶技术等等;在如此多应用下,我们来看看如何快速入门,本文主要以文本类的AI模型为主;

我们常说AI,那么AI本质上是什么? 
  从训练过程来看,未经训练的AI模型就像一个尚未掌握任何技能的孩子,不具备完成任务的能力。我们需要通过大量数据对其进行“教育”,让它从中学习知识、发现规律。
在此基础上,模型进一步学会如何进行推理——也就是根据输入的信息,结合已学到的知识,生成合理的输出。最终,我们得到一个经过充分训练的模型。
从技术角度看,我们常用的大模型,其工作原理是:当用户提出一个问题时,模型会基于训练阶段学到的语言规律和知识,通过复杂的算法进行推算,输出最有可能符合上下文的答案。
因此,AI的基本原理可以概括为:基于语言数据与统计模型的结合,通过算法实现从输入到输出的映射

image

Prompt

  那么接下来我们一步步去了解AI的基础,我们先来说说提示词;通常我们在对大模型说,我今天突然头晕;那么这个就是用户提示词(user prompt);这个用户提示词就是我们一般问AI的话;那么我们通过这种方式去问AI,AI就会比较笼统告诉我们你可以去医院检查。但现实生活中当我们同一个问题,问不同的人的时候,别人往往会给出不一样的回复;拿刚刚的问题来举例,我:我今天头晕;我妈:会说:是不是着凉生病了?我爸:是不是熬夜太晚了?我女朋友:滚一边去。那我们AI在回答问题时没有人设,他在回答我们问题时就会显得非常的僵硬无趣;于是我们就希望给AI加上一个人设,让他在回答我们问题时,达到我们更希望听到的话。那这时候我们就要对AI说,“你是我女朋友,我今天头晕”,AI就回复:“滚一边去”,可是我们并不希望在问问题时加入这个“你是我女朋友”的提示词,我们希望把这个词单独拿出来,不需要每次录入都填入这个提示词,那么这个就是我们说的“system prompt”系统提示词;我们可以对这个系统提示词填入角色,性格,背景知识和语气的系统提示词;最后我们会把用户提示词和系统提示词一起发给AI。那这个系统提示词一般在哪呢?在市面上我们可以看到我们在注册账号时会有兴趣爱好的选项统计出我们的要的人设;甚至于AI通过我们说话方式,统计出我们要的人设,那对话就显得更有趣了。

image

Agent 和 Agent Tools

  目前,我们对 AI 的使用仍停留在问答层面:AI 只能告诉我们“怎么做”,真正的操作仍需要我们自己完成。我们希望 AI 能够直接帮我们实现功能,比如在 IDE 中写代码,或者帮我们找到几天前写的文档并进行优化。

  最早,这类能力可以通过 AutoGPT 实现。举个例子:如果我们希望 AI 帮我们发一封请假邮件给上级,AI 本身并不能直接发送邮件。但如果我们把发送邮件的接口封装好,并注册到 AutoGPT 中,整个流程就能实现自动化:

  1. 用户提供可用的工具(接口)。
  2. 当 AI 需要使用某个工具时,会返回工具名。
  3. 我们将工具描述及返回信息组合成系统提示(system prompt),连同用户的输入(user prompt)一起发送给 AI。
  4. AI 根据问题调用接口执行命令,执行结果再返回给 AI,用于判断是否成功。

  我们把这种工具调用机制称为 Agent Tools

image

 

 Function Calling 

  需要注意的是,AI 仍可能返回格式不规范的内容,市面上通常通过多次调用来纠正,但这会显著增加流程复杂度。

  为了解决这个问题,OpenAI 等大模型推出了 Function Calling 功能。它允许我们为每个 Agent Tool 定义一个 JSON 对象来管理和描述工具,例如:

    {
  "name": "工具名",
  "desc": "功能描述",
  "params": {
        "path": "参数字段"
      }
  }

  将这个 JSON 对象单独放在一个字段中,AI 就能根据用户问题决定是否调用对应接口。这样一来:

    • AI 不会生成格式错误的调用请求
    • 开发难度大幅降低
    • 功能调用更稳定高效

MCP 

  现在AI Agent就这么建立好了,但是有个问题,我们现在发现有个Agent Tools的方法是通用的,但是我们又有很多Agent,我们需要每个Agent都要复制一次这个Agent  tool代码吗?显然不可能的,那这时候聪明的程序员就想到了一个方法,把Agent Tool变成一个服务,让所有的Agent都能调用,但是现在还有个难题,就是Agent  Tools大家的定义都是各式各样的,聪明程序员又想到了,大家就统一协议,这个协议叫MCP,这个MCP是个通信协议,用MCP实现的Agent Tools叫做MCP Server,而调用方则叫MCP Client。而这个MCP Server可以是本地服务,也可以是web服务;而通常这个MCP Server就是我们常常理解的业务服务,举例就是获取天气的服务,获取地图的服务,获取某些数据表报的服务等等。如果看到这里的你,相比肯定是有一定的工作经验,你所认知的Grpc也是可以用来做MCP的;现在大家要知道虽然MCP是为了AI而定制出来的标准,但实际上和AI没半毛钱关系。最后我们来梳理整个流程,用户问(user prompt):我头晕了,怎么办?->AI Agent获取到MCP里所有Agent Tools的信息或者转换成system prompt或者Function Caling格式,收到后通过调用MCP Server来处解决方法->接着和用户请求user prompt一起打包发送给AI模型->AI模型发现有个可用的工具可以用,于是就会通过普通回访或者Function Caling的方式产生一个调用Agent  Tool的请求给AI Agent->AI Agent收到这个请求后就去调用MCP来完成整个操作。

image

 

  准备好了吗?我们将一步步深入AI Agent开发的核心技术:RAG、GraphRAG知识图谱、上下文工程、AI思维链以及大模型Skill。学会这些,你就能开发企业级AI Agent,打造真正智能的知识库,开启属于你的AI探索之旅!

  接下来,我将带你逐步了解AI Agent开发所需的关键技术栈,助你成为真正的AI Agent开发者。

image

  让我们看看企业级AI Agent的架构图,进一步熟悉整个AI Agent工程师的技术全景。具体实现后面文章会带你一步步分篇实现。

 

image

 

posted @ 2026-03-31 23:41  冼润伟  阅读(48)  评论(0)    收藏  举报