ENZH
和 AI 讨论这篇文章
ChatGPTClaude

在板前叫不出鱼名,我让一群 agent 做了本认鱼图鉴

朋友前阵子发我一份小课,叫「omakase 认鱼课」,做得挺好看的,一张图讲一种鱼,排版也很讲究。但我翻了两页就发现不对,上面的「英文名」全是拉丁学名,像 Thunnus orientalis、Pseudocaranx dentex 这种。讲道理,这在板前一点用都没有。师傅一抬头问你点什么,菜单上印的是 Hamachi、是 Sea Bream,你脑子里存着一串拉丁文,根本对不上号。

我想要的很简单,中文名 → 日文名 → 美国餐厅菜单上实际印的那个名字。网上没找到现成的,那就自己做一个。说自己做也不太准确,其实是我指挥一队 agent 做,我自己一下午基本都在审它们交上来的东西,算是当了回主编。

成品先放这儿,免费拿:认鱼图鉴 PDF(92 页)。下面讲讲具体是怎么做出来的。

流程分三段

整条 pipeline 分三段,调研、配图、拼装,每段用的工具都不一样。

  1. 调研,多个 agent 并行跑。我开了九个 agent,每个管一类鱼(赤身、白身、光物、贝、虾蟹这些),把自己手里那几种鱼各整理成一条结构化的记录,字段有中文名、日文(假名加罗马音)、美式菜单英文名、拉丁学名、旬、板前怎么认、口感、怎么上、容易跟谁搞混。最麻烦的是美式菜单名这一栏,我专门让它们上网去核实,因为模型最爱在这儿想当然。你让它翻「鯛」,它张口就是 sea bream,但美国一半的菜单上印的其实是 red snapper。这种地方必须查,不能它说什么就信什么。

  2. 配图,用 gpt-image-2。每种鱼两张写实图,一张是整条鱼,让你认得出它在市场里的样子;一张是摆好盘的那一贯,就是你在板前实际看到的样子。一共差不多 150 张。图出得准不准,基本全看 prompt 写得多细。把这条鱼的颜色、花纹、特征一条条写进去,画对品种的概率高得有点意外,鲣鱼肚子上的纵纹、石鲷的黑白横条、金目鲷的红皮,都画对了。

  3. 拼装,就是一段很无聊的确定性代码。生成器读数据,吐出带打印样式的 HTML,再用无头 chrome 打成 PDF。这一层我故意一点 AI 都没放,因为排版要的是每次跑出来都一样,用不着模型发挥。

反正我现在做东西基本都是这个套路,发散的活交给 agent 去跑,确定性的骨架用代码写死。模型只是代码里调用的一个子程序,或者说一个函数,整个流程不归它管。

一条三段流水线:并行 agent 调研、gpt-image 配图、确定性代码拼装成 PDF,发散的活交给 agent,骨架用代码写死。一条三段流水线:并行 agent 调研、gpt-image 配图、确定性代码拼装成 PDF,发散的活交给 agent,骨架用代码写死。

踩了两个坑

第一个坑是图片尺寸。一开始我在一个限速的接口上跑图,便宜,但一分钟只让发 10 张,150 张不知道要跑到什么时候。后来换了个快的接口想并行跑,结果出了件很怪的事,整鱼图全挂了,摆盘图全都好好的。代码是同一套,prompt 是同一批,模型也是同一个。

查下来,两种图唯一的差别是尺寸。整鱼图请求的是 1792×1024,这是老模型的尺寸,新的图模型不收,只认 1536×1024。老接口不声不响地收下了,新接口不收,直接报错。改一行就好了。这是个很老的经验,如果故障整整齐齐按某个维度分成两边,像这里整鱼全挂、摆盘全好,那 bug 基本就出在这个维度上。

整鱼图全挂、摆盘图全好,故障齐刷刷按尺寸分成两边,bug 就出在尺寸上。整鱼图全挂、摆盘图全好,故障齐刷刷按尺寸分成两边,bug 就出在尺寸上。

第二个坑是分页。点菜速查表是一张 82 行的长表,我一开始让它自己往下溢出、自动分页,结果它开始吐出一半是空白的页,还把一种鱼的名字劈在两页中间。修的办法不是在 CSS 上调来调去,是把分页从排版引擎手里拿回来,在代码里把行切好,一页固定多少行,断点绝不落在小标题上。排版引擎自由发挥就是会出这种事,断点全写死就没问题了。

半路多出来一份数据

做到一半,另一个 agent 又塞给我一份数据,71 条,鱼和我这份差不多,但结构不一样。它每种鱼都给口感打了分(脂、弹、香,各 1 到 5),还带一个肉色的色值。这么好的东西,不要白不要。

但这两份数据我没有手动去拼。我让一个 agent 拿这份数据当打分的尺子,把 73 种鱼的口感全部重新打一遍分,这样不管那份数据里有没有这种鱼,用的都是同一把尺子。现在每张卡片上都有一小条「脂/弹/香」的格子图,还有一个按真实肉色填的圆点。这种活人手做要做很久,交给 agent 几乎不花钱。

图鉴里有什么

一共 73 种鱼,分 9 类。每张卡片上有中文名/日文名/美式菜单名、旬、板前怎么认、口感、怎么上、容易混淆的鱼、辨识关键词、口感格子图,另外还有两张图。拿 Hamachi 举个例子,它是幼鰤,冬天最肥,口感紧实干净,容易和间八搞混,这些卡片上全都印了。

另外还塞了几样板前真用得上的东西:

  • 寿司形式速览:握/军舰/卷/手卷/刺身
  • 下仕事术语表:漬け/昆布締め/炙り/煮切り这些。有时候看懂下仕事,比认出是什么鱼更说明问题
  • 点菜避雷页:菜单上的「White Tuna」很多其实是油鱼;「这到底是哪种金枪鱼」;三文鱼根本不是江户前的传统;河豚得看牌照
  • 一张五页的点菜速查表,点单前扫一眼就行

做完的一点感受

整件事就花了一个下午,而且这一下午我大部分时间在审 agent 交上来的东西,不是自己在做。感觉这里面最值钱的变化是协调变便宜了,「AI 画了图」反倒不是重点。九个并行的调研 agent,一轮上网核实,两批图,一次口感标定,一个确定性的拼装脚本,这其实就是一条小型生产线,我坐在椅子上就把它跑完了。

我要拿的主意其实就是怎么分活,schema、排版、分页这些用代码写死,调研、配图这些交给 agent 跑。这条线划对了,一个下午就够了。


→ 下载这本认鱼图鉴(PDF,92 页)

灵感来自一份做得很漂亮的 omakase 认鱼课。书里的鱼图是 AI 生成的,供参考和好看,不是物种鉴定标准——真较真的时候,信师傅。本文 CC BY-NC。

和 AI 讨论这篇文章
ChatGPTClaude
最近捣鼓了什么第 23 篇 · 共 23 篇
← 上一篇下一篇 →

订阅更新

新文章发布时发到你的邮箱,不发别的。


© Xingfan Xia 2024 - 2026 · CC BY-NC 4.0