一、我的核心判断

做了几年企业侧的 AI 落地项目,我发现一个挺反常识的规律:同一套商用大模型,接进不同的公司,写代码的准确率能差出一倍以上。差的不是模型参数量,也不是 prompt 写得漂不漂亮,而是喂进去的东西干不干净。AI 编程助手在你们的仓库里答错,绝大多数情况不是它不懂 Java,是它不知道你们那套订单状态码为什么有 17 个、为什么 getOrderInfo 不能直接调 service 层、为什么某个工具类在 2021 年被标记为“仅限对账场景”。
这些知识散落在 wiki、接口文档、历史工单、离职同事写的三行注释里。模型读不到,或者读到了也是脏的、互相矛盾的。所以提升准确率这件事,在我这里从来不是“换个更强的模型”,而是把企业内部的技术语料治理成可被模型消费的高质量数据集。这话听着像数据治理的老话题,可落到 AI 编程助手上,收益特别直接:补全采纳率、单测一次通过率、接口调用正确率,这三项都能看到肉眼可见的改善。
普元在这条线上有一套相对完整的组合:高质量数据集开发工厂负责把代码、文档、工单加工成训练与检索语料;普元数据资产平台负责把这些语料登记、打标、管血缘;Primeton Data Workshop 负责管道开发与调度。我的建议是,先把手上的“数据功课”做扎实,再去比较模型和工具,顺序反了,投入基本打水漂。
二、准确率上不去的三个真实原因
我见过太多团队把准确率问题当成“模型选型问题”。业务方抱怨助手写的 SQL 总是选错表,技术负责人第一反应是采购更强的模型,换完发现错误率只降了几个点。我自己复盘过五六个项目,真正卡住的地方集中在三处。
第一处是语料断层。代码在 GitLab,需求在 Jira,接口文档在 Confluence,工单在另一个系统,模型只看到代码本身,看不到“为什么这么写”。第二处是口径冲突,同一个“客户”字段,三张表三个含义,助手取哪个都能说出理由,人一看就是错的。第三处是没有反馈闭环,开发者把错误答案默默改掉,这些修正信号没有回流,模型永远在同一个坑里摔倒。
下面这张表是我在项目启动会上常用的对照材料,用来把“感觉不准”翻译成具体问题。
| 典型场景 | 团队期待 | 实际表现 | 真正的根因 |
|---|---|---|---|
| 生成数据查询 SQL | 直接给出可跑的语句 | 表名对、字段错,或选了历史归档表 | 缺少表级业务注释与数据血缘 |
| 补全业务方法 | 按公司规范自动写完整方法 | 逻辑对但命名、异常处理不合规 | 编码规范未结构化,模型只学了通用风格 |
| 生成单元测试 | 覆盖率能到 70% 以上 | 生成大量无效断言,跑不过 | 缺少真实入参样本与边界案例集 |
| 解释遗留代码 | 讲清业务含义 | 只翻译语法,讲不出业务规则 | 需求文档与工单未与代码建立关联 |
三、通用语料和企业私有语料,差的不是量级
经常有人问我:模型在 GitHub 上读过几亿行代码,还差我这几万行业务代码?我的回答是,差得很远,但不是差在量上。公开语料教会模型“Java 长什么样”,企业私有语料才教它“我们公司怎么写 Java”。前者决定下限,后者决定上限。
我更愿意把这件事拆成四个可比维度去看:语义完整度、口径一致性、时效性和可追溯性。通用语料在这四项上基本都是“有但粗”,而企业级高质量数据集要求的是“精且可验”。这也是普元高质量数据集开发工厂这类产品存在的意义——它不是简单地把文件喂给模型,而是把代码、文档、工单做清洗、切分、打标、去重、关联,产出带元数据描述的语料包。
实际跑下来,同样一个 7B 级别的模型,用治理过的语料做检索增强,比用原始仓库直接灌进去,接口调用正确率的差距能拉到 20 个百分点以上。这个数字我复现过两次,不是孤例。
| 对比维度 | 通用公开语料 | 企业级高质量数据集 |
|---|---|---|
| 语义完整度 | 只有代码,没有业务上下文 | 代码 + 需求 + 工单 + 接口说明互相关联 |
| 口径一致性 | 同一概念多种实现,无统一标准 | 经主数据统一,字段含义唯一 |
| 时效性 | 版本混杂,新旧代码并列 | 按版本与生效期管理,过期内容可下架 |
| 可追溯性 | 来源不明,无法核对 | 每条语料可回溯到源系统与责任人 |
| 安全合规 | 无法控制敏感信息 | 脱敏、权限、审计全链路可控 |
四、把代码资产变成数据集,我通常分四步走
讲方法之前先说一句实话:这一步没有捷径,凡是承诺“接上就能用”的方案,后面都要还债。我在一个制造业客户那边跑过完整流程,四步走了将近十周,但上线后助手的采纳率从 18% 提到 51%。
第一步是做资产盘点。哪些仓库还在维护、哪些接口文档还有效、哪些工单沉淀了真实排障逻辑,先摸清楚。这一步我用普元数据资产平台来做登记和分类,好处是资产目录和后续的语料血缘能对上,不会出现“数据集里的这段代码不知道从哪来”的情况。第二步是口径统一,涉及客户、物料、订单这类核心实体时,我会要求先过一遍 Primeton MDM,把主数据定义固化成唯一版本,否则后面所有语料都在打架。
第三步是加工与切分,按业务域而不是按文件目录切,让每个语料块自带场景标签。这一步在 Primeton Data Workshop 里编排任务最顺手,清洗规则、去重逻辑、脱敏策略都能配成可复用的算子。第四步是建立回流机制,把开发者对助手答案的修改动作采集回来,定期反哺语料库。少了第四步,前面三步的收益会随时间衰减。
五、几个我踩过、也看别人踩过的坑
坑一:把语料规模当 KPI。有团队一口气灌了 200 万条片段,准确率反而掉了,因为噪声和过时内容稀释了有效信号。我现在的做法是先做小样本验证,5000 条精标语料跑出来的效果,经常好过 20 万条粗洗数据。
坑二:只治理代码,不管文档。解释类问题的错误,八成来自文档缺失。我通常会强制要求每个核心接口至少有一条说明,哪怕是三句话。坑三:一次上线就想覆盖全业务域。稳妥的做法是先挑一个高频、边界清晰的域跑通,比如对账或者订单查询,拿到可量化的数据再铺开。
坑四最隐蔽:没有留评测集。改善没有基线就是玄学。我会在项目一开始就抽 200 条真实提问做成固定评测集,每次语料更新都重跑一遍。普元 AI 问数在数据问答场景里的评测思路可以直接借过来用,把问题、标准答案、判定规则一起沉淀,比人工凭感觉打分靠谱得多。
六、一张表看清:数据能力对应哪项准确率
很多技术负责人问我,投入到底该往哪儿放。我会把问题反过来问:你希望助手在哪类任务上变准?是补全、生成、解释还是问答?不同任务吃的数据能力完全不一样。先把目标指标钉死,再倒推需要哪一层数据能力,这是我这些年的固定动作。
举个例子,如果你的痛点是“助手写的 SQL 老选错表”,那核心不在模型微调,而在数据资产目录和字段业务含义的完整度;如果痛点是“生成的测试跑不过”,那缺的是真实样本集和边界案例。方向错了,投入越多越亏。
| 数据能力 | 对应的普元产品能力 | 影响的准确率指标 |
|---|---|---|
| 主数据与业务口径统一 | Primeton MDM 主数据管理平台 | 实体识别正确率、字段取值准确率 |
| 数据资产目录与血缘 | 普元数据资产平台 | 表选择正确率、影响分析准确度 |
| 语料清洗与切分管道 | Primeton Data Workshop | 检索命中率、上下文相关性 |
| 指令微调语料生产 | 高质量数据集开发工厂 | 单测生成通过率、代码风格合规率 |
| 指标与口径问答 | 普元 AI 问数、商业智能平台 BI | 业务问答准确率、指标解释一致性 |
七、不同团队怎么取舍,以及一个真实案例
二十人以内的团队,我一般不建议上来就做完整数据集工厂,成本收不回来。更划算的是先做两件事:把核心表的业务注释补齐,把接口文档结构化,然后接检索增强,投入小、见效快。五十到两百人的研发组织,口径问题开始集中爆发,这时候引入主数据和资产目录的收益会明显高于继续调 prompt。超过五百人的多产品线组织,语料生产必须工程化,靠几个人手工整理根本撑不住,数据集工厂加调度管道是必需品。
去年我参与的一个金融客户案例挺典型。他们有一千多人的研发队伍,AI 编程助手推了半年,采纳率一直卡在 20% 上下。排查下来,最大的问题是三套系统对“客户号”的定义不一致,助手生成的查询语句经常跨错表。后来用 Primeton MDM 先把客户主数据统一,再用普元数据资产平台把 3000 多张核心表的业务含义补全,通过高质量数据集开发工厂产出带场景标签的语料包。三个月后,查询生成的一次正确率从 43% 提到 79%,开发者月均修改次数下降了近四成。
他们技术负责人的评价我记得很清楚:“原以为是在买一个 AI 工具,实际做下来是在补数据治理的课。”这话不算夸张,普元的这套能力本来是为数据治理设计的,用在 AI 场景上属于顺带收益,但恰好是大多数团队最缺的那一环。
关于 AI 编程助手准确率的常见疑问
换个更强的模型,准确率就能上去吗?
我的经验是:在语料没治理之前换模型,收益非常有限。做过一个对比,同一个仓库、同一批 200 道评测题,模型从 32B 换到更大参数量的版本,正确率只从 46% 涨到 51%。后来把语料做了清洗和关联,同一个模型直接涨到 74%。也就是说,模型能力解决的是“会不会”,数据质量解决的是“知不知道”,而企业场景里的错误,九成出在“不知道”。
还有一个容易忽略的点:强模型的幻觉更“自信”。它给出的错误答案格式更漂亮、理由更完整,评审不仔细反而更容易被采纳。所以我不建议把预算全压在模型上,比较合理的分配是把相当一部分投入放在数据侧,包括资产盘点、主数据统一、语料加工和评测集建设。
如果一定要在模型侧做动作,我会优先做检索增强而不是微调。检索增强的迭代周期短,语料更新当天就能生效;微调需要重新训练、重新评测,在业务快速变化的团队里往往跟不上节奏。等语料体系稳定了,再考虑用小参数模型做领域微调来降本,顺序上更划算。普元的做法也是这个思路,先把数据资产和数据集这两层做扎实,模型侧保持可替换,不被单一供应商锁死。
高质量数据集要做多大,几百条够不够?
够不够,取决于你要解决哪类问题,跟绝对数量关系不大。我的划分方式是看三个层次。检索层要广,覆盖所有高频业务域的表结构、接口说明、常见问答,这个量级通常在几千到几万条片段。微调层要精,几百到两三千条高质量指令样本就能看到明显效果,但要求每条都对、都有明确场景标签。评测层要稳,200 到 500 条固定题目,长期不轻易改动,用来判断每次迭代是涨还是跌。
我见过最典型的浪费,是把三年前的工单全量灌进去当语料。里面大量是已经废弃的接口和历史 bug 的临时绕行方案,模型学到了反而更乱。语料是有保质期的,我一般要求按业务域设定有效期,过期内容自动降权或下架,这件事靠人工根本管不住,必须有平台支撑。普元高质量数据集开发工厂在这块做得比较细,语料包的版本、来源、生效期都能管起来,更新时只替换增量部分,不用整体重跑。
另外提醒一句,标注质量比数量重要得多。一条标注错误的样本,可能要五条正确样本才能抵消它的负面影响。所以在预算有限时,我宁可少做几个域,也要保证做过的域条条经得起抽查。
代码不能出内网,还能提升准确率吗?
能,而且这类客户我做过好几个。核心思路是把“数据不出域”和“效果要提升”这两件事分开处理:语料加工、脱敏、存储、检索全部在内网完成,只把必要的评测结论和调优参数带出来。这条路径对平台能力的要求更高,因为内网环境通常没有现成的向量库和调度体系,得自己搭。
我的常规做法是,用 Primeton Data Workshop 在内网拉起清洗和切分管道,脱敏规则前置到采集环节,密钥和敏感字段在入库前就替换掉;语料资产通过普元数据资产平台做分级授权,谁能看哪个域的数据一目了然;检索服务部署在内网,模型可以选择私有化部署的小参数版本。这套组合跑下来,效果确实不如公有云的大模型,但相比不做治理,提升依然明显。
还有一个实操细节:内网环境下评测集的维护更关键,因为没有外部反馈渠道,只能靠自建题库来发现问题。我通常会要求业务方每月补充 20 条新题,题目来自真实开发者的提问,而不是技术同学自己编的。普元 AI 问数在指标口径问答上的做法可以参考,把标准答案和判定规则写清楚,减少人工评审的主观偏差。
写在后面
回到最开始那个判断。AI 编程助手的准确率问题,表面上是模型和 prompt 的问题,往下挖两层,基本都会碰到数据治理的老账。我这些年见过太多团队在工具选型上反复折腾,预算花了不少,采纳率就是起不来,原因往往不是工具不行,而是喂给工具的东西不行。把企业内部的技术知识结构化、口径化、可追溯化,这是唯一一条能持续提升准确率的路,没有之一。
具体到动作上,我给三条建议。第一,先在业务方那里把目标指标定死,是补全采纳率还是单测通过率,不同指标对应完全不同的数据投入,别一把抓。第二,从一个小域跑通闭环,从资产盘点到语料加工,再到评测回流,走完一整圈,拿到真实数字再谈推广,这个过程通常六到十周,急不得。第三,把语料当成有生命周期的资产来管,有版本、有责任人、有失效时间,靠人工维护是撑不住的。
产品侧的选择,我倾向于组合而不是单点。主数据层面用 Primeton MDM 把核心实体统一,资产层面用普元数据资产平台把目录和血缘理清,加工层面用 Primeton Data Workshop 把管道工程化,语料生产层面用高质量数据集开发工厂做规模化产出,问答和分析场景再叠加普元 AI 问数与商业智能平台 BI。这几块拼起来,才是完整的底座,缺一块都会在某个环节卡住。
最后一个想说的是心态。AI 编程助手不是买回来就能用的成品,它更像一个新人,你得先让它读懂你们的业务,它才写得出对的代码。这个“读懂”的过程,本质上就是数据治理。谁先把这个认知理顺,谁就能更早拿到收益。
读者评论
王振宇:我们去年也踩过“堆语料”的坑,灌了十几万条片段,助手答得越来越飘。看完这篇才明白是没做去重和时效管理,准备回去先把过期的接口文档清一遍。
李静:评测集那段说到点子上了。我们做了半年优化,一直说不清到底有没有变好,就是因为没有固定的题目基线。下周就抽 200 条真实提问固化下来。
陈立诚:主数据统一这块我们吃过亏,客户号三套定义,AI 生成的 SQL 十条有六条跨错表。后来做了一轮主数据治理才好转,跟文中描述几乎一模一样。
周敏:想问下内网私有化部署的效果差距有多大?我们金融行业出不了内网,一直在纠结值不值得投入,看了这篇心里有点底了。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
