乐于分享
好东西不私藏

我用AI做了个批量质检工具,全程没写一行代码

我用AI做了个批量质检工具,全程没写一行代码

一个非程序员的AI协作手记,以及可以复用到任何岗位的方法论

你的工作中有没有这样的时刻?

月底了,财务桌上摊着七八张报表,要按科目逐笔核对金额是否一致;季度末,HR面前是一整月的考勤数据,需要把迟到、早退、漏打卡、请假异常全部筛出来;运营刚关掉一场活动报名通道,后台导出几千条用户信息,手机号格式不对的、必填字段为空的、年龄明显不合理的,得一条条过一遍;法务收到的合同文本里,违约金条款是不是统一标准、管辖法院是不是写对了、生效条件是不是遗漏了,也都要逐一排查。

这些工作有个共同点:规则很清楚,但执行全是机械重复。数据量一上来,人工做不仅慢,还容易眼花出错。

我也经常面对类似的活儿。不过上个月,我试着换了个方式——我让AI帮我写了个批量处理的小工具,六轮对话下来,工具就能自己跑完全部质检了。

关键是,全程我没写一行代码。下面聊聊我是怎么做的。

我的工作场景——ICD编码质检

先交代一下我的具体工作,这样你有个画面感。

我做的是病案质控。简单说,每份病历出院的时候都需要贴一个"标签",这个标签就是ICD编码——国际疾病分类代码,相当于用一套标准化的编号来描述这个病人得了什么病、做了什么手术。质控的工作,就是检查这些"标签"贴得对不对:有没有漏编的、编错的、或者编码和病历内容对不上的。

每次质检,我面前是几百到几千份病案数据,还有一份写着质检规则的表格。规则大概长这样:主诊断编码不能为空、主诊断和手术编码之间要满足某些逻辑关系、某些特定编码组合需要额外标注,等等。规则本身不多,大概十几到几十条,但要拿这些规则去逐条对照几百上千份病案,工作量是很可观的。

我的起步条件其实很简单:一份现成的、能跑通基本流程的Python程序,加上两份Excel表格——一份是病案数据,一份是质检规则。程序本身很基础,说白了就是一条一条去读数据,然后拿规则去比对。但基础的程序离"好用"还有很大距离,中间经过了好几轮调整。

而这些调整,全是我跟AI聊天聊出来的。

我跟AI的六次对话

下面是我跟AI的六次对话。我不会讲技术细节,而是侧重"我怎么说"和"问题怎么解决的",每段对话后面我会总结一个方法论要点。你会发现,如果你能准确地跟同事解释一项工作应该怎么做,你就能准确地跟AI描述一个程序应该怎么写。

1提取关键字段

第一个问题很直接:病案数据里的编码字段,是用斜杠连在一起的一长串内容,但我只要取第一个编码。

我是这么跟AI说的(大意):"编码那一列,数据是用斜杠分隔的,比如A01/B02/C03,我只需要取最前面那个,也就是A01。"

就这么一句话,AI就理解了,直接给出了处理方案。它知道"斜杠分隔"意味着要按符号切分,"取最前面那个"意味着取切分后的第一段。

方法论提示

跟AI沟通的第一步,就是把业务需求翻译成数据处理需求。你不需要会说技术术语,只要能说清楚"现在的数据长什么样""我想变成什么样",AI就能理解。

2规则解析出了错

程序跑起来之后,我发现有些质检规则被截断了,检查结果不对。

原因是什么呢?质检规则里本身包含了一些特殊符号,程序在解析规则的时候,把这些符号也当成了分隔符,结果一条规则被错误地切成了好几段。

我观察了一下出问题的具体情形,然后跟AI说:"条件之间的分隔符有时会把规则内容也切断,能不能只切前两刀?"

这里的"只切前两刀"是我自己想出来的说法,意思是只按分隔符切分一次就够了,不要无限制地切下去。AI秒懂,改完之后问题就解决了。

方法论提示

遇到程序出bug,准确描述"什么情况下出问题"和"期望的正确行为"就够了。你不需要知道代码里哪里写错了,只需要告诉AI现象是什么、你希望它怎么表现。

3数据类型不一致导致的崩溃

改完上一个问题,程序又报错了。我看了报错信息——虽然看不太懂,但我能描述发生了什么。

大概是:有些病案里的某个字段,有的是以列表形式存在的(就是一组数据),有的就是普通文本。程序在检查这个字段是不是为空的时候,用同一种方式去处理,结果遇到列表类型的数据就崩溃了。

我跟AI说:"有的字段是列表,有的是普通文本,用同一种方式检查空值就报错了。"

AI加了一个判断:先检查数据是什么类型,再分别处理。一行描述,问题搞定。

方法论提示

你不需要理解报错信息里的每一个技术名词。告诉AI"什么操作、碰到什么数据、出了什么问题",它自己会定位原因并给出修复方案。这就像你去修车,不用自己诊断故障码,告诉师傅"踩刹车的时候方向盘抖"就行了。

4加一列数据

这个问题特别简单:质检结果表出来了,但我发现里面缺少了"出院日期"这一列,而这个信息我后续分析需要用到。

我跟AI说:"结果表里帮我加上出院日期这一列。"

一句话,搞定。

方法论提示

不要把简单的事情想复杂了。加一列数据,不需要解释为什么需要、放在哪里合适、格式是什么——AI会根据上下文做出合理的判断。如果它猜得不对,你再纠正就行。

5数据太多跑太慢

前四个问题解决后,程序功能上已经没什么问题了。但当我拿全量数据跑的时候——几千条病案——发现速度很慢,等了好几分钟才出结果。

我脑子里隐约记得"多核""并行处理"这些词,但完全不知道具体怎么操作。于是我直接用大白话跟AI说:"数据量大了跑得慢,能不能同时用多个核心一起处理?"

AI就自动把数据分成了好几块,让电脑的多个处理器同时并行处理,速度一下子快了好几倍。

方法论提示

性能优化用大白话一样能表达清楚。你不需要知道"多进程""线程池""异步IO"这些概念,只要说出你观察到的现象和你期望的效果,AI会自己选择合适的技术方案。先让工具能跑起来,再让它跑得更快。

6最无聊但最影响体验的问题

最后一个问题,技术含量可能是最低的,但如果不解决,整个工具几乎没法正常用。

当时我双击程序想运行它,结果窗口闪了一下就消失了。程序其实跑完了,但结果一闪而过,什么都看不到。

我告诉AI:"双击运行的时候窗口一闪就没了,能不能跑完后停一下让我看到结果?"

AI在程序末尾加了一句"等待用户输入"的指令,这样窗口就会停住,直到我按一下回车键才关闭。

方法论提示

最影响使用体验的bug,往往技术含量最低。但恰恰因为技术含量低,我们很容易觉得"这种小事不好意思拿出来问"。别犹豫,任何影响你使用的问题都值得提出来。

六次对话,从功能实现到bug修复,从字段调整到性能优化,再到用户体验的小细节。整个过程就像跟一个很耐心的同事合作——只不过这个同事写代码特别快。

我从这个过程中学到了什么

回过头来看,这次经历最大的收获不是做出了一个工具,而是摸索出了一套跟AI协作的方法。我把它们总结成四个要点。

要点一:描述问题比描述方案更重要

很多人觉得跟AI沟通需要会"说技术语言",其实不是。打个比方:你去理发,你不需要告诉理发师"用几号推子、从哪个角度下刀",你只需要说"剪短一点,鬓角修干净",理发师就知道该怎么做。

跟AI协作也是一样。描述问题比描述方案更重要。你不需要告诉AI"用正则表达式按第一个斜杠分割",你只需要说"数据是用斜杠连在一起的,我只取最前面那段"。AI会自己判断该用什么方法。

所以核心能力不是"懂技术",而是"能把自己的需求说清楚"。

要点二:先跑通再优化

回顾我的六次对话,你会发现它们是有顺序的:先是把基本功能跑通(提取字段、解析规则),然后解决运行中的bug(数据类型不一致),再补充缺失内容(加一列),最后才做性能优化(多进程并行)。

这个顺序不是刻意安排的,而是自然推进的结果——先让东西能用,用的时候发现问题再改。

这其实是一个很重要的原则:先让工具能跑起来,再让它跑得更快。不要一上来就追求完美,先做一个"能用的版本",再一轮一轮地改进。这跟写报告、做方案是一个道理——先出初稿,再反复打磨,比憋一个完美版本出来高效得多。

要点三:你的领域知识才是核心竞争力

AI很强,但它有一个根本的局限:它不知道ICD编码是什么,但它知道怎么处理字符串。你的领域知识才是让输出正确结果的关键。

举个例子,在我们的质检规则里,"主诊断编码"和"其他诊断编码"有不同的检查逻辑。AI不知道这两个概念的区别,也不知道为什么主诊断需要更严格的校验。但这些我知道,所以我能准确地告诉AI"主诊断这一列要做这些检查,其他诊断那几列做那些检查"。

财务的人懂科目之间的勾稽关系,HR的人懂薪酬计算的层级规则,法务的人懂合同条款之间的约束逻辑。这些领域知识才是让AI输出正确结果的关键。AI负责执行,你负责把关。你能把规则说得多准确,结果就有多可靠。

要点四:要有现成的"锚点"

有一个很重要的前提:我不是从零开始的。我手上已经有一份能跑通基本流程的Python程序,以及整理好的数据表和规则表。

这个现成的程序就是我的"锚点"。AI不需要从空白页开始创作,而是在一个已有的框架上做修改和优化。这就好比装修,在毛坯房里从零设计很难,但如果你已经有一个住了几年的房子,只是想优化一些细节,那就容易得多。

如果你手头没有现成的程序怎么办?其实也可以让AI先帮你写一个最简单、最基础的版本——哪怕功能很粗糙也没关系。然后以此为起点,一步一步迭代。关键是不要追求一步到位,而是找到一个可以出发的位置,然后不断优化。

这套方法可以迁移到哪些场景

我聊的是ICD编码质检,但你可能已经发现,这套方法的本质是:有结构化的数据,有明确的检查规则,需要大量重复执行。满足这三个条件的工作,在任何行业都大量存在。

财务:多张报表数据交叉验证

月底把利润表、资产负债表、现金流量表的关联科目逐一核对,看数字是否一致。规则清晰、数据量大、纯重复操作。

结构化数据明确规则高重复性

HR:考勤数据批量合规检查

整月考勤记录中,筛选出迟到超过规定次数、连续打卡时间异常、请假类型与审批记录不匹配等情况。

结构化数据明确规则高重复性

运营:用户报名信息格式校验和清洗

活动结束后,几千条报名数据里,手机号位数不对的、邮箱格式异常的、年龄不在合理区间的,需要一一识别和标注。

结构化数据明确规则高重复性

法务:合同关键条款批量筛查

几十份同类合同中,检查违约金比例是否统一、管辖法院条款是否完整、保密期限是否符合标准。

结构化数据明确规则高重复性

销售:客户信息去重和标准化

从多个渠道汇总的客户名单中,找出重复录入的记录,统一公司名称的写法(比如"有限公司"和"有限责任公司"的归并)。

结构化数据明确规则高重复性

你可以对照一下自己的工作,想想有没有类似的情况。如果有的话,说明这个方法完全可以用在你身上。

以前自动化是找IT提需求排队,现在自动化是你自己跟AI聊几轮。

你不需要学会编程,你只需要学会把自己的工作需求说清楚。数据是什么样子的,规则是什么,期望的结果是什么——用你平时跟同事交代工作的方式说出来就够了。

下次当你面对一堆需要按规则逐条检查的表格时,不妨先想一想:能不能让AI帮我写个小程序,批量做这件事?

答案大概率是:可以的。