ARTICLE · 1268838
我不懂写代码,用AI做了一个工具,但改了18遍才像那么回事儿
我不懂写代码,用AI做了一个工具,但改了18遍才像那么回事儿先说清楚,我不写代码。真的一行都不写。工具是AI写的,2600行核心逻辑加一堆前端,我连里面那个函数在干什么都看不懂。 但我不写代码,不代表我提不出需求和问题。 我做了一个workbuddy的技能,叫【医药流向追溯】说白了就是:药从工业公司发出去,经过几层流通商,最后流到哪些医院、哪些药店,中间有没有倒挂、串货、层级过深。给一张流向明细表,就能自动产出一张可视化的层级链路图。 东西是真做出来了,3700行代码,改了18遍才对。过程比我预想的累。累的不是它写不出来,是它写出来了,但我用起来别扭。 这一整篇看完,你要知道的就三句话。 第一,AI的天花板不在模型,在提问的人。同一个AI,同一个工具,懂业务的人和不懂业务的人用出来的结果差着一整个量级。差的不是谁更聪明,是谁更清楚"这东西该怎么用才对"。 第二,你能用好AI70%的能力,靠的是三件事: 会给料——把你的背景、约束、标准、例子喂进去,而不是甩一句"帮我写个方案" 会提要求——说得出"哪里不对、应该是什么样",而不只是"重写一下" 会找问题——用起来觉得别扭的时候,能说清别扭在哪 这三件事,一件都不需要会写代码。 第三,这三件事恰恰是"在行业里待久了"才有的东西。我认识一些真正的技术高手,他们做工具很快,但经常做不出"我这种行业里的人真的愿意用"的东西——因为他们没有那份业务直觉。 而我有的。我不知道函数怎么写,但我知道筛选项不能自动填值,因为我知道"默默少给你数据"是件多恶心的事。 所以如果你只从这篇文章带走一件事,就带走这个:你不需要会写代码,你需要懂业务、会提要求。 这也是我写这篇的真实目的——把一个真实案例摊开给你看,让你看到"不懂代码的人,怎么把一个行业工具喂到能用"。你不用照抄步骤和流程,你照抄方法就行。 下面我讲这个工具怎么一步步从"能跑"变成"能用"。如果你只想看结论,上面这几段就够了,可以直接跳到文末。 如果你想看过程,那这里有个提示:整个过程我分成了三段—— 第一段(问题):AI的第一版能跑但没法用,我提了4个问题,每一个背后都是一条判断 第二段(喂料):哪些事通用模型一次就写对,哪些事它必须你来教 第三段(成品):改到第18遍长什么样,我自己怎么把它变成能复用的东西 三段之间是独立的,跳着看没问题。 
AI一次就给我写出了第一版。 2600行核心逻辑,提示词:生成一张交互式的链路图,左边是批号和源头清单,右边是可缩放的树状图,点任意一个节点弹出这个环节的逐笔进货和发货明细。量倒挂、时间倒挂、下游超发三类异常会自动标红。 跑起来没报错。树是对的,明细是对的,异常也对。 现象:我打开页面,点开产品下拉框。里面只有1个产品。我以为是自己哪里没点到,刷新,还是1个。实际那个下拉里,一共11 个产品。 这就是我提的第一个问题。 我把这个问题丢回去,它去查了,然后给了一个我没想到的答案。 原来它用的是浏览器原生的下拉控件。这个控件的逻辑是:输入框里有内容时,展开只显示跟内容匹配的那一项。 而这个页面打开的时候,输入框里是预填了产品名的。于是下拉一展开,就被自动过滤成只剩那一个。技术上完全正确。教科书上就是这么写的。 但它没考虑过一件事:这个输入框里本来就有字。我第一次点开它,是想看全部,不是想搜。 它的错不在于"写错了",在于它假设了一个我没说过的使用场景。 后来改成了自己写一个下拉:点开就显示全部11个,我打字才过滤。这个行为跟人点开一个选择框的直觉是一样的——点开是看,输入才是搜。 
我猜这件事换成任何行业都一样。你跟一个新同事说"把下拉框改一下",他改完你还是会觉得别扭,因为他脑子里的场景和你脑子里的场景不是同一个。 改完下拉,新的别扭来了。我选了产品B,页面自动帮我把规格填成了"规格乙"。挺贴心的,对吧?然后我查出来的批号数量不对。 产品B本来有9个批号,填了规格之后只剩4个。原因很简单:它自动填的那个规格,把另外5个批号筛掉了。它替我做了筛选,而且没告诉我。 我这才意识到,这种错比直接报错还难缠——功能"能用",页面不白屏,不崩,就只是默默少给你数据。你不点开数一遍,根本看不出来。你还会以为是数据本身就这样。 后来定了条铁律:筛选项永不自动填值。规格和批号初始都留空,留空就是全部。你想筛什么自己选。 这条后来变成了整个工具里最重要的一条规范。不过这条规矩不是我一开始就想好的,是被另一个问题逼出来的。产品下拉和规格下拉,本来是两个框。逻辑上没毛病——先选产品,再选它的规格。 我说了一句:"不用分2个框,原来一样,一个下拉选择框就好了,只要相同产品排一起就行。" 它一开始没听懂,因为技术上两个框更清晰。反复说了几遍之后,它改成了:一个下拉框,里面按产品分组,相同产品的规格挨在一起排。选"某个产品"就是全部规格,选"某个产品·某个规格"就是那一个。这两个框合起来是1个框,观感上更简单,但它底下的数据结构反而更复杂了——得先按产品聚合,再把规格挂到各自的产品下面。我的要求是"更简单",它的实现是"更复杂"。这两件事不矛盾:复杂度挪到了看不见的地方,表面就干净了。 我不懂代码,但我知道一个下拉框该长什么样。这种事不需要会写代码。 这是第三个问题,也是我最后才想明白的一个。 这个工具的用途是找异常——哪批货的渠道层级过深,哪儿有倒挂,哪儿超发。它的默认行为是:切到一个批号,显示第一个源头的链路。我一开始没在意,觉得挺合理。后来有次我切了个批号,页面显示的链路干干净净,什么问题都没有。我以为这批货没问题。后来翻到第2、第3个源头一看,全是标红的异常。 问题在于:异常通常不在第一个源头里。它默认给我看的是最"干净"的那棵,异常都藏在后面。我得自己一个个源头翻过去,页面才把问题亮出来。这跟"把报警器装在厨房、但火点在卧室"一个道理。 改完之后,切批号会自动跳到第一个有异常的源头。现在我一打开就是有问题的那个,省掉的是"以为没事"这个最贵的误判。 这个改完我心里是有点震的。一个查异常的工具,默认动作居然应该是"直接让我看到异常",而不是"让我看第一页"。这个想法不是我原来就有的,是被那个空白页面逼出来的。 这个问题说出来有点不好意思,但我猜很多人都有同感。链路图摊开,一层一层往下,谁是谁的下游,看得懂。但我想跟人解释"这个节点在第几层"的时候,我得自己数。于是节点上现在标着层级:L1、L2、L3。就加了一个标签。 但这两个字的信息量是巨大的——层级不只是位置,它直接对应"越级嫌疑"。渠道层级越深,越可能有窜货或者过票。一个标签,把一张图变成了一份能下判断的图。 还有几个类似的小问题,我一并提了: 批号别做下拉,太多了,而且我要能输入片段匹配,直接给个输入框加候选提示;缩放别缩太狠,"适应"最低也要50%,看不清字还有什么用;定位客户之后要自动切到对应源头、高亮、居中,我不该自己找;筛选如果没数据,要明确告诉我"这批号在这段时间内无数据",别装作筛过了; 到这里,18遍里已经用掉5遍,全是交互层面的。 这5个问题有个共同点:都不是"代码怎么写",是"这东西该怎么用"。换成任何一个行业、任何一个工具,问题的形态都长得一模一样。 上面那些是交互问题,教一教能改好。但这个工具真正的价值在另一半,这部分通用模型真给不出来。 流向数据里有三类异常,判定规则全是业务逻辑: 量倒挂——源头只发了1200盒,某个下游却发出了3000盒。货不可能凭空多出来,说明其中某一环的数据有问题。 时间倒挂——这一条最容易被忽略,数量对上了不代表时序对得上。某个环节7月27号才从上游进了600盒,7月14号就已经发往下游600盒。货还没到手就先发出去了。光看总量,两个数一模一样,什么问题都发现不了。必须把进货和发货按日期并成一条时间线,逐时刻核对累计发货量不能超过累计进货量。 下游超发——源头总共发了1000盒,但它某个下游发出去1500盒,直接定位到是哪个下游超了多少。 还有几条更细的规矩,都是踩过才知道的:退货和冲销的负数单不参与累计,否则会把退货冲减成假的倒挂 同一天的进货和发货,得进货排在发货前面,不然会误判 同一个客户有多个上游时,在各个分支重复出现,不合并 这些我讲给AI听的时候,它一次就写对了。因为这些不是"怎么写代码"的问题,是"这个业务是怎么回事"的问题。 它能写代码,但它不知道什么叫货没到手就发出去了。这个只能我教。 这就是"喂料"和"教业务"的区别。 给料是把场景、约束、标准说清楚;教业务是把只有行业里才知道的那点东西递过去。前者AI猜得到方向,后者猜不到。 
改到第18遍的时候,它终于不像AI做的了。 说几个我记着的数字:核心逻辑2600行,全部脚本加起来3700行出头,文档另有1100行左右。整个技能包4800行上下。改的次数也是真的:核心脚本改了17版,说明文档改了18版,中间自动生成过254次页面产物——每改一次代码就得重跑一遍看效果。 18遍听着也不多对吧。但你要知道,第一遍到能跑,中间那些"用起来别扭"的问题,全是我提的。 而我提的这些问题,翻译成AI能执行的指令,靠的不是技术,是两样东西: 一是我知道这个工具是给谁用的、用来解决什么问题;二是我知道什么叫做"别扭"。 第二样听起来像废话,但它才是最难的那部分。 

对了,这个工具我已经放出来了。想试试的,在WorkBuddy的技能里搜【医药流向链路追溯】,导入你手头的流向明细表就能生成你自己的链路图。 这篇写下来,我自己也捋清了一件事。所谓让AI懂行,不是把资料丢给它让它自己学。 是把你的判断,一条条喂进去。喂的每一条都要能落到一个具体动作上这些判断写下来之后,它就不只是我的助手了,它是我的记忆和规范的载体。下次遇到新问题,它不用再问我一遍。 我不懂写代码,但我知道要什么。这两件事之间的差距,就是AI目前填不了的那一段。而这一段,恰好是一个人在一个行业里待久了,最值钱的东西。 所以如果你也是"不懂代码、但懂业务"的那类人,别急着觉得AI用不起来。你缺的不是学会写代码,是三件事:会喂料、会提要求、会找问题。这三样,你只要在行业里待够几年,就都有了。 你手上有没有被AI搞到反复返工的事?留言说说,我挑几个典型的拆开讲讲怎么把"感觉不对"翻译成它能改的指令。
一、先说结论:你需要的不是会写代码

二、过程第一段:AI的第一版,能跑,但没法用
三、问题一:下拉里怎么只有一个产品?

四、问题二:改了产品,规格怎么自己变了?
五、问题三:切到别的批号,我要自己找问题在哪
六、问题四:这个到底是L2还是L3?
七、过程第二段:哪些事它一次就写对,哪些事必须我来教

八、过程第三段:最后长什么样

















































































