用Copilot Studio和MCP构建Business Central AI代理

用Copilot Studio与MCP服务器构建AI代理,自动处理Business Central采购订单确认。
文章介绍了 Abakir 网络研讨会上展示的案例:用 Copilot Studio 和 MCP 服务器为 Business Central 构建名为 The Vendor Whisperer 的 AI 代理,自动读取供应商邮件与 PDF 订单确认,并更新采购管理日记账。文章先区分了自动化、聊天机器人和代理三类工具的边界,再拆解 Copilot Studio 的编排器、触发器、工具三大组件,重点讲解 MCP 如何把 Business Central 标准 API 暴露给代理,并用 Dynamic Tool Mode 规避工具数量限制。最后讨论 LLM 幻觉带来的可靠性争议,提出指令极度具体、最小权限、human-in-the-loop 三条最佳实践,强调演示版一个周末即可完成,但生产部署仍需大量工程化工作。
在最近一场由Abakir举办的网络研讨会上,Power Platform部门负责人Nikolaj Sjørman与Business Central顾问Mads Stalkers Christiansen共同展示了一个令人印象深刻的案例:如何用Copilot Studio和MCP服务器为Business Central构建一个能自动处理采购订单确认的AI代理。这个被命名为"The Vendor Whisperer"的代理,能够自动读取供应商发来的订单确认邮件和PDF附件,提取关键数据,并直接更新Business Central中的采购管理日记账。
采购订单处理的真实痛点

案例源于一位真实客户的困扰。作为采购员,当向供应商发送采购订单后,需要等待对方回复确认数量、价格和交货日期。这些回复往往以邮件形式到达,附带PDF格式的订单确认书。采购员不得不手动打开每一封邮件,阅读PDF内容,然后逐条更新Business Central中的采购管理日记账。
这个过程在订单量大时尤为耗时。正如研讨会上所说,当采购员需要同时跟进多个采购订单时,每个订单都需要等待供应商回复后手动核对和录入,这种重复性劳动占据了大量本可用于更有价值工作的时间。
自动化、聊天机器人与代理的本质区别
研讨会清晰地划分了三类自动化工具的边界。Nikolaj用一句话总结了三者差异:自动化遵循规则,聊天机器人回答问题,代理执行操作。
自动化流程由触发器启动,按照预设规则执行固定动作,不涉及AI决策。它适合可预测的"硬流程",比如当系统中新建客户记录时自动发送欢迎邮件,或每周一早上定时推送任务列表。

聊天机器人则是知识驱动型的。它接收问题、检索信息、组织语言后返回答案,但不会修改任何系统中的数据。传统的客服聊天窗口就是典型代表——用户提问,机器人检索知识库后给出回答。
代理则分为两个层次。任务型代理仍然通过对话窗口交互,但能执行实际操作,比如在工单系统中创建新案例。自主型代理更进一步,无需人工触发即可在特定事件发生时自动启动——正如本次展示的"Vendor Whisperer",当指定邮箱收到订单确认邮件时就会自动运行。
大语言模型幻觉是代理进入 ERP 场景时最受质疑的风险来源。所谓幻觉,指模型在缺乏依据时仍生成看似合理但事实错误的内容,例如凭空编造一个并不存在的采购订单号,或在数量字段上多写一位数字。在聊天场景中,幻觉通常只是回答不准;但在 ERP 中,它可能直接污染主数据、触发错误的库存或付款动作。缓解手段主要有三类:一是用结构化输出与 JSON Schema 约束模型的产出格式,减少自由发挥空间;二是通过检索增强(RAG)或 MCP 查询让模型基于真实数据作答,而非依赖参数记忆;三是在关键字段上增加确定性校验,例如订单号必须能在 Business Central 中查到、数量必须在原订单的合理区间内,校验不通过即阻断流程并转人工。
Copilot Studio的构建三板斧
Copilot Studio的代理构建围绕三个核心组件展开:编排器、触发器和工具。
编排器是整个代理的"大脑",在这里定义代理的身份、描述、指令和护栏规则。研讨会上展示的Vendor Whisperer被赋予了一个清晰的角色定位:自动处理供应商的订单确认。指令部分包含了详细的步骤说明,从读取PDF、查找供应商、匹配订单明细到更新日记账行,每个步骤都被明确列出。护栏规则则确保代理不会越界操作。
有意思的是,研讨会坦承这些指令本身也是借助AI工具生成的——先用人类语言描述需求,再交由Claude或ChatGPT优化为AI更容易理解的格式。
触发器决定了代理何时自主启动。在Vendor Whisperer的案例中,触发器是特定邮箱文件夹收到新邮件。Copilot Studio支持超过1500个Power Platform连接器,意味着几乎可以从任何企业系统中捕获触发信号。
工具赋予代理实际操作能力。Vendor Whisperer配备了三个工具:MCP服务器连接器、发送邮件工具和文本转JSON工具。发送邮件工具展示了AI代理的灵活性——开发者只需描述邮件的格式要求,代理就能自动生成包含HTML和内联CSS的格式化邮件。
连接器与工具数量限制是理解本案例工程取舍的背景。Power Platform 生态拥有超过 1500 个官方与自定义连接器,覆盖 SharePoint、Dataverse、SAP、Salesforce 等系统,Copilot Studio 可以直接调用它们作为代理工具。但每个工具都会占用模型的上下文窗口,并显著增加模型在"该调用哪个工具"上做出错误判断的概率。当工具数量达到几十个时,编排器的选择准确率就会下降,因此微软把单个代理可挂载的工具数量控制在约 70 个。Business Central 的每个 API 页面默认提供读取、创建、修改、删除四个工具,几百个页面轻松就会突破上限,这就是 Dynamic Tool Mode 存在的现实动机:它把 N 个具体工具收敛成 Search、Describe、Invoke 三个通用工具,通过两段式调用先检索再执行,用更少的上下文换来对全部资源的访问能力,代价是每次操作需要多一轮模型推理。
MCP服务器:Business Central集成的关键

MCP(Model Context Protocol)服务器是本次演示的技术亮点。传统方式下,Power Platform连接器需要针对特定数据表逐一定义读写操作。而MCP服务器允许将Business Central的标准API直接暴露给代理,使其能够理解整个数据模型。
Business Central中的MCP配置相当直观。每个页面默认提供四个工具:读取、创建、修改和删除。但Copilot Studio对代理可用的工具数量存在限制(约70个),因此Business Central提供了Dynamic Tool Mode。启用后,系统不再逐一列出每个API,而是通过Search、Describe和Invoke三个通用工具来访问所有资源,同时可通过"Discover Additional Objects"选项授予代理读取非标准API页面的权限。
研讨会还提到一个较少人注意的能力:Perform Bound Action。除了CRUD操作外,这个第五类操作允许代理在Business Central中"按下按钮",比如执行过账或释放操作。
对于想要快速开始的用户,研讨会给出了最简路径:在Business Central中为所有标准API授予读取权限,激活MCP集成,即可在Copilot Studio中开始与数据进行对话了。
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 于 2024 年底提出并开源的标准化协议,目的是让大语言模型能够以统一的方式连接外部数据源与工具。在 MCP 出现之前,每接入一个系统都要为其单独编写一套适配代码,模型与外部世界之间是 N×M 的碎片化对接关系。MCP 把这一层抽象为客户端—服务器结构:模型侧作为客户端,业务系统侧提供 MCP 服务器,双方通过标准化的资源(Resources)、工具(Tools)和提示(Prompts)进行交互。因此 MCP 常被类比为"AI 领域的 USB-C 接口"。在 Business Central 的场景里,微软将标准 API 封装成 MCP 服务器,代理无需理解底层 OData 端点或字段结构,只需声明想读什么、想改什么,协议层负责把它翻译成对 Business Central 的实际调用,这正是它相比传统 Power Platform 连接器更省配置的原因。
可靠性争议与最佳实践

研讨会中一个核心争议围绕代理的可靠性展开。有参会者提出,LLM存在幻觉问题,是否应该信任AI代理在ERP系统中执行操作。
对此,演讲者的回应是:关键不在于代理是否会出错,而在于如何通过设计来最小化风险。核心策略包括三个层面:指令要极度具体和明确,明确列出允许和禁止的操作;工具权限要严格控制,只授予完成特定任务所必需的最小权限;充分利用human-in-the-loop能力,在关键操作前要求人工确认。
实际上,研讨会透露Vendor Whisperer仅用了一个周末就构建完成。但这个版本被坦承为"Happy Go Lucky"演示——只处理一切按预期进行的情况。生产环境中还需要考虑多个PDF附件、订单号不匹配、格式异常等边界情况,并可能需要通过AI Builder训练模型来适应不同供应商的文档格式。
关于代理规模,演讲者建议避免让单个代理承担过多任务。代理越大,越容易产生混淆和幻觉。解决方案是拆分为专门的子代理,由主代理进行编排。这不仅提高了每个代理的专注度,也便于在多个流程中复用。
值得注意的是,human-in-the-loop(人在回路中) 在这里并非简单的"弹窗确认",而是一种分级的信任设计。实践中通常按操作的可逆性与影响面划分:只读查询、生成草稿等操作可完全自动执行;修改单据字段、创建记录等可逆写入可先执行并给出变更摘要,允许人工撤销;而过账、释放、删除等不可逆或影响财务数据的操作,则应强制中断流程等待人工批准。Copilot Studio 通过审批节点(Approvals)与 Power Automate 集成来实现这一环节,审批结果会作为变量回传给代理,让它继续或终止后续步骤。这也是企业把 AI 代理接入 ERP 时最常见的合规要求——审计日志需要记录下每一次自动操作与人工批准的责任边界。
核心要点
- 三类工具各有其位:自动化处理规则明确的流程,聊天机器人负责知识问答,代理执行需要判断和操作的任务。选择正确的工具比追求最新技术更重要。
- MCP服务器简化了ERP集成:相比传统的逐表连接器方式,MCP让代理能够理解Business Central的完整数据模型,通过Dynamic Tool Mode规避了工具数量限制。
- 零代码不等于零设计:Vendor Whisperer的全部逻辑通过自然语言指令实现,没有编写任何代码。但精心设计的指令、严格的权限控制和护栏规则是可靠运行的保障。
- 生产部署需要额外的工程化:演示版本一个周末即可完成,但面对多样化的真实文档格式、异常情况和安全要求,还需要大量的错误处理、AI模型训练和测试工作。
- human-in-the-loop是信任的基石:在关键操作(如过账、修改订单)前设置人工审核环节,既保证了安全性,也让员工从执行者转变为监督者。
相关推荐

Claude Code免费不限量方案:Agnes AI+CC Switch配置指南
无需付费订阅,用免费AI平台Agnes AI配合开源工具CC Switch为Claude Code提供后端,实现文本、图片、视频模型不限量免费调用。本文梳理安装配置全流程、实测效果与使用边界,帮助开发者低成本上手Claude Code。

国内新手零成本上手Claude Code完整指南
面向国内新手的 Claude Code 入门指南:两种安装方式(命令行与 IDE 插件)、用国产免费模型 LongCat 替代官方 API 的完整配置步骤,以及用自然语言开发小工具的实操演示与技巧。

当NSA都介入:开源CVE与API密钥劫持背后的AI供应链危机
一天内多个开源项目曝出严重CVE,PHP漏洞惊动FBI,Railway与OpenCode遭入侵致API密钥被窃。本文拆解漏洞窗口、AI加速利用与API密钥黑市背后的AI供应链危机,并给出开发者防御清单。