docs/workspace/image-reference-prompt-optimization/README.md
这份文档用于沉淀本轮图像相关产品与提示词优化的收敛过程,重点回答两个问题:
本文不追求记录所有中间讨论细节,而是保留真正影响当前方案的关键判断、提示词演化逻辑、测试结论与后续工作重心。
最开始的讨论焦点是:当前图像优化模板太泛。
通用优化 太温和,优化后往往只是在补细节,很难让用户明显感知“变好了”。中文美学、摄影、创意 等模板虽然更有风格,但更像主题类或偏好类模板,不是大多数用户的高频需求。于是我们最初尝试过另一条路:少模板策略化,例如把文生图收敛成 自动起稿 / 忠实优化 / 风格强化,甚至在内部再细分出 传播型 / 叙事型 / 风格型 起稿卡。
随着讨论深入,我们逐步确认了一个现实问题:
这让我们意识到,图像优化器如果继续主打“从一句模糊自然语言里自动推导出更好的图像提示词”,价值并不稳。
后面的讨论慢慢聚焦出一个更稳定的方向:
换句话说,真正有价值的不是更泛化的提示词优化,而是更“参考驱动”的改造能力。
这也是为什么后续我们把注意力从“文生图模板体系重构”逐步转移到了“文生图里的参考图入口”。
最终决定保持现有 文生图 / 图生图 一级入口和模板下拉不动,只在文生图里增加前置的 参考图 能力。
这样做的原因是:
参考图 最初有过几种交互设想:
最终收敛成弹窗式确认流程,核心原因是:
于是弹窗保留了四个核心区域:
同时删掉了会增加复杂度但用户价值不高的动作,如:
同步变量重新提取变量最终保留的原则是:
早期文案使用过更偏实现层的表达,如:
迁移到当前提示词仅复刻参考图后来为了更符合用户认知,收敛成更直观的两种表达:
风格迁移复刻图片它们分别对应:
风格迁移:当前提示词决定画什么,参考图决定怎么画;复刻图片:忽略当前原始提示词,尽量反推原图对应的结构化提示词。这部分是本轮最核心的收敛。
一开始,图像相关提示词容易掉进一个常见误区:
但对参考图复刻而言,这种优化方向是错的。
因为复刻任务真正要的是:
因此我们把复刻模板的第一原则改成:
唯一目标:把这张参考图尽可能准确地翻译成一份可直接用于生图的结构化 JSON 提示词。
这里的关键变化是:
真实测试里很快暴露出另一个问题:
8k / HDR / C4D / Octane / masterpiece / Pixar / Disney 等词;这会直接破坏复刻质量,因为输出不再是“原图事实”,而是在套生图社区常见模板。
于是我们明确加入了强禁区:
例如允许:
3D卡通渲染日系角色设定插画双重曝光合成肖像不允许:
PixarDisneyC4DOctane这一步的作用不是让提示词更“规范”,而是让模型少把自己的视觉语料习惯带进结果。
仅仅禁止幻觉还不够。
如果模型把图像总结成:
即使没有用到禁词,仍然不够可复刻。
所以我们继续把提示词约束推向更“事实化”的方向:
例如不是泛泛说“一个少女插画”,而是:
这样做的原因是:
一旦画面语法判断对了,模型更容易保住:
后面一个很重要的分歧是:复刻结果里到底要不要变量,以及变量应该是什么。
我们最初发现两个问题:
{};因此我们重新定义了变量的产品语义:
变量不是“图里出现过的东西”。
变量应该是:
用户下次最可能想改、而且改完以后这张图仍然算同一模板的控制位。
基于这个定义,我们得到了几条重要规则:
优先级则收敛成:
并且通常只给 1-2 个变量,只有角色设定图或模板感极强的版式图才允许 3 个。
进一步测试后我们发现,不是所有图都适合变量化。
因此又加入了一层类型感知规则:
默认考虑变量化的图:
默认不变量化的图:
这样做的目的是:
defaults: {} 成为一种“合理结果”,而不是模型失败;在此基础上,我们还专门验证了一个问题:
是否应把参考图复刻 prompt 改成 LangGPT 那类更完整的结构,例如:
RoleProfileGoalRulesWorkflowInitialization结论是:不值得直接采用完整 LangGPT 结构。
原因不是它“理论上不好”,而是实测没有稳定收益。
我们做了两轮真实 A/B:
LangGPT-lite 候选,对比当前正式模板;结果都没有形成稳定优势:
3 胜 3 负;3 胜 3 负。这说明:
因此最终结论是:
换句话说,我们吸收的是它的分节思想,而不是直接套完整模板。
在实现层,我们也经历过一轮从“更干净的分层架构”回到“更短链路”的过程。
一度我们把参考图链路拆成:
ReferenceSpecPromptDraftVariableizedPrompt这套架构语义上更清晰,但也带来了问题:
后面我们重新聚焦用户目标后,链路也跟着简化了:
复刻图片:尽量一次视觉调用直接输出 prompt + defaults风格迁移:当前提示词与参考图一起参与,直接输出迁移结果和变量这样做的核心考虑是:
因此当前的实现方向是:
本轮不是只靠静态推理,我们做了真实多模态测试。
主要使用过:
qwen3.5-397b-a17b由于 Gemini 出现额度和速率限制,后续大量验证主要使用了 qwen3.5-397b-a17b。
测试图覆盖了多种类型:
这些测试帮助我们确认了几件事:
截至目前,可以认为我们已经收敛出以下稳定判断:
如果继续沿当前方向推进,后续更值得投入的不是“再发明更多泛化模板”,而是继续打磨以下几点:
复刻图片 / 风格迁移 / 定向改造 构建更清晰的能力边界。这意味着我们真正要优化的,已经不是“怎么把图像提示词写得更像提示词”,而是:
怎么让系统更像一个可靠的“参考图翻译器”和“参考驱动改造器”。