一个图像 Skill 如何把审美写成约束系统
拆解 photo-abstract-editorial:它怎样用分层说明、内容溯源、适应性参数和输出契约,把模糊审美变成可重复工作流。
“做得克制、有编辑感”是一种审美判断,却不是一条足够稳定的执行指令。模型可以把它理解成滤镜、拼贴、海报模板,也可以为了“更有设计感”擅自补画照片。photo-abstract-editorial 的价值,不只在于一组视觉效果,而在于它把这种模糊目标改写成了来源可追溯、过程有顺序、结果有边界的约束系统。
本文分析的是仓库提交 2cc2eb1(2026-08-14)的文件结构与方法,不复制仓库中的示例照片,也不把原提示词重新发布。原项目、完整说明和授权边界分别见 GitHub 仓库、SKILL.md 与 LICENSE。
下文只讨论 Skill 的信息架构、约束策略与可迁移经验。仓库示例图未被复制到本站;项目声明的个人、教育、研究及非商业边界也应在使用前单独核对。
它不是一段长提示词,而是四层系统
仓库很小,但角色分得清楚。最外层负责“什么时候调用”,中间层负责“按什么顺序做”,深层参考文件承载密集的领域规则,示例则只帮助理解输入与预期气质。
这种分层解决了两个相反的问题。若把 200 多行规则全部塞进入口,触发成本高,核心目标反而被细节淹没;若入口只有一句“做成艺术海报”,模型又缺少足够的边界。这里的 SKILL.md 像控制器,完整中英文提示词像领域规格,agents/openai.yaml 则只是产品界面的薄适配层。
第一原则:先确定唯一事实来源
这套 Skill 最强的约束,是把上传照片定义为唯一内容来源。原照片区域只允许等比缩放与必要的轻微裁切,不能重画、延展、替换、修图或套滤镜;下方抽象面板里的每个重要形状、颜色和位置关系,也必须能回溯到原照片中可观察的事实。
因此,它不是“把照片变抽象”的风格迁移,而是一个信息瓶颈:先内部识别三到六个决定性空间事实,例如主体之间的比例、方向、重叠、节奏、光与负空间;再只用最少的色块、短条、细线或有机形状重建这些关系。地标最多保留少数身份线索,人物被压缩为不规则的连续竖向标记,而不是重新画出五官和服装。
这条来源约束同时提升了原创性与一致性。模型不再从“海报风格”的宽泛先验里任意取材,而要为每个关键标记回答:它在原图中对应什么?
第二原则:把不变量、可调参数与禁区分开
好的 Skill 不会把所有规定写成同一种强度。这个项目实际上建立了三类控制量:
照片是唯一来源;原图内容保持真实;抽象元素可追溯;成品是单张竖向编辑作品。
照片/面板比例、裁切幅度、母题尺度、留白、饱和度、标题位置与抽象程度。
滤镜、重画、贴纸化、机械五五分、渐变、纸纹、阴影、颗粒、装饰性对称和无来源颜色。
“可调”不是没有边界。完整参考会根据横图、竖图和近方形照片提供不同的区域比例范围,并允许围绕建议值小幅变化。这样既不会把所有照片硬塞进一个模板,也不会让版面每次都从零开始漂移。
同样,形式自由也经过限流:一个主要标记家族,最多两个辅助家族;颜色只从照片提取,并承担底色、主体色、平衡色或强调色等角色;标题只能是一个与可见事实相关的两到五词英文短语。有限的自由度,比“极简一点”更容易产生稳定的克制感。
第三原则:先规定过程,再规定输出沉默
SKILL.md 的七步顺序可以压缩成四个阶段:
最后一步很关键:分析在内部发生,交付却保持沉默。最终只返回完成的构图,不附解释、备选标题、日期、Logo、水印或设计标注。它把“工作过程需要丰富上下文”和“用户想要干净成品”区分开了。
这也是可迁移到其他 Skill 的设计方法:内部协议可以详尽,外部协议必须精确。一个文档生成 Skill 可以在内部检查版式和事实,但交付只给最终文件;一个代码修复 Skill 可以执行多轮测试,但最终只报告变更、证据和剩余边界。
为什么大量负面约束不是啰嗦
图像生成模型容易把某些词绑定到惯用视觉套路:editorial 可能引出杂志边框,archival 可能带来纸纹和日期戳,artistic 可能诱发滤镜、颗粒与戏剧性阴影。于是参考文件反复排除纹理、渐变、阴影、胶带、拼贴、扫描痕迹、任意图标等元素。
这些规则不是为了描述理想作品,而是在封堵高概率失败路径。它采用的是“正向流程 + 负面护栏”双轨设计:正向步骤告诉模型下一步做什么,禁区告诉模型不要用哪些熟悉但错误的捷径。
重复一个核心禁区有时是必要的。在入口、工作流、Guardrails 和完整参考里分别强调“不得改写原照片”,是在不同决策阶段设置同一道门,而不是简单复制句子。
这套设计仍有哪些不可验证之处
它的规则清楚,但没有自动验收脚本。生成模型具有随机性,文字约束也无法像程序断言那样严格证明“照片像素完全未变”或“每个色块都来自原图”。标题是否诗意、留白是否舒服,仍需要人的审美判断。
如果把它发展成更工程化的版本,我会补三类证据:
- 输出前做照片区域的像素或感知哈希对照,区分允许的缩放/裁切与内容改写;
- 从输出中抽取主色,和源照片色域做距离检查,发现凭空出现的高饱和颜色;
- 保存一份不展示给最终用户的生成记录:选了哪三到六个事实、每个抽象标记对应什么、哪些可调参数被采用。
这些检查仍不能评判“好看”,但能把最重要的来源承诺从自然语言提升为证据。
可迁移的 Skill 设计清单
从这个小型仓库,可以抽出一套适用于视觉、文档乃至代码任务的写法:
- 用一句清楚的
description定义触发边界,而不是把它写成广告; - 把最短可执行流程留在
SKILL.md,把低频细节放进按需读取的参考; - 明确唯一事实来源,要求每个关键输出都能追溯;
- 分开写不变量、适应性参数与禁止状态;
- 给自由度设预算,例如事实数量、形状家族、颜色角色和标题长度;
- 让步骤顺序消除歧义:先观察,再保真,再抽象,最后交付;
- 明确最终输出契约,避免把内部推理、候选项和装饰元数据泄漏进成品;
- 对高概率模型捷径设置重复护栏,并在可能时补上机器可验证证据;
- 将示例标记为“理解预期”而不是“复制内容”,降低风格和素材污染;
- 把许可与署名放在仓库根部,让使用者在执行前就看见边界。
好的 Skill 不是把作者的审美冻结成模板,而是把不能失去的原则与可以随输入呼吸的部分分开。前者让作品保持身份,后者让每次结果仍然属于那张照片,而不是属于一套预制版式。