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