一个做二手转卖的人上个月被平台撤单退款了。不是鞋子有问题,是她的商品描述里写了"真皮",而那双鞋是人造革。她没想撒谎,只是把AI工具写好的文案直接粘了上去,而AI是猜的。 这是"AI写商品文案"工具很少被提到的一点:它们被优化成让东西听起来更好卖,而这恰恰是错误的目标。在二手平台上,一个自信的错误词——错的品牌、错的尺码、一句不成立的"几乎全新"——代价不只是丢一单生意,而是商品被下架、钱被追回,账号最后被封。 所以他做了个反过来的工具,叫 Honest Lister。它唯一的任务是写出最经得起查的描述,而不是最好卖的那一版。 大多数AI文案工具优化的是"我能生成什么",Honest Lister 优化的是"卖家能安全地声称什么"。 它看一张二手衣服的照片,产出的描述里每一条事实性说法,都必须有照片里真实可见的东西撑着。凡是它验证不了的,会标成"请手动确认"交给你,而不是悄悄编一个填进去。 作者最满意的一个场景叫"证明它,否则删掉它"。上传一件看不到品牌标、也看不到尺码标的夹克,看会发生什么。 它先写出描述,以及它拒绝去猜的价格。然后是发布闸门——它不只是把缺口标出来,还会告诉你补哪一张照片能填上每一个缺口。 同样一张照片交给普通AI工具,它会写出"藏青色棉质夹克,M码"——三个词里有两个是猜的。 核心思路是:一份商品描述不是一段要生成出来的文字,而是一组各自需要"挣得位置"的声明。 所以视觉模型不是被要求"写一段描述",而是针对每一个属性分别回答:它是什么、你有多确定、照片里哪个部分能证明它。然后一个很小、可审计的分类器,给每条声明打上四种状态之一。 真正干活的是两条规则。高风险属性永远不能只是"推断"出来的:置信度到 0.90 才算"已观察到",否则一律归为"未验证"。普通属性的门槛低一些:0.80 以上算已观察到,0.55 以上算推断,再低就是未验证。 描述文案只由"已观察到"和"推断"两类声明拼装而成。一条未验证的品牌信息,物理上不可能进入标题。如果出现矛盾——你填了"Mango",照片里清清楚楚是 Zara 的标签——发布会被直接拦下,并告诉你原因。 这不是套在闭源API外面的提示词壳子。视觉后端在本地跑 moondream2,开放权重,约 20亿 参数。作者放了一次真实照片的真实运行结果:模型原始回答是"Blue Jeans",解析出的声明是值"Blue Jeans"、置信度 0.92、证据"Blue Jeans"。 还有一个诚实的数字,因为这个项目本身就是关于诚实数字的:在他笔记本的CPU上,这一次查询花了 285秒。20亿参数的模型用 float32 跑、没有GPU,就是慢。这不是想法本身的缺陷,而是架构要把快速可靠的演示后端和真实推理后端分开的原因——后者该放在GPU上,比如 Hugging Face Space。这也是本地开放权重推理构成整个经济性论证的原因。他宁愿告诉你它花了285秒,也不愿悄悄藏在一个缓存结果后面。 谁都能说自己的AI幻觉更少。所以他在仓库里内置了一套基准来证明这一点——如果事实并非如此,这套基准也会把它暴露出来。 做法是拿同一份视觉模型输出,跑过两套系统:一个普通的"什么都敢说"生成器,和 Honest Lister。两者都对照人工标注的基准答案打分——对每个属性,判断它到底能不能从照片里确立。 初步结果,样本量很小,共 7 件标注商品: - 每份描述中的无依据声明数(越低越好):基线 1.14,Honest Lister 0.0 - 正确弃权率(越高越好):基线 0.47,Honest Lister 1.0 - 被保留的有依据属性(越高越好):基线 1.0,Honest Lister 0.96 作者说,这套基准是初步的、样本很小,如果诚实这件事没生效,它也会把结果暴露出来。

打开网易新闻 查看精彩图片