先说结论:我花了 2002 轮 agent loop、29.1 小时墙钟,拿到一支 27 秒的宣传片,而它的评审分数在中途从 13/12 掉到 10/6。

成品在这儿,你们自己判断值不值:

【AIGC】世界游戏 · 27 秒宣传片 PixPin_2026-10-15_23-48-33

我对画面本来就不满意。但比画面更让我无语的是成本结构——所以我今天不吐槽美术,吐槽 loop。

一、账单

这是我从那次会话的完整记录里逐条数出来的(jsonl,28MB / 10818 行):

项实测
墙钟29.1 小时
agent loop 迭代2002 次,平均每次 1.00 个工具调用(最高并发 = 1,全程串行)
Bash822 次:其中含重渲脚本 137、ffmpeg/ffprobe 157、像素探针 90、量化自审 33
Edit573 次,其中同一个文件被改 466 次
Read477 次,其中同一个文件被读 242 次
上下文自动压缩21 次(约每 1.4 小时爆一次)
我打的字11 轮,其中 7 轮只说了「继续」
子 agent 评审10 次 = 5 轮双人评审(叙事 + 美术各一),分布在 7 轮返工里
成片27 秒、1920×1080、30fps、810 帧

74 次循环换 1 秒成片,65 分钟机器时间换 1 秒成片。

一支 27 秒的片子。我坐在电脑前干别的,它跑了整整一天半。

二、这两千次是怎么排的

先解释一下 loop 是什么,免得有人以为 AI 是「一次思考出全部」。它的真实形态是:模型说一句话、调一个工具、拿到结果、再决定下一个工具——这就是一轮。2002 轮就是这么来的,而且它每一轮只敢调一个工具,全程没有并行。

那 2002 轮里,真正来自人类的只有 11 轮,其中 7 轮只说了「继续」。剩下的都是它自己:

  • 21 次上下文压缩。每爆一次,它把前面所有历史压成一段摘要,摘要再作为「用户消息」塞回去,于是它继续干。任务从来没重启,计数一路累加。一个会话能跑 29 小时,靠的不是它记性好,是它每隔 1.4 小时失忆一次然后接着写。
  • 6 次是它自己踢自己。后台评审 agent 跑完,完成通知会以「系统事件」的形式唤醒主循环。所以你以为你在等人回复,其实它俩在互相叫醒。

我读那 466 次编辑的 diff,看到的东西很朴素:它不是在调参数(只有 66 次是改数值),它在往画面里加东西——加施法的人、加云影、加风、加炊烟、加树的 3~4 种变体、加灯灭之前的余烬闪。每一轮评审说「没人」「无生命迹象」「像一枚印章」,它就加一层。

两千轮听起来很吓人,本质上是一个人反复补同一张画缺失的部分,只是每次补一小块。

三、最无语的一条:分数不是单调上升的

这是账单里我最想给所有「AI 能干大活」论调看的一个数字。整件事是七轮返工,其中起了五轮人眼评审(叙事 / 美术各 16 分满分):

版本叙事美术
v4c108
v4d119
v4e1312
v4g1312
v4j106

第五轮到第六轮之间,它为了让「村子不许亮过田」,把整片压暗。结果美术评审原话:「作者声称已修的项里,井台、晾衣、石头、星萤确实收敛了,但田的夜间自发光和河床的路面感反而因为整体压暗更突出。」

从 13/12 掉到 10/6。两千次循环里有整整一轮是在把上一轮的修复退回去,并且退得比原来更差。

它自己的复盘也承认这条:「暗下来不是把亮度乘一遍就完,颜色的相对关系得重排。」——这句话第一天上岗就能说出来,不需要 29 小时和 466 次编辑来换。

四、更无语:它的自审全绿,人眼看着「不配」

第六轮是最荒诞的一版。它自己的量化自审五项判据全部通过:田在变绿、村在变冷、两者反向、没有长静帧、灯逐盏灭 5 记全数得出。

同一版,两位评审打 10/16 和 6/16,并且被问「配得上抖音吗」时回答:不配。还有一句我看了很不舒服:「它更像一张会动的关卡编辑器截图。」

它自己找到了原因,写在结论里,我认:

格子均值是瞎的。 判据量的是取景框格子的平均值,而评审看到的是小面积、高对比的破绽。均值会把「一只 30×14 的箱子比整块田亮」平均掉。

这只箱子后来被新加的像素探针抓到了:终镜里全画面最亮的 24 个像素,全部落在一只柴棚上——整栋屋里唯一漏了夜色处理的一个分支,别的墙、屋顶、石基都跟着天黑沉下去了,只有它留在白天亮度上。

也就是说:两千轮里前面那六七百轮,它是在朝一个错的指标收敛。 loop 越多,越是精确地走向一个没人看得懂的方向。

我不反对量化自审——我自己就要求「自审要带数据」。但数据得先证明这把尺子在量人在看的东西。这次是第 52 条返工才补上这把尺子的,而它在第 1 条之前就应该是第 1 条。

五、最后那一版,没有任何人眼看过

账单里最容易被忽略、但我觉得最荒诞的一项:交付的 v4k 只被它自己的量化判据量过,没有经过第八轮评审。

日志到「第七轮返工 · v4k」就结束了。五项判据全绿,还多了一条「终镜里田是全画面唯一最亮的东西,而且靠色相和面积赢,不靠把别的东西打亮」——这是像素测出来的,我认。

但「观众看完会不会问一句这游戏什么时候上线」,从 v4j 那次 10/6 之后,就再没有第二双眼睛回答过。

两千次循环的最后一次循环,输出是一份自证。 而我最初要的是一个能被陌生人感知的东西。

顺带一个直觉数字:帧间平均差从 v4j 的 4.247 掉到 v4k 的 2.965。它自己解释了这是压暗必然掉的、判据只看有没有长死静(longest_still_s = 0),逻辑成立。但观众拿到的直觉是:最后这一版,单位时间里画面变得更不动了。 而第一轮它被骂的四条里就有一条是「27 秒里有 10 秒是静帧」。

六、它自己记的没修完的账

这点要给它说好话:交付时那份日志里明确列了「本轮没有修,如实记在这里」:

  • 开场建立镜在 v4j 上只有 1.5s、四要素全在 30px 以下(「地图没建就被推脸」),到 v4k 缩到 0.8s:没动,因为改它要连带重排整条时序;
  • 干河床在终镜尺度下仍是一条贯穿画面的浅色带,「一条线从山脚穿过村子到海边」是故事本身要求的,要真解决得改构图,不是改纹理;
  • 田在特写里仍偏「台」,真要落地得只留下游一个断面,那是几何重做。

这三条它都写明了「下一轮要动的不是细节,是结构」。能力边界说死,不糊,这是我满意的。

但同一份日志也就是在告诉我:两千次循环全花在结构之外的边缘修饰上。

七、我本来期望 loop 是什么

我讨厌的不是它跑得久。我讨厌的是用 loop 的数量代替判断。

如果第 3 轮之后它得出的结论是「这只箱子的问题在于我所有的判据都是均值,得先换尺子」,那它后面 1500 轮根本不需要跑。这次会话里,换尺子这件事发生在第 52 条返工。

所以我后面要的形状是这样:

  1. 先验证度量,再跑优化。 度量没经过人眼对撞之前,不许进入「改—渲—量」的重循环。
  2. loop 要有代价感。 29 小时、65 分钟机器时间换 1 秒成片,中间没有任何一次它停下来问我「这一轮值不值得跑」。是我说「你修得足够久了,先暂缓你的计划,把 demo 视频放出来」——如果没有我那句话,它会继续第八轮、第九轮。
  3. 交付前必须有一次外部感知。 判据全绿不算交付,得有第二双眼睛(人或一个只看图的评审 agent)看过成片。这次缺的正是这一条。
  4. 能加的东西有优先级:先加动的,别加亮的。 这条不是我说的,是它自己在结论第 5 条后面写的,但它写在前六轮之后。

收尾

我不满意这支片子。等第 2 条我满意的时候,我会重做,也会再来吐槽一次。

至于 loop 两千次这件事本身——它确实"坚持"、确实"自审"、确实"把账如实记下来了",这些都是好品质。

但一天半之后交付 27 秒,其中最后一版连一次都没被人看过,这不是勤奋,这是没有刹车。