跳到主要内容

抄来的 prompt,是工业奶酪

老墨
老墨

· 阅读约 5 分钟

旧稿:

你是一名资深产品分析师,请仔细阅读下面的用户反馈,判断它属于哪一类问题,并给出你的分析。

四十来字,挤着三个问题。【资深产品分析师】是身份标签,不是行为约束;【哪一类】是个筐,你没告诉它筐里有几格;【请】【仔细】一个客套字一个态度词,都占着位置不干活。

客套字没什么可商量的,见一个删一个。

坑在【哪一类】。这三个字把分类标准整个交给模型自己猜——它猜出来的类别,和我脑子里那五类不是同一批。跑了两百条反馈,回给我十七种标签,其中九种只出现过一次。

改到第二版,把类别清单写进去:

把下面这条用户反馈归入以下类别之一:
A 物流  B 退款  C 质量  D 客服态度  E 价格

四十多条被打上两个标签。清单给了选项,没说要单选,模型就很自觉地“全面”了一把,把全面当成了默认美德。

第三版加一句“只选一个”,新毛病立刻出来:边界模糊的全往 D 塞。【客服态度】是清单里字重最轻又最软的一个,软词是模型的泄洪口。这条我记了很久:你给的类别里只要有一个词义偏软,它迟早变成垃圾桶。

第四版给每一类补判定门槛,A 写成“未按时送达、错发、丢件”。D 还是出事,“承诺未兑现”和 B 里的“流程”打架。删掉“承诺未兑现”,挪进 B,一条规则换了个位置,安静了。顺带把 D 缩成“客服”,去掉“态度”两个字——【态度】自带评价,【客服】只指人,同一个位置,字重差一半。

第五版加个出口:

反馈里没有提到具体事件时,输出 U,并引用原文中缺失的那一处。

U 立刻被滥用,一百条里二十条判 U。门槛不够宽——“没有提到具体事件”太笼统,很多反馈提了事件,只是没说清。第六版改成“没有提到可核对的时间、订单号或具体商品时”,回落到十来回。

第七版才回头处理开头那半句“你是一名资深产品分析师”。按我自己前面骂的,它该删。但我留着了,理由和第一版不一样:它不负责准确率,负责语域。留着它,输出的判定依据写得像个人在说话;删了它,同一套规则会输出成一份公文。它不是主力,是个开关。我骂的是把它当主力的人。

前面六版改的东西,没有一样能脱离我手上那两百条反馈单独成立。删“承诺未兑现”,是因为它在我这批数据里和 B 打架;换个业务,这两类可能泾渭分明,我那句删得毫无道理。

上个月 BBC Travel 有篇写 Trevor Warmedahl 的报道,我看了两遍。这人原本在西雅图做商业奶酪,做着做着发现,自己用的牛奶来自他从没见过的动物,于是辞职走了。之后六年,他搭车、徒步、开车跑了二十多个国家,专找还在用老法子做奶酪的地方。他关心的是“天然农场奶酪”——只用农场自产的奶,不掺外来的。这种奶酪的味道不由配方决定,由那片草场、那群牲畜、那只用了三十年的木桶里的微生物一起决定。他有句话很直:工业化正在把遗产牲畜的多样性抹掉,换来的是哪儿都能复现的同一块奶酪。

模板干的是同一件事。你把一条 prompt 从别人博客上抄下来,抄到的是文字,抄不到写它的那个人当初被什么坑过。他那两百条反馈里的坑,和我这两百条,十有八九不是同一批。

岔一句。他写自己在挪威吃 gammelost,灰褐色,表面长霉,一股霉窖味,入口麻舌头。他说自己并不适应,但建议对陌生食物多试几次。抄来的 prompt 同理——第一版跑得难看,别急着下“这套写法没用”的结论,先搞清楚它是在什么任务上长出来的。

扯回来。

我看一条模板能不能用,只看一件事:它有没有提自己失败过。一句“这么写效果更好”、不附任何被推翻的版本,我默认作者没跑够,或者跑了没说。这不叫苛求诚实,是实用主义——失败版本里才有边界在哪的信息,成功版本里只有边界之内长什么样。

我自己往外给 prompt,固定带三样:定稿、被删掉的版本、每处改动一句为什么。第三样最费事,也最有用。半年后回看,全靠那几句话撑着。光看定稿,我想不起来当初为什么把“承诺未兑现”从 D 挪走。

定稿放这:

你是产品反馈分类器。把用户反馈归入 A–E 之一,只选一个:
A 物流(未按时送达、错发、丢件)
B 退款(金额、到账时间、流程、承诺未兑现)
C 质量(破损、材质、与描述不符)
D 客服(响应时长、态度)
E 价格(标价、优惠券、活动规则)
反馈里没有提到可核对的时间、订单号或具体商品时,输出 U,并引用原文中缺失的那一处。
只输出类别字母和一句判定依据,不超过 25 字。

一百三十来字,比最初那版翻了三倍。这次不为长度辩护——短从来不是目的。

“不超过 25 字”这个阈值是我拍的,没正经测过,可能下周就被自己改掉。U 的门槛也一样,“可核对”这三个字我总觉得还会漏。先这么用着。