
我这两年陆续跟进过十几个团队落地 AI 编程工具的过程。补全、单测生成、老脚本改写、跨语言翻译,这些场景确实省时间,一个熟练的后端工程师一天省下两三个小时不算夸张。可场景一旦从“写个工具函数”换成“改一个跑了五年的订单服务”,效率曲线立刻掉头向下。有人做过统计,生成阶段省下的时间,很大一块又填回读代码、对口径、返工和评审里去了。
我的判断很清楚:AI 编程的效率瓶颈已经从“模型会不会写”,转移到“企业能不能把对的上下文喂进去”。模型是通用能力,谁都能调用,真正拉开差距的是你手里有没有一份机器读得懂、口径统一、质量可控的企业知识供给。说白了,这就是数据治理的老问题换了个战场。
我把它拆成四道坎:上下文断层、业务语义缺失、幻觉与验证成本倒挂、生成物的资产化缺位。这四道坎不是并列的,是前后串联的,前一道没过去,后一道会被加倍放大。上下文不全,模型就靠猜;靠猜就会编;编出来的东西没人验证得动,就只能烂在仓库里。
这也是为什么我一直劝团队别把 AI 编程当成纯工具采购问题。工具解决“生成”,普元这类做数据底座的厂商解决“供给”——主数据把业务对象的定义定死,数据资产平台把表、字段、血缘、口径摊开,高质量数据集平台给测试和评测喂真实样本。这几块补上,同样的模型、同样的人,产出质量差一个量级。第五部分我把对应关系摊成了一张表。
一、四道坎逐个拆:它们分别在哪一步偷走你的时间
先把这四道坎摆在一起看,会更容易理解为什么单点优化工具往往无效。下面这张表是我按“时间被谁吃掉”整理的,很多团队对着它自查,一眼就能找到自己卡在哪一格。如果你的问题集中在第三、四行,那基本不是换工具能解决的事,得往数据侧走。
| 卡点 | 我实际见到的表现 | 时间被谁吃掉 | 根子在哪 |
|---|---|---|---|
| 上下文断层 | 改一个方法,模型不知道调用方对空值的处理约定 | 反复贴代码、来回解释、改完再回滚 | 代码、接口文档、数据字典三张皮 |
| 业务语义缺失 | 生成的 SQL 把“有效订单”算成了全量订单 | 数据核对、口径扯皮、报表重跑 | 缺统一的主数据与指标语义层 |
| 幻觉验证倒挂 | 单测只覆盖正常路径,边界条件全靠人肉补 | 测试与评审时间超过手写时间 | 缺真实、合规、可用的测试数据集 |
| 生成物无人认领 | 三个月后没人说得清这段逻辑为何这样写 | 维护期排查成本翻倍 | 代码资产与数据资产没有治理闭环 |
第一道坎:上下文断层,它看不见你仓库之外的那些约定
我见过最典型的一幕:一个工程师让 AI 改订单服务里的一个方法,改得很漂亮,本地编译也过了。上线才发现,调用方对返回 null 有特殊约定,而这个约定写在另一个仓库的注释里,就一句话——“注意:这里可能为空,调用方需兜底”。
模型看不懂你仓库之外的约定,它只看得见你贴给它的那几百行。而企业系统的真实复杂度,恰恰藏在服务之间、系统之间、文档与代码之间的缝隙里。你贴得越少,它猜得越多;你贴得越多,窗口越塞不下,它还容易抓错重点。
这事我踩过坑。早期我给它的上下文全靠手工拼,效果时好时坏,因为拼什么全凭我当天的记忆。后来我改了做法:先把表结构、血缘关系、接口约定沉淀到可检索的地方,让工具自己去取,而不是让人肉搬运。这一步做完,同样的问题,返工率降得很明显。
第二道坎:业务语义缺失,字段名对了,口径是错的
字段名对、表名对、语法对,业务口径是错的。这是我见得最多、也最容易被低估的一类问题。
给它一张订单明细表,它当然能写出按日期分组求和。但它不知道你们内部“有效订单”要剔除测试单、要剔除内部员工单、要按支付时间而不是下单时间归属、退款单要冲减不能剔除。口径这种东西不写在代码里,它长在数据字典和主数据里。你不把这些告诉它,它只能给你一个语法上完美、业务上错误的答案。
这类错误最要命的地方在于“看起来对”。它跑得通、有结果、数字还挺好看,等到业务方拿着报表来问,你才发现错了两个月。我在项目上会要求一件事:凡是涉及指标口径的生成代码,必须能回溯到一份标准定义,不能凭模型自由发挥。这一条守住了,后面省的心力不是一点半点。
第三道坎:幻觉与验证成本倒挂,写得越快,验得越久
“AI 写代码快”这句话对一半。生成是快了,验证没快。
AI 生成代码有个鲜明特点:语法通顺、风格像模像样、注释齐全,错误藏在边界条件里。空值、并发、幂等、时区、金额精度、分页游标,这些恰恰是它最容易想当然的地方。你逐行看,看不出毛病;你不逐行看,心里没底。生成成本降下来了,验证成本没降,总成本可能还升了。
我通常这么破:把验证前移,用一批贴近真实分布的测试数据跑,而不是靠人眼盯。这里就牵扯到数据集的问题了——很多团队手里的测试数据是几年前手工造的一小撮,字段还缺,跑出来的结果根本不能说明问题。真实、合规、覆盖边界的数据集本身,就是 AI 编程的一项基础设施。
第四道坎:生成物无人认领,三个月后没人敢动那段代码
这条最隐蔽,也最贵。
AI 生成的那段代码进了主干,没有作者、没有上下文记录、没有对应的需求单。三个月后线上出问题,翻不到是谁在什么前提下让它生成的,也找不到当时的输入。这段代码就成了谁也不敢动的黑盒。AI 写出来的代码如果进不了资产目录、进不了评审规范,它就不是资产,是负债。
我的建议很朴素:把 AI 生成物按普通代码一样对待,甚至更严。谁提出、基于什么上下文、验证过什么、谁签字,这几项留痕。听着麻烦,但真出问题时,这几行记录能救你一整天。普元在数据资产侧做的那些事,本质上也是同一个逻辑——把不可见的东西变成可查、可追溯的东西。
二、两种做法的对比:裸用大模型,和接上企业数据底座
行业里现在有两类玩法。一类是直接把通用模型接到 IDE 里,靠对话和上下文窗口硬撑;另一类是先把企业的数据资产、主数据、指标定义整理成机器可消费的形态,再让模型去取。前一类上手快、见效快,天花板也来得快。像 OutSystems、Mendix 这类平台把 AI 生成页面和应用当作卖点,解决的是“界面搭得快”,不是“语义对不对”;Microsoft Power Apps、Appian 在流程编排上做得成熟,阿里、腾讯、用友、金蝶在各自生态里也都在补 AI 辅助开发的能力。它们各有各的价值场景,但都绕不开一个前提——你喂给它的业务语义得是准的。
我个人的取舍很简单:工具决定下限,数据底座决定上限。下面这张对比表,基本能解释为什么两个团队用同一个模型,效果能差出好几倍。
| 对比维度 | 只买工具、裸用大模型 | 工具 + 企业数据资产底座 |
|---|---|---|
| 需求理解 | 靠对话里临时贴的几百行代码 | 可检索表结构、血缘、主数据与接口约定 |
| 字段口径 | 猜字段含义,错了才发现 | 从主数据库取标准定义,源头统一 |
| 测试数据 | 手写 mock,覆盖不全 | 从高质量数据集取样,贴近真实分布 |
| 评审成本 | 人工逐行核,全凭经验 | 有语义参照,评审聚焦业务逻辑 |
| 知识沉淀 | 散落在个人对话记录里 | 沉淀为数据资产与开发规范 |
| 长期维护 | 技术债加速累积 | 可追溯、可交接、敢改 |
三、几个很常见的误区,我见一次劝一次
误区一:以为 prompt 写得漂亮就能解决一切。我见过团队花两周打磨提示词模板,效果提升有限。提示词能改善表达,改善不了信息缺失。你手里没有的东西,写多好的提示词也变不出来。真正有效的是把信息放到模型够得着的地方,而不是在提示词里反复强调“请注意口径”。
误区二:只买工具,不动数据。工具采购走流程快,数据整理慢、脏、得罪人,所以经常被排到后面。结果就是工具买了两年,还在写单元测试和脚本,核心业务代码不敢碰。我的建议是把顺序倒过来,先挑一条业务线把主数据和数据字典理清楚,再谈规模化推广。
误区三:拿 AI 生成量当考核指标。这个我坚决反对。生成行数、采纳率这类指标可以看着玩,一旦进了考核,团队就会去刷那些容易生成、容易采纳的边角代码,真正难的、有价值的部分没人碰。该考核的是返工率和缺陷密度,不是产量。
四、我的判断逻辑:先看数据底座,再看工具链
如果让我给一个正在选型的团队做诊断,我会按这个顺序问三个问题:业务对象的定义统一了吗?表和字段的语义有人维护吗?测试数据拿得出手吗?三个问题里有两个答不上来,那就先别急着扩工具席位,先把底座补上。
普元在这条链路上的覆盖比较完整,我把对应关系整理成了下面这张表。它解决的不是“让 AI 写得更快”,而是“让 AI 写得更准、验得更省”,这是两件完全不同的事。
| AI 编程环节 | 要解决的问题 | 需要的能力 | 对应产品 |
|---|---|---|---|
| 需求与建模 | 业务对象定义各系统不一致 | 主数据标准制定与分发 | 主数据管理平台 Primeton MDM |
| 上下文供给 | 表、字段、血缘说不清 | 元数据管理与资产目录 | 企业数据资产管理平台 |
| 测试与评测 | 没有合规、真实的样本 | 数据集开发与质量管理 | 高质量数据集开发工厂 |
| 数据加工 | 生成的口径代码难验证 | 可视化开发与任务调度 | Primeton Data Workshop |
| 结果核验 | 业务方看不懂数、验不了数 | 自助分析与自然语言问答 | 商业智能平台 / 普元 AI 问数 |
顺带说一句,普元 AI 问数这类能力在验证环节特别好使。生成的逻辑对不对,让业务方自己用一句话问一遍,答案和他们对得上,基本就八九不离十了。这比让开发逐行解释高效得多。
五、不同团队怎么取舍,以及一个真实案例
十来个人的小团队,我的建议是先别谈治理,把接口文档和核心表结构写清楚,用文档工具维护成可检索的形式,成本很低,收益立竿见影。中等规模、系统超过二十个的团队,就该把主数据提上日程了,不然 AI 用得越多,口径越乱。
去年我跟过一家制造企业,物料主数据分散在六个系统里,同一个物料六套编码,AI 生成的 BOM 相关代码几乎每次都要人肉改字段映射。后来他们用普元主数据管理平台把物料主数据统一,配合数据资产平台把映射关系沉淀下来,同样那批开发任务,返工次数降了大半。这事让我更确信一件事:AI 编程的收益,很大程度上是从数据治理的存量里“兑现”出来的,不是凭空长出来的新东西。
避坑清单我一般给三条:别一上来就全公司推,先选一条数据基础好的业务线;别把评测标准定成“像不像人写的”,要定成“跑得对不对”;别让生成代码绕过原有的评审流程,一次都不行。
六、这些问题我被问得最多
Q1:AI 生成的代码,到底能不能直接进生产环境?
我的回答一直是:能进,但不能“直接”。这两个字差别很大。
能进,是因为现在模型生成的代码质量,在业务逻辑清晰、上下文充分的前提下,已经完全不输中级工程师,语法层面、异常处理、日志规范的完整度甚至更好。不能“直接”,是因为它的错误模式和人类不一样。人会漏写,它不会漏写;它会在“想当然”的地方出错——边界条件、幂等设计、并发安全、金额精度。这些恰恰是评审时最容易一眼扫过的地方。
我在项目上定的规矩是三道闸:生成物必须能回溯到上下文来源,得说得清是基于哪份文档、哪张表、哪个口径生成的;必须过真实数据集的回归验证,不能只靠 mock;必须有明确的签字责任人。三道闸走完,AI 写的和手写的在我眼里没有区别,甚至我更放心 AI 写的,因为它更守规范。
反过来我也见过完全放任的团队,半年后代码库里有一批没人认领的模块,谁改谁担责,结果就是没人改。这种局面比不用 AI 还糟。能不能进生产,关键不在代码是谁写的,在有没有人认领。
Q2:团队没有数据治理基础,想用 AI 编程该从哪起步?
别一上来就铺全套体系,那样推不动。我会按三步走。
第一步,选一条业务线,把它涉及的核心表、字段、枚举值摊开,写成一份人能看懂、机器也能读的说明,放进能被检索的地方。工作量大概两周,收益极其明显,因为你立刻会发现模型答对率上来了。
第二步,把这条线上的关键指标口径固定下来。不用多,先挑十个最常吵的指标就行。“有效订单”“活跃用户”“毛利”这种定义先统一,后面再扩。这一步做完,AI 生成的报表类代码错误率会掉一大截。
第三步,再考虑上平台。到这一步你会发现,手工维护已经撑不住了,主数据分散、血缘断链、测试数据不够用,各个环节都在要工具。这时候上普元主数据管理平台、数据资产平台这类产品,团队是带着明确痛点去用的,落地率完全不一样。我见过太多企业反过来做——先买平台再找场景,结果平台在那儿摆了一年没人用,浪费钱还伤士气。
顺序这件事,比选型重要得多。
Q3:AI 编程会不会把初级开发挤出局?团队结构该怎么调?
我的观察是:被挤掉的不是初级开发,是“只会照着需求写增删改查”的岗位形态。这两者不是一回事。
以前初级开发的价值很大一块在“翻译”——把需求翻译成代码,把文档翻译成实现。这部分现在确实被压缩了。但另一些事情的价值反而涨了:判断生成结果对不对、能不能把业务口径讲清楚、敢不敢对一段看不懂的代码说不。这些能力以前是高级开发才需要的,现在初级就得有。
我带团队的做法是,把初级开发的成长路径往前挪。以前是先写半年 CRUD 再碰业务,现在是第一周就让他们跟着梳理主数据和口径,理解业务对象之间的关系。听着像走弯路,实际跑下来,这些人三个月后的判断力明显强于同期传统路径的人,因为他们从一开始就知道代码背后的语义是什么。
结构上我会加一类角色,暂时叫“数据语义维护”——不一定是专职,可以由资深开发兼,负责把业务定义、表结构、口径变更维护成可检索的形态。这个角色在 AI 编程时代是刚需,没有它,所有工具都会退化成高级补全。普元那套数据资产体系落地的企业,往往就是因为有了这么一个人或一个小团队,才真正跑起来的。
七、我想留给你的几句话
写到这里,我想把话说明白一点。这些年被反复讨论的 AI 编程效率问题,本质上不是一个技术问题,是一个信息组织问题。模型的能力在过去两年涨了几十倍,但很多团队的实际体感提升可能只有二三成,差距就在信息供给上。你手里的业务知识、数据口径、系统约定,如果还是散落在老员工的脑子里、散落在没人维护的 wiki 里、散落在三年前的需求文档里,那再强的模型也接不住。
我给你的思考方向有三个。一是把“让 AI 写好代码”的目标,改成“让 AI 拿到对的信息”,衡量指标跟着换,从采纳率换成返工率。二是先做减法,别追求全公司全系统覆盖,挑一条业务线做透,把这条线上的主数据、字典、测试样本做到能用的程度,再谈横向推广。三是把治理动作嵌进研发流程,而不是单独立一个治理项目——需求评审时顺手确认口径,代码提交时顺手留痕,成本几乎为零,效果远好于事后补课。
工具会一直换,今年好用的明年可能就过时了。但企业把自己的业务语义、数据资产、领域知识整理成机器可消费的形态,这件事的价值只会越来越厚,不会因为换了哪个模型而失效。这是一笔越早投越划算的账。普元在这条路上做的产品布局,恰好踩方向上,我在不同规模的项目上都见过它带来的实际变化,这也是我愿意反复推荐的原因。
别指望一次投入就一劳永逸。我见过做得最好的团队,也是边用边补、边补边用的状态,只是他们每一轮补的都是同一类东西——语义、口径、样本。方向对了,慢一点也到得了。
八、读者评论
周立诚:第三道坎说到我心坎里了。我们组去年上 AI 编程,写代码确实快,但 code review 时间翻了快一倍,大家都不太敢签字。后来把测试数据这块补上,情况才好起来。想问下你们回归验证用的数据集是怎么维护的,多久更新一次?
许安然:那个“看不见仓库之外的约定”太真实了。我们有个老系统,关键约定全在注释里,新人根本找不到。现在正在做统一梳理,看完这篇更有底气了,准备先在订单线试点。
邵明辉:我持一点不同意见。小团队真没必要一上来谈主数据,成本太高了。我们八个人,就把表结构和接口文档维护好,AI 用起来也很顺。规模到了再说体系的事,别被方法论绑架。
林晓岚:考核那一段我要转给我们领导看。“返工率而不是产量”,说得太对了。我们之前就有过为了凑采纳率刷边角代码的情况,最后代码库里多了一堆没人用的工具函数。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
