构建您的第一个生产AI代理:Google ADK、RAG和MCP — 以及何时需要人工批准
Google ADK负责执行,RAG负责记忆,MCP负责行动 — 而任何不可撤销的操作都需要人工批准。这是我们从余永宝博士的免费AITraining2U网络研讨会中整理的笔记,其中包含一个解决销售佣金争议的实时代理。
- 讲座
- 构建您的第一个生产 AI 代理(Google ADK、RAG、MCP)
- 主讲人
- 余永坡博士 — 拉曼大学管理与科技大学(TAR UMT)CBIEV副主任,曾任某上市银行数据科学实验室负责人
- 主持人
- Warren,AITraining2U创始人
- 时间
- 2026 年 10 月 29 日星期四,马来西亚时间晚上 9 点。原定 90 分钟;实际运行约 1 小时 45 分钟
- Where
- 线上,AITraining2U的免费周四网络研讨会之一
- 材料
- 39 张幻灯片,演讲者 AI 前线部署工程师系列中的“实用现场指南”,以及 Python 笔记本中的现场演示
“构建您的第一个生产 AI 代理”是 AITraining2U 于 2026 年 10 月 29 日举办的免费周四晚间网络研讨会,由余永波博士主讲,公司创始人 Warren 主持。这是演讲者本月在该系列中的第二场讲座。第一场讲座于 10 月 8 日举行,内容是关于前线部署工程师的工作——在客户公司内部工作并将 AI 连接到其真实系统的工程师。本次讲座展示了如何构建代理本身,其中包含三个经常一起出现的工具:Google 的代理开发工具包(ADK)、检索增强生成(RAG)和模型上下文协议(MCP)。
信息图将整个讲座浓缩在一页上。其后的部分将通过演讲者自己的示例逐一介绍每个部分。

本部分使用的术语
- AI 代理
- 一个 AI 系统,不仅能回答问题,还能规划步骤、调用工具并更改数据以完成任务。
- 协调器
- 管理代理工作的部分:它将任务分解为多个步骤,并将每个步骤分配给合适的专业代理。
- Google ADK
- Google 的代理开发工具包,一个用于在代码中构建、测试和运行代理的开源框架。
- RAG
- 检索增强生成:首先在您自己的文档中找到相关段落,然后让模型根据这些段落回答问题。
- MCP
- 模型上下文协议,Anthropic 创建的一个开放标准,为 AI 模型提供了一种通用的方式来查找和使用外部工具和数据。
- 向量数据库
- 一种将文本存储为数字列表的数据库,因此它可以通过含义而不是精确的词语来查找段落。ChromaDB 是一个常见的例子。
- 人在回路中
- 一种设计,其中在代理执行某些操作之前,必须由人批准。
余永坡博士是谁?
余永波博士是拉曼管理与科技大学(TAR UMT)CBIEV 的副主任,其工作是将大学与行业联系起来,并将研究转化为商业项目。根据幻灯片的介绍,演讲者此前曾领导一家上市银行的数据科学实验室,将 100 多个机器学习模型投入实时银行系统,设计了一个大型一体化推荐系统,并管理着超过 10 亿令吉收入背后的预测模型。
这次讲座旨在实用而非学术。演讲者说,行业更关心解决方案是否能解决客户的问题,而不是理论。
90 分钟计划
演讲者以举手示意开场。不少人听说过 Google ADK,听说过 RAG 的人更多一些。接下来的问题更难:有没有人曾在单个系统中部署过 100 多个代理?
从问题开始,而不是模型
在幻灯片中,前线部署工程师的工作是“生产布线”,而不是模型训练:将前沿模型连接到真实的数据库、API 和业务规则,通过固定边界消除意外,并在生产中而不是基准测试中衡量价值。演讲者说,工程师更像是一位顾问,与客户保持一致,并遵循客户的节奏、需求和痛点——而不是反过来。
“我的理念是,如果能用简单的解决方案,我总是会用简单的解决方案。”
如果一个方程式就足够了,就不需要深度学习;如果一个脚本就足够了,就不需要代理。所以问客户的第一个问题是,工作的哪一部分是重复性的,因为这就是自动化的目的。
运行中的例子来自一种常见的请求:销售人员对他们的月度佣金有争议。演讲者说,当追溯这些投诉时,根本原因往往不是错误的计算,而是时间。费率是正确的,但系统由于时间戳尚未显示。只有当痛点及其原因明确后,为之设计代理才有意义。
为什么 AI 代理需要特殊的管道?
幻灯片将大型语言模型描绘成一个非常聪明的孩子,身处一个没有窗户的房间。这个孩子在门关闭之前学会了语言、逻辑和大量的知识,但看不到今天的天气、实时传感器值或公司的私人文件夹。如果要求提供客户文件,孩子只能猜测。
将所有内容粘贴到提示中并不是答案。用演讲者的话说,即使是最大的模型也只能一次读取大约一百万到两百万个令牌,而一个 AI 如果一次接收太多信息,就会开始遗忘——就像一个人被要求在一分钟内阅读一千本书一样。这个孩子需要通过门传递两样东西:正确的页面,以及一个接触外部世界的方式。这就是 RAG 和 MCP。
协调器 — Google ADK
管理对话,规划步骤,将每个子任务交给专业代理并检查结果。
内存 — 企业级 RAG
找到回答此问题的几页公司文档,以便模型阅读事实而不是猜测。
接口 — MCP
从代理到数据库、ERP 和薪资系统的一个标准连接器,因此无需为每个工具编写自己的胶水代码。
什么是 RAG?图书馆和图书管理员
RAG(检索增强生成)让 AI 模型可以根据您自己的文档回答问题。它首先搜索文档,然后将最相关的段落与问题一起交给模型,这样答案就基于模型从未训练过的事实——并且可以引用这些事实。
在演讲者的描述中,它就像一个拥有优秀图书管理员的图书馆。图书馆藏有数百万份公司文档,AI 从未记忆过。当问题出现时,图书管理员使用目录找到重要的几页,并将它们从门下递进去,孩子则根据这些新鲜的页面回答问题。
在底层,文档被切分成块,每个块都被转换成一个向量——一个捕捉其含义的数字列表。问题在被提出时也变成了一个向量。指向相同方向的向量是相似的:它们之间的角度接近零,余弦接近一,演讲者将其与学校数学联系起来。最相似的块被发送到模型,模型编写答案。一个常见的免费向量数据库是 ChromaDB。
什么是 MCP?一个插头连接所有工具
MCP(模型上下文协议)是一个开放标准,由 Anthropic 于 2024 年 11 月发布,它为 AI 模型提供了一种通用的方式来查找和使用外部工具和数据——数据库、文件和业务系统。一个会说 MCP 的代理可以使用任何提供 MCP 服务器的工具,而无需为每个工具编写自定义代码。
数据库、云盘和工厂机器都有自己的协议;幻灯片称之为巴别塔问题。模型上下文协议为每个工具提供相同的连接器,就像 USB-C 为每个设备提供一个插头一样。它由 Anthropic 创建,现在已在整个行业中使用,因此代理可以与 PostgreSQL、Slack 或工厂机器通信,而无需为每个工具编写自定义胶水代码。

RAG 与 MCP:有什么区别?
RAG 和 MCP 执行不同的任务,通常一起使用。RAG 是一个知识系统:它在您的文档中找到正确的段落。MCP 是一个行动系统:它将代理连接到可以查找或更改事物的软件。演讲者说,两者都关乎效率和成本:RAG 避免将所有内容塞进提示中,MCP 避免为每个工具编写和维护不同的连接器。
RAG — 图书管理员
一个知识系统
- 找到正确的页面,以便 AI 可以阅读
- 解决过时知识:模型从未见过您的私人文档
- 通过分块、向量和相似性搜索工作
- 提供可供您检查的来源答案
MCP — 通用插头
一个行动系统
- 安全地将 AI 连接到外部软件
- 解决连接器问题:所有工具都采用一个标准
- 通过 JSON-RPC 作为主机、客户端和服务器工作
- 可以读取数据或安排操作,而不仅仅是对话
在聊天中被问及 MCP 与普通 API 有何不同时,演讲者解释说,API 可以是 MCP 服务器背后的工具之一。MCP 是代理查找和调用该工具的标准方式。
何时应该使用 MCP — 何时不该使用?
第一个思考角恰好问了这个问题。演讲者补充说,大多数情况下,一个简单的独立脚本根本不需要 MCP。
在以下情况下使用 MCP…
- 许多团队在公司内部共享许多工具
- 相同的工具服务器必须与多个 AI 客户端(Gemini、Claude、代码编辑器)一起工作
- 必须在不重新部署代理的情况下添加或交换工具
跳过MCP,当…
- 一个简单、独立的Python函数就能搞定
- 循环需要亚毫秒级的速度
- 你无法将每个工具限制在其所需的最小权限
什么是 Google ADK?指挥家
Google ADK (Agent Development Kit) 是谷歌用于构建、测试和部署AI代理的开源框架。在生产代理中,它是协调器:它保持对话状态,调用模型,运行步骤并将每个步骤交给正确的工具或专业代理。
演讲者谨慎地表示,在演讲中使用Google ADK并非声称它是最好的工具包:它在马来西亚很常见且易于上手。付费的无代码替代方案包括Microsoft Copilot Studio和Gemini Enterprise,中国也有其同类产品。
代理运行时
保持提示状态,调用模型并运行步骤循环。
工件存储
在提示之外,保存代理所需或创建的文件、图像和数据集。
工具中心
一个地方用于注册代理可能使用的函数、API和MCP服务器。
一个代理系统需要一个管理者,就像一个团队一样。在ADK中,这个管理者就是协调器:一个主管代理,它接收请求,将其分解为多个步骤,并将每个步骤分配给一个专业的专家——一个负责搜索政策库,另一个负责读取账本或传感器数据。每个工作者只看到其自身子任务的输入,这使得提示保持简短并降低成本,并且一个验证代理会检查其他工作者的工作。

幻灯片提供了两种组织代理的方式,并推荐第一种用于银行和其他受监管的工作。
分层主管
可预测 — 推荐用于银行和受监管的工作
- 父代理充当指挥者
- 它将每个具体任务分配给专业代理
- 工作者只看到自己任务的输入,因此提示保持简短
- 更易于测试、审计和重放
对等群体
协作 — 适用于开放探索和研究
- 代理之间互相传递工作
- 任务中的提示决定哪个代理下一步行动
- 有更多头脑风暴的空间
- 更难预测和调试
在问答环节中,一位参与者询问ADK与Google Antigravity的关系,演讲者同意聊天中给出的答案:Antigravity是一个基于Visual Studio Code的代码编辑器,用于从头到尾构建整个应用程序,而ADK是一个用于设计代理本身的框架。LangGraph是另一个开源的代理框架,不隶属于谷歌。
一个巨型提示还是多个代理?
演讲者将代理与员工进行了比较。雇佣太多会浪费资源;将所有工作交给一个人,只给一小时的指示,就会跳过步骤。AI代理的行为方式相同:一个过载的代理会开始跳过指令——演讲者说,一个团队在当天试图通过减少代理数量来节省成本时就遇到了这种情况。
- 约20个在一个大型提示中的工具易于构建,运行轻巧
- 8–10个错误开始增多的工具幻灯片显示,超过这个数量,幻觉会急剧增加
- 2–3个每个专家的工具主管的工作人员应该携带的工具数量
- 5个以上工具:是时候拆分了或者一旦工具需要不同的安全性
演讲者强调,没有唯一的正确答案。要为结果而设计,并衡量它。
为什么简单的 RAG 在生产中会失败?
简单的RAG——分块、向量和一次相似性搜索——足以用于演示,但在公司内部,它会在四个方面出现问题:分块失去上下文,精确代码被遗漏,旧政策被召回,模型甚至从不相关的文本中给出答案。幻灯片将其列举如下。
| 缺陷 | 出了什么问题 |
|---|---|
| 分块断开 | 分割将表格与解释其定义的文本分开 |
| 关键词盲点 | 相似性搜索遗漏了精确的模型编号和客户代码 |
| 时效性陈旧 | 索引不知道哪个版本的政策是最新版本 |
| 被动接受 | 即使检索到的文本不相关,模型也会给出答案 |
阈值有助于解决最后一个问题。即使是最佳匹配也可能很差,因此低于最小相似度分数的块根本不应使用。演讲者提到了0.7或0.8,并承认确切的截止点在某种程度上是一个学术问题。其余的修复是一个四阶段的管道。
四阶段生产RAG管道
- 查询扩展:代理将一个问题改写成几个搜索版本
- 每个版本都被搜索混合检索:向量搜索用于语义,加上BM25关键词搜索用于精确词语
- 前50个结果被纳入交叉编码器重排序:只保留最好的5个段落
- 最好的5个进入模型基础检查:答案必须引用其使用的来源
RAG 还是微调:您应该使用哪一个?
使用RAG处理会变化或必须引用的知识,并使用微调处理行为:特殊的语法、固定的语气或固定的输出格式。微调会重新训练模型的一部分——通常是其外层——使用公司自己的示例。对于知识,这通常是错误的工具:每天都在变化的文档属于RAG。演讲者举例说明微调确实有效的地方是代码。电信公司和银行以自己的风格编写SQL,而必须可靠地编写和运行此类查询的代理可能需要学习这种风格。
RAG是必须的,当…
数据发生变化
- 文档每天、每小时或每次交易都会变化
- 你需要精确的引用、行号或来源证明
- 必须立即删除对文档的访问权限
微调获胜,当…
行为必须改变
- 模型必须学习特殊语法,例如自定义语言或SCADA模式
- 每个答案都需要固定的语气或JSON格式
- 数百万次重复调用使长提示成本过高
MCP 如何工作:主机、客户端和服务器
主持人
Google ADK运行时。它运行对话,调用模型并应用用户的安全规则。
客户端
一个适配器,通过标准输入输出或安全服务器发送事件,保持与每个服务器的一个连接。
服务器
一个暴露工具、数据流和提示模板的小程序——例如,核心银行账本。
MCP消息使用JSON-RPC标准。使用FastMCP库,一个工具大约需要十行Python代码:函数的文档字符串和类型提示成为工具发布的描述和模式,模型发送的参数在到达业务逻辑之前会根据该模式进行检查。演讲者的建议是在容器内运行MCP服务器。
MCP 的风险
MCP使工具易于插入——包括错误的工具。在幻灯片上,工具遮蔽被标记为最严重的风险。
| 风险 | 可能发生什么 | 防御 |
|---|---|---|
| 工具遮蔽 | 恶意服务器冒用受信任工具的名称,或在启动后更改其描述 | 使用内容哈希固定每个工具模式 |
| 权限过高的令牌 | 一个宽泛、永久的API密钥让代理看到的比用户可能看到的更多——甚至包括其他客户的数据 | 短期OAuth令牌,仅限于手头的记录 |
| 提示注入 | 检索到的文本包含试图引导代理的指令 | 第二个模型在主代理读取之前筛选检索到的文本 |
| 不受信任的代码 | 工具服务器在其运行的机器上行为异常 | 在短寿命的微型VM沙箱(如gVisor)中运行每个MCP服务器 |
现场演示:一个解决佣金纠纷的代理
演示案例是一家零售公司,其销售人员经常就月度佣金发生争议——涉及客户退货、额外奖金(“spiffs”)和配额等级。解决争议所需的数据位于三个地方:销售点账本、人力资源工资表和法律佣金规则。因此,该代理将ERP数据的MCP工具与佣金政策的RAG库结合起来,由Google ADK主管管理。
两个MCP工具承载了设计。一个读取工具获取销售代表的月度销售日志。一个行动工具只能将工资调整作为草稿进行暂存,需要经理批准;它不能支付任何人。在幻灯片上,政策库包含奖金阶梯(销售额超过50,000美元的4%,超过80,000美元的6%),第3.4条中的30天退货规则,以及某些电子产品的周末促销奖金。
幻灯片上的演示:一步步解决佣金纠纷
- 工单:一位销售代表声称已达到配额,并询问为何十月份的佣金比他自己计算的少了450美元
- 事实优先MCP读取:代理获取销售代表十月份的销售日志——总销售额52,400美元,退货扣款3,200美元
- 然后是规则RAG查询:政策库返回条款3.4——佣金在30天内扣除退货后支付
- 然后是任何遗漏的审计:代理还发现一笔75美元的促销奖金从未支付
- 它提出建议;它不支付MCP行动:它将75美元的信用额度作为草稿工单,并附上计算和政策引用
- 由人决定签核:销售代表收到一份详细的解释;人力资源经理一键批准,ERP账本随即更新
在现场演示中,演讲者打开了一个与参与者共享的Google Colab笔记本,该笔记本逐步构建了整个流程。它安装了Gemini SDK和ChromaDB;设置了一个小型MCP风格的服务器,包含三个工具——读取销售账本、查找未支付的促销奖金,以及暂存等待人力资源批准的佣金调整;将六条政策条款加载到ChromaDB库中;并为Gemini提供了工具和遵循的审计方法。
其示例销售代表Alex Chen写道,十月份的佣金是2,095美元,而不是52,400美元的5%应得的2,620美元:相差525美元。代理读取了账本,搜索了政策并检查了促销系统。一台价值10,500美元的电视在14天后被退回,因此根据条款3.4,其525美元的佣金被扣回。佣金支付是正确的,没有进行调整。如果销售代表仍然不同意,该案例将提交给经理的审批队列。
该笔记本的示例政策与幻灯片略有不同:5%的基本佣金,每月超过80,000美元的部分按7%计算,30天内退货扣款,后期退货或保修召回不扣款,促销奖金单独审计,以及任何超过100美元的争议在人力资源签核前进行交叉核对。
幻灯片显示,解决佣金纠纷的时间缩短了85%——从追踪电子表格的五个工作日缩短到90秒。演讲者请听众不要引用这个数字:这只是一个例子,而不是一个经过测量的结果。
同样的设计也适用于客户服务。MCP将代理连接到Shopify和快递追踪,RAG检查该商品、状况和购买日期是否允许退货,代理可以在预批准的价值限制内发出二维码退货标签。幻灯片上的完整堆栈有四层:员工门户或移动聊天、Google ADK引擎、政策RAG库,以及连接到销售点、ERP和薪资系统的FastMCP服务器。
AI 代理何时需要人工批准?三个层级
AI代理的任何不可逆转的操作——冻结账户、扣回工资、停止机器——都需要人工批准。只读工作可以自行运行,可逆转的小改动可以即时撤销。幻灯片在第五个“思考角落”中将此分为三个层级。
| 层级 | 行动类型 | 幻灯片上的示例 | 如何运行 |
|---|---|---|---|
| 1 · 完全自主 | 只读和低风险 | 查询、报告、传感器读数和草稿 | 全速运行,无需人工干预 |
| 2 · 有条件和可逆 | 受控调整 | 将冷水机阀门移动最多5%;将500美元以下的非紧急工单排队 | 自动运行,可即时撤销 |
| 3 · 强制人工把关 | 不可撤销的行动 | 冻结银行账户、扣回工资、关闭机器生产线 | 代理只提出建议;必须由人点击批准 |
演讲者说,批准的人必须有权这样做——经理,而不是碰巧在附近的人——这也让某人对决定负责。
安全与操作
确保代理安全
零信任
- MCP服务器在短寿命的gVisor沙盒中运行
- 工具获得仅限于特定记录ID的短寿命OAuth令牌
- 第二个模型筛选检索到的文本以防止提示注入
保持运行
可观测性
- OpenTelemetry追踪记录令牌、响应时间以及每次MCP往返
- 夜间评估上下文召回率和忠实度,以捕捉漂移和幻觉
- 实时限制阻止失控的代理循环耗尽API预算
演讲者开玩笑说,AI公司可能很快就需要一名安全经理来监控他们所有的服务器,并指出这次演讲遗漏了什么:部署、容器和维护。演讲者警告说,许多错误只有在发布后,当许多人同时使用系统时才会出现。
生产 AI 代理清单:发布前的五项检查
在代理上线之前,幻灯片要求五件事:严格的工具模式、混合检索、人工批准限制、记录每次调用的遥测,以及当工具失败时的安全回退。
经过验证的工具模式
每个MCP工具都有一个严格的Pydantic模型和一个非空的文档字符串。
混合检索
向量搜索与BM25关键词搜索和交叉编码器重排序阶段相结合。
人工干预限制
任何超出金额或安全限制的写入操作都需等待人工批准。
遥测开启
OpenTelemetry收集器记录每个令牌、响应时间以及工具退出代码。
优雅回退
当工具服务器超时时,主管会返回一个安全、预设的错误消息,而不是猜测。
思考角:五个值得争论的问题
每个模块都以一个问题结束,供听众思考。以下是幻灯片的简短答案。
| 问题 | 幻灯片上的答案 |
|---|---|
| 何时应该——何时不应该——使用MCP? | 当许多工具在团队和AI客户端之间共享,以及当工具无需重新部署即可更改时使用。对于一个简单的功能、亚毫秒级循环,或者当工具无法保持最小权限时,则跳过使用。 |
| 一个巨型提示还是多个代理? | 一个提示更简单,但错误在8到10个工具之后会增加。当工具超过五个或有不同的安全需求时,拆分为一个主管和多个专家。 |
| 何时微调优于RAG? | 对于特殊语法、固定语气或输出形状,以及在数百万次调用中降低提示成本。对于会更改的文档、精确引用或可撤销的访问,请使用RAG。 |
| MCP的阴暗面是什么? | 工具影子、权限过高的令牌和注入。使用哈希固定模式,使用短寿命的范围令牌并沙盒化服务器。 |
| 完全自主还是人工签核? | 按风险将行动分为三层。任何不可撤销的行动都需要人工批准。 |
观众提问
- MCP和API一样吗?不一样。API可以是MCP服务器背后的工具之一;MCP是代理用来查找和调用它的标准。
- 向量是在提问时计算出来的吗?问题的向量是在那一刻计算出来的。文档块会提前转换为向量并保存在向量数据库中。
- Google ADK和LangGraph有什么区别?两者都用于构建代理。ADK来自Google,适用于Google的工具;LangGraph是开源的,不依赖于Google。
- 不懂Python的人能从事AI工程吗?主持人的回答是:你需要能够阅读代码,即使大部分代码是由AI编写的。非技术人员被建议参加无代码课程。
AITraining2U每周四晚上免费举办这些网络研讨会;下一次是关于使用AI构建商业应用程序。主持人还提到了组织者于2026年11月11日至13日在吉隆坡举办的为期三天的AI工程课程,面向至少能阅读代码的人。
如果您运营社区页面,这意味着什么
本博客的大多数读者经营的是忏悔或社区页面,而不是银行,但这些层级适用于您用于页面的任何AI。让它自行阅读、分类和起草。只允许可撤销的更改,并提供快速回溯的方法。对于任何一旦发布就无法撤回的内容,请保留人工干预:发布提及某人的帖子、删除提交内容或以页面名义回复。从解决问题的最简单工具开始,当AI告诉您规则是什么时,请检查它是否引用了该规则。
常见问题
“构建您的第一个生产AI代理”网络研讨会涵盖了什么?
这是由Dr Yu Yong Poh于2026年10月29日举办的免费AITraining2U网络研讨会。它解释了生产AI代理的三个部分——Google ADK作为协调器,RAG作为记忆,MCP作为执行者——然后展示了一个解决零售佣金纠纷的实时代理,并提出了人工签核的三个层级。
RAG和MCP有什么区别?
RAG(检索增强生成)是一个知识系统:它在您自己的文档中找到相关的段落,以便模型可以从中回答。MCP(模型上下文协议)是一个行动系统:AI代理连接外部工具和数据的一种标准方式。它们执行不同的任务,并且经常一起使用。
何时不应该使用MCP?
根据演讲,对于简单、独立的Python函数,需要亚毫秒级速度的循环,以及当您无法将每个工具限制到其所需的最小权限时,则跳过使用。
一个AI代理应该有多少个工具?
幻灯片警告说,当单个提示携带超过8到10个工具时,错误会增加。他们的规则是,当工具超过五个,或者当工具需要不同的安全性时,拆分为一个主管和每个包含两三个工具的专家代理。
何时需要人工批准AI代理的行动?
按风险对行动进行分类。只读工作可以自行运行,可撤销的小改动可以即时撤销。任何不可撤销的行动——冻结账户、扣回工资、停止机器——都应仅由代理建议,并由有权这样做的人批准。
微调比RAG更好吗?
对于知识,通常不是。当文档经常更改、需要精确引用或需要立即撤销访问时,需要RAG。微调有助于特殊语法、固定语气或输出格式,以及在大量调用中降低提示成本。
Sources
- 免费AI网络研讨会 — AITraining2U
- Agent Development Kit 文档 — Google
- 模型上下文协议 — modelcontextprotocol.io
- 介绍模型上下文协议 — Anthropic, 2024年11月25日
- 检索增强生成 — 维基百科
- Okapi BM25 — 维基百科
- 余弦相似度 — 维基百科