AI 图像与视频生成 Agent:从单次生成到评估重试闭环

type
status
date
slug
summary
tags
category
icon
password
wechat_gate
notion image
AI 图像与视频生成 Agent 的关键,不是再套一层对话界面,而是把规划、生成、评估、失败分类和重试连成闭环。单次生成解决“能不能产出”,Agent 要解决的则是“产出不合格时,系统能否知道哪里错了,并以尽可能小的代价修正”。
这一区别决定了系统是一个演示,还是一条可以反复运行的生成式媒体流水线。
DeepLearning.AI 与 Google 合作的《AI Agents for Image and Video Generation》课程,给出了一条很清楚的学习路线:先理解生成式媒体模型与 Prompt Engineering,再引入图文相似度、LLM-as-a-Judge 和结构化 Rubric,最后分别构建图像 Agent 与多场景视频 Agent。本文在课程材料和实验 Notebook 的基础上,把这条路线重新整理成一套更接近真实工程的设计方法。

为什么“调用一次模型”还不是生成式媒体 Agent

一个最简单的图像生成程序通常只有三步:接收 Prompt、调用模型、保存文件。视频生成多了异步轮询和下载,但控制结构没有本质变化。
真正的 Agent 至少还要回答五个问题:
  1. 任务应该拆成哪些可验证的子目标?
  1. 每一步需要调用哪个模型或工具?
  1. 什么结果算合格,谁来判断?
  1. 失败以后应重试哪一步,而不是全部推倒重来?
  1. 重试到什么时候停止,并交给人工处理?
因此,一个实用的生成式媒体 Agent 可以抽象成下面的控制循环:
这里最容易被低估的是“评估”和“决策”。没有它们,系统只有自动生成;有了可解释的质量标准和失败路由,系统才开始具备自治能力。

先选对生成模型:看模态、范围和生成范式

课程材料用三个维度整理生成式媒体模型,这个框架比背模型名称更耐用。
notion image
第一是模态。Unimodal 模型的输入和输出属于同一模态,例如图像放大;Cross-modal 模型在不同模态间转换,例如 Text-to-Image;Multimodal 模型则可以同时理解文本、图像、音频或视频,并产生一种或多种输出。
第二是范围。专用模型通常在特定任务上更集中,通用多模态模型则便于理解复杂上下文、编排工具和生成结构化计划。实际系统经常让通用模型负责推理,让专用模型负责媒体生成。
第三是生成范式。自回归模型按序预测感知 Token,通常更擅长遵循复杂指令和维持全局结构;扩散模型从噪声逐步还原结果,擅长纹理、细节和整体视觉质量。很多现代系统会组合两类能力,因此工程上不必执着于二选一,更重要的是用真实任务测试质量、时延和成本。
模型选择的实用原则是:
  • 复杂指令和多输入理解交给推理能力强的多模态模型。
  • 高质量图像或视频渲染交给对应的专用生成模型。
  • 评估模型与生成模型尽量解耦,避免同一套偏差既负责出题又负责判卷。
  • 模型版本写进配置和运行日志,不要散落在 Prompt 与业务代码里。

AI 图像与视频生成 Agent 的最小闭环

无论生成的是海报、UI Mockup、信息图还是多场景视频,最小闭环都可以拆成四个角色。

1. Planner:把模糊目标变成可验证计划

Planner 不负责写一段更长的 Prompt,而是输出结构化任务合同。图像任务至少应包含主体、场景、构图、风格、必须出现的元素和禁止项;视频任务还要增加动作、时间变化、镜头运动、对白、音效和场景间一致性约束。
结构化输出的价值在于,它既是生成器的输入,也是评估器的依据。如果计划里没有写清楚“人物必须全身入镜”,评估器就没有可靠理由因为裁切而判失败。

2. Generator:把计划渲染成候选产物

Generator 应尽量保持“窄职责”:接收计划和参考资产,返回产物路径、模型信息、调用参数与耗时。不要让它同时决定是否通过,否则失败原因会被埋在模型的自由文本里。

3. Evaluator:把主观质量拆成可执行判断

Evaluator 的输出不能只有一个总分。至少应包含:
  • 是否通过。
  • 分项评分。
  • 失败类型。
  • 可执行反馈。
  • 置信度或需要人工审核的标记。
对于视频,还需要指出问题发生在哪个场景和时间段,否则系统只能重做整条视频。

4. Controller:决定继续、重试还是停止

Controller 才是 Agent 的控制面。它读取评估结果,选择下一工具,维护状态与预算,并保证循环最终可以退出。模型可以参与决策,但最大尝试次数、成本上限和不可重试错误最好由确定性代码兜底。
notion image

评估不是一个分数,而是一层漏斗

生成式媒体没有唯一标准答案。相同 Prompt 可以产生多张都合理的图片,所以传统的“与标准答案逐字比较”并不适用。比较稳妥的做法,是把评估分成从便宜到昂贵的四层。
层级
主要方法
擅长解决
主要盲区
快速过滤
文件校验、尺寸、时长、格式、安全规则
淘汰损坏或明显不合规的产物
不理解语义与审美
语义对齐
SigLIP 等图文相似度
快速检查 Prompt 与图像是否大致对齐
难以判断构图、品牌感和细节错误
深度判断
多模态 LLM-as-a-Judge
解释视觉质量、构图、可读性与一致性
受评估 Prompt 和模型偏差影响
高风险验收
结构化 Rubric 加人工审核
品牌签字、安全、文化语境与最终选择
成本高、吞吐量低
SigLIP 的价值不是给创意作品下最终结论,而是做便宜的第一道筛选。它通过独立编码图像和文本来衡量二者的对齐程度,适合发现“主题完全跑偏”,不适合判断“按钮层级是否专业”或“这张海报是否符合品牌气质”。
LLM-as-a-Judge 更灵活,但评估指令越模糊,结果越不稳定。与其问“这张图好吗”,不如分别要求模型检查主体完整性、Prompt 遵循、构图、视觉质量、文字准确性和品牌一致性,并要求输出 JSON。
结构化 Rubric 再向前一步:把 Prompt 分解成可以逐项回答的问题。例如“画面里是否有一只猫”“花是否位于猫的右侧”“是否出现额外文字”。Gecko 的研究也强调了按技能和问题分解评估的价值:它不仅给出总体差异,还帮助定位模型在什么类型、什么复杂度上失败。
最终原则很简单:机器负责规模,人负责高价值判断。人工评审不应被浪费在损坏文件和明显跑题的结果上,但品牌上线、安全敏感内容和高预算成片也不该只相信一个自动分数。

从课程 Notebook 看工程化缺口:不要让 PASS 控制生产系统

目录中的 Lesson8.ipynb 实现了一个博客转信息图 Agent:抓取网页内容,生成图片,再检查事实准确性、拼写和审美;如果评估结果不是精确的 PASS,就把反馈追加到下一次 Prompt,最多尝试三次。
这个示例很好地展示了闭环,但直接用于生产会暴露几个问题:
  1. response.text[:5000] 截取的是原始 HTML 前 5000 个字符,不一定包含正文,还可能在关键句中间截断。
  1. 通过条件依赖 eval_result == "PASS"。评估器只要返回 PASS.、换行或补充解释,控制器就会误判失败。
  1. 失败反馈是自由文本,系统不知道问题属于事实、拼写、构图还是生成服务异常。
  1. 所有失败都走同一条“重新生成整张图”的路径,无法做更便宜的局部修复或人工复核。
  1. 只限制尝试次数,没有显式记录 Token、生成费用、耗时和每次产物之间的变化。
我在把这段 Notebook 按工程控制面重新设计时,最先做的取舍不是更换模型,而是把评估器的自由文本改成结构化决策。模型能力会变化,但控制器必须长期依赖稳定的字段,而不是猜一段自然语言想表达什么。
下面是一段精简的 Python 控制代码。它把“失败类型”和“下一步动作”分开,便于替换具体 SDK,也便于写单元测试。
这段代码仍是控制层骨架。生产实现还应给每次 Attempt 分配唯一 ID,保存输入 Prompt、参考资产、模型版本、评估 JSON、成本和产物哈希。只有日志可以串起一次生成的完整因果链,线上问题才可能复现。

图像生成 Agent:把风格指南变成稳定约束

课程里的图像 Agent 以品牌风格图为输入,依次执行品牌分析、概念生成、图像生成和质量评估。它不是一次产出一张图,而是先生成多个设计概念,分别评分,并在未达到阈值时根据反馈重试。
notion image
多轮图像编辑为这种 Agent 提供了很好的交互基础:保留已有视觉身份,只修改字体、背景或局部元素。但从工程角度看,每轮都必须显式声明“不变量”。例如:
  • 只调整背景色,主体、姿态和构图保持不变。
  • 只修正拼写,不增加任何新文本。
  • 保留 Logo 的比例与留白,不重新设计标志。
  • 参考图只用于风格,不得被当作要编辑的原图。
如果不写这些约束,生成模型可能在修复一个问题时引入另一个问题。多轮生成并不天然等于一致性;一致性来自稳定的参考资产、明确的不变量和每轮之后的回归评估。
图像 Agent 的推荐工具边界如下:
这里不要让 generate_image 自己修改 BrandProfile。品牌规范是任务级状态,候选图是尝试级状态,两者生命周期不同。混在一起,重试越多,约束越容易漂移。

视频生成 Agent:难点是跨时间的一致性

视频比图像多了一个时间轴,也多了更多失败维度。一个单帧看起来正确的视频,仍可能出现动作跳变、主体变形、镜头不连贯、口型与对白错位,或者三个场景各自精美却完全不像同一条片子。
课程中的视频 Agent 采用了四步结构:
  1. plan_scenes 把一句 Brief 拆成多个场景,每个场景包含视觉描述、旁白脚本和镜头运动。
  1. 为每个场景生成参考帧,并向所有图像 Prompt 注入同一个 STYLE_PREFIX
  1. 用参考帧生成带音频的视频片段,同时注入统一的 voice_profile
  1. evaluate_scene 检查时间一致性、动作连贯性、Prompt 遵循和音频质量,并分类失败类型。
参考帧是这里的关键控制点。Google Cloud 的 Veo 文档也把 Image-to-Video、首尾帧与参考图作为可控制生成的重要接口。与纯 Text-to-Video 相比,先确定场景第一帧,再让视频模型负责运动,能把“画什么”和“怎么动”分开,减少主体与画风漂移。
更重要的是,重试路径应由失败类型决定:
失败类型
保留什么
重做什么
原因
音频不匹配
场景计划、参考帧
视频片段
视觉资产没有问题,重做图片只会增加成本
动作或时间不连贯
场景计划、参考帧
视频片段与运动 Prompt
问题发生在时间维度
主体、构图或风格错误
场景计划
参考帧和视频片段
错误已经存在于视觉锚点
脚本事实错误
原始需求
场景计划及其下游产物
上游语义错误不能靠渲染修复
安全或版权风险
现有全部产物
人工复核
不应通过自动重试绕过风险判断
课程故意给第一个场景注入了一段与主题无关的音频。评估器识别出音频对齐分数低,Agent 保留参考图,只重试视频;第二次音频匹配后再继续下一场景。这个案例说明,Agent 的价值并不是“会重试”,而是“会选择正确的重试边界”。

Prompt 要结构化,但不要让 Prompt 承担全部逻辑

图像 Prompt 通常需要主体、动作或关系、场景、构图、风格、光线、材质和禁止项。视频 Prompt 还应加入镜头角度、镜头运动、镜头效果、时间变化、对白、环境声和音乐。
结构化 Prompt 可以提高指令覆盖率,但以下逻辑不应该只写在 System Prompt 里:
  • 最大重试次数。
  • 单任务预算。
  • 超时与退避策略。
  • 哪些错误不可重试。
  • 产物存储与版本规则。
  • 最终人工审批点。
原因是 Prompt 是概率性控制,代码是确定性边界。System Prompt 可以告诉 Agent “视觉失败时重做参考帧”,Controller 仍应验证 failure_type 是否属于允许值,并在达到预算后强制停止。

一个可上线的生成式媒体 Agent 还需要什么

课程示例重点在生成与评估闭环。进入真实项目,还需要补上六类基础设施。

可观测性

记录每个阶段的输入、输出、模型、参数、耗时、成本、评分、失败类型和下一步动作。对于异步视频任务,还要记录 Operation ID 与轮询状态。日志必须能回答:为什么这次重试、重试改了什么、最终为什么通过。

幂等与产物版本

同一个任务重跑时不能静默覆盖旧文件。建议路径包含 task_id/attempt_id,并用内容哈希识别重复产物。最终结果通过显式的 accepted 指针引用,而不是靠“目录里最新的文件”推断。

预算与退出条件

至少同时限制尝试次数、总耗时和估算成本。只设置 max_attempts 不够,因为一次视频重试和一次文本规划重试的成本差异很大。

评估器校准

保留一小批人工标注样本,定期比较自动评估与人工判断。评估器升级或 Prompt 修改以后,先离线回放,再进入生产。不要默认 Judge 模型的高分就等于真实用户满意。

安全与版权边界

输入资产的使用权限、人物肖像、品牌标志和生成内容安全,需要单独的政策检查。安全失败不应自动通过换词反复试探,而应转人工或直接拒绝。

人工验收

低风险批量素材可以自动通过,高风险广告、品牌主视觉和正式发布视频应保留人工签字。Agent 的目标不是移除人,而是让人只处理需要判断力的部分。

什么时候值得做 Agent,什么时候普通流水线更好

如果任务步骤固定、输入结构稳定、每一步都能用确定性规则判断,普通流水线通常更简单、更便宜,也更容易测试。
当以下条件同时出现时,Agent 才真正有价值:
  • 输入目标经常模糊,需要动态拆解。
  • 不同失败原因需要走不同修复路径。
  • 生成结果没有唯一答案,但可以用多个指标和 Rubric 判断。
  • 工具调用顺序会根据中间结果变化。
  • 需要在质量、时延和成本之间动态取舍。
不要为了“Agent”这个名字,把所有步骤都交给 LLM。一个可靠系统通常是混合架构:确定性代码负责边界、状态和预算,多模态模型负责理解、规划、生成与开放式判断,人工负责高风险验收。

推荐的实现顺序

从零搭建时,我建议按下面的顺序推进:
  1. 先做单次生成,保存完整输入与原始产物。
  1. 为最重要的三到五项质量标准写结构化 Rubric。
  1. 加入 Evaluator,但先只报告问题,不自动重试。
  1. 收集自动评分与人工判断的差异,校准阈值。
  1. 只为一种高频失败增加定向重试。
  1. 再扩展失败类型、预算控制、并发和人工审批。
这个顺序看起来慢,实际更省时间。直接写一个“自动生成直到满意”的循环,往往只能得到不可解释的成本增长;先建立评估基线,才能知道下一次迭代究竟改善了什么。

总结

AI 图像与视频生成 Agent 的核心不是生成模型,而是控制闭环。Planner 把目标变成任务合同,Generator 产出候选结果,Evaluator 给出分项判断,Controller 根据失败类型选择最小修复路径,并由预算、日志和人工验收守住边界。
图像 Agent 的主要难题是 Prompt 遵循、构图和品牌一致性;视频 Agent 还必须处理时间、动作、音频和跨场景一致性。两者共同的工程原则是:评估从一开始就进入架构,反馈必须结构化,重试必须有边界,高风险结果必须由人做最后判断。
当系统能够解释“为什么失败、重做哪一步、为什么最终通过”时,它才不再是一段会反复抽卡的脚本,而是一条可以维护和改进的生成式媒体生产线。

参考资料

关注沐风,不定期更新,全是干货。
2026.09.03 11:32 沪 · 漫读空间