成本、复现与故障排查
本节目标
把每次尝试当成有预算、有记录的实验,能区分需求、策略、供应商、传输和质量问题。
成本不是只看单张价格
总成本至少包含:请求次数、每次候选数、尺寸/质量档、编辑轮次、失败重试、存储与传输、人工评审和后期。供应商定价会变化,本课程不写死价格。运行时从官方价格页或账单数据读取单位成本,并在任务层设置 max_attempts、max_outputs 和需人工确认的预算阈值。
先低成本验证布局和主体,确定方向后才提升分辨率或质量。把“创意探索”与“生产渲染”分成两个队列,避免所有草稿都用最高规格。报告成功交付一张图的总尝试次数,而不是只报告最终请求。
可复现记录
保存:原始结构化需求及 source_revision、归一化提示、负面/禁止项、输入 asset_id 与哈希、对象级授权/ACL 决定摘要、适配器版本、供应商与模型响应标识、所有显式参数、seed(若支持)、请求时间、transform_id、输出哈希、后期步骤、人工选择理由、release_id、撤权/删除传播状态和文档核对日期。密钥、完整人脸输入和敏感提示不进入普通日志。
把请求对象做规范化 JSON 后计算 SHA-256,可判断“是否真的发送了相同任务”。即使请求哈希相同,云端结果仍可能因模型更新或非确定实现不同,所以复现记录的目标是解释差异,不是承诺字节完全一致。
分层排查
- 需求错误:约束矛盾、用途或比例不清;回到任务层。
- 策略拒绝:对象级授权/ACL、权利、安全或人物规则;记录拒绝类别,不应重试绕过。撤权/删除传播失败也应进入该类,而不是当作网络故障。
- 参数错误:适配器能力过期;刷新官方文档与能力探测。
- 瞬时故障:超时、429、5xx;有上限地退避重试,并检查是否已创建任务。
- 输出损坏:MIME、长度、哈希或解码失败;隔离文件并重新下载一次。
- 质量不合格:根据失败标签改提示、拆任务或转后期,不与网络重试混淆。
停止规则
例如:同一失败标签连续出现三次就暂停;达到最大尝试或预算即转人工;安全/权利/ACL 失败立即停止;撤权后暂停所有关联 transform_id 和 release_id 的处理;只有明确改变一个变量才开始新实验。停止规则能防止 Agent 陷入“再抽一次也许会好”的循环。
练习与自测
设计一张表记录六轮图像实验,包含唯一任务哈希、单变量变化、失败标签、候选数和人工决策。回答:请求超时后为何要先查询作业状态再重试?
最后完成 离线任务审计项目。
参考资料
- OpenAI Image generation guide(接口与输出选项随时间变化;核对于 2026-07-22)
- 运行监控