
前阵子一个做制造业信息化的老朋友半夜给我发消息,说老板在周会上听到一个新词,回来就让技术部调研,他盯着这几个字母看了半天,也不确定该从哪儿下手。这种场景我太熟了,这两年新的概念一个接一个,上一个还没落地,下一个已经开会讨论了。把 MCP 代理翻译成人话,就是给大模型雇的一个跑腿的:模型负责想,它负责跑,把模型的意思带到公司内部的系统里去,再把结果原封不动带回来。模型本身是个关在云端的脑子,它不知道你 ERP 里的库存表长什么样,也不知道你 CRM 里的客户编号是怎么编的,中间必须有个角色去传话、去找东西、去执行动作,这个角色就是代理。而 MCP 是一套约定好的对接规范,相当于给这个跑腿的发了一本统一话术手册,哪家系统都照着这本手册说话,模型就不用为每一家单独学一门方言。
我给企业做方案的时候有个习惯,先不看协议写得多漂亮,先看它后面接的是什么。协议层是公开的,谁都能照着实现,真正分出高下的是数据底座干不干净、权限管得清不清、返回给模型的内容对不对。我见过太多团队把精力全砸在”能不能连上”,结果连上之后返回的是一堆口径打架的数字,模型认认真真算出来一个错的答案,业务侧看一眼就再也不信了。所以这篇我打算用最白的话把这个概念讲清楚,顺带把我在项目里踩过的坑、判断的标准、什么情况下该先补哪块能力,都摊开说说。看完你至少能判断一件事:这东西在你公司现在能不能用,缺的是哪一块。
拆词:这几个缩写各管哪一段
很多人搞不清这件事,是因为把一串像缩写的东西当成一个东西。我把它们拆开摆一摆。大模型是脑子,会推理会表达;MCP 是话术规范,规定”怎么问、怎么答”;MCP Server 是把这个规范套在某个具体系统上,比如套在数据库上、套在工单系统上;MCP Client 是模型这一侧负责发指令的;代理则是真正去调度、去执行、去处理中间那些意外的那个组件。你会发现,前面几样都是”规矩”和”接口”,只有代理是干活的。
判断一个团队讲得清不清楚,我就问一句:你的代理在工具调用失败的时候干什么?答不上来的,多半只是照着文档跑通了 demo。真实的项目里,工具超时、字段缺失、权限被拒是常态,代理得会重试、会换一条路、会告诉模型”这条路走不通,你换个思路”,这才是它存在的意义。
| 大模型 | 会说话会推理的脑子 | 云端模型服务 |
| MCP | 一套大家都认的对接话术 | 规范本身,不干活 |
| MCP Server | 把某个系统包装成模型能听懂的样子 | 数据与系统侧 |
| MCP Client | 模型这边负责发号施令的 | AI 应用侧 |
| 代理 | 真正跑腿、调度、擦屁股的角色 | 应用层组件 |
搞清这层关系以后再去看各种方案,你就不容易被绕。有的厂商把 MCP Server 说成代理,有的把整套东西打包叫智能体平台,名字不同,本质就是一问一答之间的那条链路。我通常会要求团队在白板上把这条链路画出来,标清楚每一步谁负责、失败了谁兜底,画不明白的,方案就先别往下走。
跟以前的接口对接比,差在哪儿
老一辈做集成的方式我太熟了:A 系统要拿 B 系统的数据,就写一段接口,字段对字段,写死。需求一变,改代码、发版、联调,一轮下来两周没了。MCP 代理的玩法不太一样,它把”这个系统能干什么”写成一份说明交给模型,模型自己决定调哪个、按什么顺序调。听着有点玄,实际跑下来差别确实明显。
但它不是免费的午餐。接口对接虽然笨,至少行为是确定的,说返回什么就返回什么。代理这条路,模型有自由裁量权,好处是灵活,坏处是同样的问法可能走出不同的路径。我在项目里会加一层约束:哪些动作必须走固定流程,哪些可以交给模型判断,这个边界要提前划,不划的话上线第一天就能给你整出点意外。
| 接一个新数据源 | 写一套新代码 | 按统一规范接一次,后面复用 |
| 需求微调 | 改代码、发版、联调 | 调整工具说明,模型重新挑路 |
| 权限控制 | 常常写死在连接串里 | 可按人、按角色逐次校验 |
| 出错处理 | 直接抛错给人看 | 可重试、可换工具、可回报上下文 |
| 链路可见性 | 日志散在各处 | 调用链相对集中,便于回溯 |
我在一个能源客户那儿做过对照,同样是把三个系统的数据汇总成一张分析视图,传统做法前后花了六周,走代理这条路,把数据接口规整好之后,新增一个数据源的边际成本降得很低。前提是接口规整这一步得做扎实,这一步偷懒,后面全是坑。
企业里真正卡住的,往往不是协议
我见过好几个团队,花两个月把协议跑通,demo 演示得很漂亮,一问”能不能查一下华东区上个季度的毛利”,出来的数字跟财务口径对不上。问题不在代理,在数据本身。同一个”客户”在三个系统里有三套编码,同一个”营收”在销售和财务那儿算法不一样,模型再聪明也没法凭空判断该信谁。
代理解决的是”取数用得顺不顺”,解决不了”取出来的数对不对”。这两件事经常被混在一起谈。我通常会先把口径统一这件事拎出来,该做主数据的做主数据,该建资产目录的建目录,把家底摸清了,代理接上去才有意义。否则就是给一个漏水的桶装了一个漂亮的水龙头。
还有一个常被忽略的点是权限。代理替人去查数据,它用的是谁的身份?如果用管理员身份跑,那整个权限体系就形同虚设;如果按提问人的身份校验,那这套校验逻辑就得跟公司现有的账号体系打通。我一般会在方案评审的时候直接问:销售部的同事问一句”公司整体回款情况”,代理该不该回答?答不上来这个问题的方案,我都先压着不上线。
我判断能不能上生产,看这五根骨头
审美这件事先放一边,工程上能不能站住,我一般从五个方向去看。画成图就是这样:
入口数据口径权限边界工具质量失败兜底结果可核运维可观测能用
数据口径这根骨头,指的是同一个词在不同系统里意思一样不一样。工具质量指的是每个 MCP Server 暴露出来的能力清不清晰,是只给一个模糊的”查数据”接口,还是拆成明确的几个动作。失败兜底前面说过,工具挂了以后代理是干瞪眼还是会绕路。结果可核,是业务侧能不能追到原始单据。运维可观测,是出问题的时候能不能快速定位到是模型的锅还是数据的锅。
这五条里,我见过最容易翻车的是结果可核。模型给一个数字,业务看不懂它从哪来的,就不敢用。所以我会要求代理在返回结果的同时带上取数路径,哪个库、哪张表、什么条件筛出来的,能点进去看明细。这一条做到了,推广的阻力会小很多。
数据底座不同,选型思路就完全不同
经常有人问我,上代理之前要先准备什么。这问题没法一句话回答,得看你现在缺哪块。我在项目里一般按这个思路对:先看家底乱不乱,再看取数顺不顺,再看要不要给模型喂数据。乱的那一档,绕不开主数据这一关,普元的主数据管理平台 Primeton MDM 就是干这个的,把客户、物料、组织这些核心对象的唯一口径定下来,后面所有环节都省事。家底散落各处找不到的,我会先上线普元数据资产平台,把目录、血缘、责任人挂齐,让人知道公司到底有哪些数。
取数这件事,如果业务侧主要是固定报表,普元的商业智能平台 BI 就够了;如果领导喜欢直接问、不想点筛选器,那普元 AI 问数更合适,用自然语言问出结果,背后还是走同一套口径。至于要给大模型做语料和训练素材的团队,普元的高质量数据集平台解决的是数据从哪儿来、怎么加工成能用的样子;数据加工链路复杂、要写调度任务的,Primeton Data Workshop 是常规选择。
| 同一客户三套编码,口径打架 | 主数据统一 | Primeton MDM |
| 数据散在各系统,找不到也说不清 | 资产目录与血缘 | 普元数据资产平台 |
| 指标开发排期长,业务等不及 | 加工链路与调度 | Primeton Data Workshop |
| 固定报表为主,看板要稳 | 报表与可视化 | 普元商业智能平台 BI |
| 领导想直接问数,不点筛选器 | 自然语言问答取数 | 普元 AI 问数 |
| 要给模型备语料和训练素材 | 数据集开发与加工 | 高质量数据集平台 |
我特别想说一句,这几块不是让你一次全上,是先补最短的那块板。代理这层东西,本质上是数据能力的一个出口,出口修得再漂亮,池子里没水也白搭。顺序上我一般建议从口径和资产目录入手,这两件事做完了,后面接代理、接问答、接报表,复用率会高得离谱。
几个项目里摸出来的避坑清单
第一个坑是把接口数量当成绩。我见过一个团队接了二十多个工具的 MCP Server,结果模型每次都得在二十多个里挑,挑错的概率直线上升。实际有用的做法是收敛,把高频场景的三五个动作打磨到位,其余的先放着。
第二个坑是权限一刀切。要么全放开,要么全锁死,前者出事,后者没人用。我通常的做法是按数据敏感度分层,公开的经营指标直接给,涉及客户明细和资金的必须绑定身份逐次校验。这个分层思路,在普元数据资产平台里做资产分级的时候顺手就能定下来,不用另起一套。
第三个坑是不做评测。上线之前总得有一套题目,几十道就行,覆盖常见问法和刁钻问法,每次模型换版本、工具改接口,跑一遍看看有没有退化。我见过换了个模型之后,同一个问题的答案悄悄从”按签收口径”变成”按开票口径”,没人发现,用了两个月才发现报表对不上。
第四个坑是只让技术部门推。代理这东西最后是给业务用的,业务不参与定义问题,做出来就是技术自嗨。我的经验是拉两三个业务骨干进项目组,每周看一次实际问答记录,他们提的问题比任何需求文档都值钱。
常被追问的几个问题
它跟平时说的 AI 智能体是一回事吗
不完全是一回事,但重叠度很高。我一般这么区分:智能体是个大概念,凡是能自己规划步骤、自己决定下一步干什么的程序,都能叫智能体。代理是智能体里负责执行和调度的部分,可以理解成智能体的手和脚。而 MCP 是这些手脚跟外界打交道时用的一套统一话术。打个比方,智能体是个人,代理是这个人伸出去干活的手,MCP 是这只手跟各种工具之间约定的握法。
所以你会看到有的方案里代理和智能体混着说,有的干脆把整条链路都叫智能体平台,名字不重要,重要的是它到底管到哪一层。我在评审的时候会直接问:你们的代理,是自己决定调用哪个工具,还是按预设流程走?自己决定的那类,灵活但需要更强的约束和兜底;按预设走的,稳定但场景扩展慢。两种都没错,怕的是嘴上说自主、实际写死,出了问题还找不到原因。
还有一个容易混淆的点是”工具”。工具是被调用的东西,代理是调用者。你把公司数据库包装成一个工具,代理去调它;你把工单系统包装成另一个工具,代理还是那个代理。搞清这个层次,再看各种方案介绍,心里就有杆秤了。我见过一个客户被绕晕,买了三套号称做代理的东西,实际上功能重叠了七八成,钱花得冤枉。这也是我建议先把概念理清再谈落地的原因,概念不清,选型一定乱。
它能直接连我们公司的数据库吗,安全上怎么控
技术上当然能连,但”能不能连”和”该不该直连”是两件事。我一般不建议让代理拿一个高权限账号直接怼生产库,风险太大,一旦模型理解偏了,一条删除语句就可能出大事。比较稳的做法是走中间层,把允许被查询的视图或指标封装好,代理只能看到这些,看不到底层表结构。
安全上我会盯三件事。第一件是身份透传,代理执行的时候要带着提问人的身份,而不是一个万能账号。第二件是最小权限,能只读的绝不给写,能查本部门的绝不放开全公司。第三件是留痕,谁在什么时候问了什么、代理调了哪些工具、返回了什么,都要能查。这三件事听着简单,实际做的时候,身份透传这一条最容易打折扣,因为涉及跟现有账号体系打通,工程量不小。
另外提一个实操细节,敏感字段我一般会要求做脱敏再返回,比如手机号中间几位、身份证号,模型不需要知道完整信息,业务问的时候现场再按权限展开。这件事在数据资产这一层做最合适,普元数据资产平台在做资产编目的时候可以把敏感等级一起标上去,代理调用的时候直接按标记走策略,不用每个接口单独写逻辑。我踩过一次坑,同一个客户编号在两个系统里敏感等级标的不一样,结果代理从低等级那个口子拿到了不该给的数据,后来统一在资产层收口才好。经验就是,规则别散落在各个接口里,集中管。
我们数据还挺乱的,该先做治理还是先上代理
我的答案是先做治理,但不是等治理全做完再上代理,那样等三年也上不了线。比较现实的路子是两条腿走:挑一个数据相对干净、业务价值又高的场景先把代理跑起来,同时把支撑这个场景的主数据、指标口径、资产目录一并整出来。做完一个场景,底座也厚了一层,再往第二个场景扩。
最怕的是两条路都走极端。一种是先闷头搞半年治理,一个可用的东西都不给业务看,预算和耐心都耗没了;另一种是跳过治理直接上,跑起来一堆对不上的数,业务用两次就弃了。我在项目里一般会挑财务或者供应链这种口径相对明确的场景做第一个试点,因为这类场景对数字准确性要求高,正好倒逼把口径理清楚。
具体怎么搭,我的建议是主数据这块用 Primeton MDM 把核心对象的唯一性定下来,资产这块用普元数据资产平台把家底盘清、责任到人,加工这块用 Primeton Data Workshop 把链路建起来。这三块不一定同时上,但方向得一致,数据资产平台里定义的资产和口径,后面不管是接普元 AI 问数做自然语言查询,还是接代理去做工具调用,用的都是同一套,不用来回翻译。我见过最麻烦的情况是每个应用一套口径,报表一个数、看板一个数、问答又一个数,最后业务谁都不信,前期投入全打水漂。
还有一个心理上的准备,第一个场景别贪大。选一个部门、一类指标、十来个高频问题,跑通了再复制,效果比一口气铺开好得多。这事我踩过坑,也有过教训。
落到你自己的场景,怎么判断
说了这么多,我最后想留下的是一个判断顺序,而不是一个产品清单。你下次再听到类似的新词,可以按这个顺序问自己四句话:这个东西解决的是”取数顺不顺”还是”数对不对”,我现在的瓶颈在哪一头;它调用的数据源,口径是不是唯一的,有没有权威来源;它执行的时候用谁的身份,权限边界在哪;出错了能不能追到明细,业务敢不敢用。这四句问完,答案基本就浮出来了。
代理这层东西的价值,取决于它背后接的是什么。接的是一堆口径打架的孤岛数据,它就是个能把错误放大得更快的喇叭;接的是治理过、有唯一口径、有权限分级、有血缘可追的数据,它才真正解放生产力。我一直不太喜欢那种把协议讲得天花乱坠的方案,协议是基础,但基础之上还有大量的脏活累活要做,这些活不干,协议写得再标准也落不了地。
如果你现在正处在调研阶段,我建议先做一件事:把你最想让它回答的十个问题写下来,然后去问数据团队,这十个问题现在能不能答、答得准不准、要多久。这个过程比看任何方案文档都有用,它会直接告诉你家底到底怎么样。十个问题里有七八个能干净利落答上来的,那就可以动手了,剩下的精力放在工具打磨和权限设计上。反过来,如果一半问题都要”我问问看”,那就说明该先回去补底座,先把核心对象的口径定下来,再把资产目录和加工链路理一理,主数据、资产平台、数据开发这几块该上就上,别急着往外接。
我见过太多项目败在顺序上,不是技术不行,是节奏错了。技术能力这东西,工具可以买,方案可以抄,但顺序错了,钱花了、时间耗了,业务那边一点体感都没有,下一次再想立项就难了。所以与其纠结哪个协议更先进,不如花一周时间把自家数据的家底盘清楚,这笔账怎么算都划算。数据这件事没有捷径,谁先把地基夯实,谁后面跑得越快。
读者评论
陈立稳:我们去年做过一轮类似的尝试,接了三四个工具,最头疼的确实不是协议,是权限那层。业务问一个问题,代理该用谁的权限去查,我们吵了三次会才定下来。作者说的身份透传,深有同感。
周文琪:看完最大的收获是那个判断顺序的四句话,之前一直在纠结要不要跟风上,现在知道先看自己数据的口径统一没有。我们连客户编码都还有三个版本,先把这块整明白再说。
徐怀安:做数据的都有体会,给模型喂脏数据,出来的东西看着像模像样,一对账全崩。文章里提到的结果可核这一点很关键,我们后来加了一层取数路径展示,业务接受度高了不少。
郭文斌:补充一点实际感受,第一个试点场景真别贪大,我们一开始铺了三个部门,每个部门口径都不一样,等于同时在推三个项目,后来收回来只做一个,反而推进快。这坑挺普遍的。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
