上一篇写《女程序媛多肉》的 AI 小绿书,反馈还不错。 今天我想继续针对领域专业知识,具体展开讲讲。 我在做《女程序媛多肉》这个微信公众号账号时,真的遇到过一批很具体的问题:人物肉眼看着像了,但朱雀检测标红;衣服看起来很精致,但像贴在身体表面;人物图很漂亮,但没有影子;背景很干净,但一眼像棚拍;标题很顺,但没有任何二跳信号。

一开始我也会本能地想:是不是 prompt 不够好? 是,也不是。 说是,是因为最终出图的就是提示词,它确实不够好;说不是,是因为提示词来源于创作者本人,创作者对图像、摄影的理解水平就到这了,已经无法更好了。 幸运的是,现在我们可以让我们的 AI 代替我们去学习,让它学会就好了。 但这并不等于我们人类就可以完全不懂,记住 AI 也会出错,AI 给你的结果好不好需要你来判断,你永远是最终决策者,让 AI 学习之后,你自己也一定要跟 AI 协作,自己补充这些知识。 当然,最好是自己先学习,再去让 AI 学习,给它确定性的材料,你才能更好的把关。

这一篇就我们讲讲,《女程序媛多肉》这个微信公众号账号选了哪些学习方向,具体学了哪些资料,又是怎么落到生产系统里的。

image.png

不是直接学生图技巧

做 AI 生图,最容易搜到的是两类内容。

  1. prompt 模板。比如真实感关键词、摄影关键词、镜头关键词、低 AI 味关键词。
  2. 工具技巧。比如 ComfyUI、Detail-Daemon、Flux 重采样、局部重绘、放大修复、降噪参数。

这些东西有没有用? 有用。 但如果一开始只学这些,很容易变成“调参式努力”。图不真实,就加 realistic;背景太糊,就加 detail;人物不像,就加 same face;朱雀红了,就想办法加噪、压缩、重采样。

问题是,这些动作并没有回答最根本的问题:

这张照片到底为什么像真实照片? 如果这个问题没拆清楚,工具越多,只会让你更快地抽卡。 我们选下来的资料,基本围绕几个硬问题:

  • 真实相机是怎么拍到这张照片的?
  • 光源和阴影是否能闭合?
  • 衣服为什么有体积,而不是贴图?
  • 头发、皮肤、表情为什么像真实人?
  • 构图第一眼应该看哪里?
  • 微信发布链路会怎么影响图片?
  • 平台推荐流为什么需要二跳信号?

这些问题能直接进入 prompt、generation packet、门禁和复盘。 这才是我们要的资料。

学相机知识

第一个学习方向是摄影和相机链路。我们为什么先学这个?因为项目里最常见的一类失败图,是看起来像“高清 AI 渲染图”,不像手机随手拍。 这类图的特点通常是,脸很清楚,衣服很清楚,背景也很清楚。没有焦点差异,没有压缩损失,没有白平衡偏差,没有手机广角带来的轻微透视关系。整张图像一个无损大图。 怎么样,你用 AI 生成的图是不是也这样,这就是所谓的一眼假。 《女程序媛多肉》需要的是微信生态里的生活照片,出租屋门口、公司电梯、园区路上、工位附近,朋友或自己随手拍到的一瞬间。 所以我们去学了数字摄影、手机成像、文件链路和微信图片发布约束。 这些资料转成了一个很具体的卡片:相机事件卡。 生成前必须回答:

  • 谁在拍?
  • 手机高度是多少?
  • 人和相机距离大概多远?
  • 是胸口高度、腰部高度,还是桌面定时拍?
  • 焦点落在脸、衣服、手、鞋,还是背景?
  • 哪些地方应该锐,哪些地方允许糊?
  • 暗部噪声和压缩损失应该出现在哪里?
  • 微信发布链路会不会削弱细发丝、背景细线和暗部细节?

这一步改掉了我们之前一个很大的坏习惯: 不再 prompt 中只写“真实手机照”,因为“真实手机照”太空。

现在我们会写摄影事件,比如: 朋友在出租屋门口胸口高度拍摄,手机距离多肉约 1.5-2 米,轻微广角透视。焦点落在白 T、卡其裙和袜鞋这一组穿搭上,脸因为低头和发丝遮挡不作为最锐利区域。背景衣架和门口鞋子低对比、略糊,暗部角落有轻微压缩损失。

这就是学习相机资料后的实际应用,它更能让模型知道这张图是怎么被拍到的。

学光影知识

第二个学习方向是光影。我们遇到过很多图,人物和衣服都还行,但没有任何可靠影子。鞋像浮在地面上,裙摆没有遮挡暗部,包带压在衣服上却没有投影,头发贴脸但脸侧没有暗部。 真实的照片一定不是这样的,这样的图仍然会被用户认为一眼假。

这时候如果只是 prompt 加一句“有真实影子”,没什么用。 因为问题不是少了影子,而是整张图没有光源几何,AI 帮你加了影子,但影子是错的。

所以我们去学了 PBRT 里的 area lights,学大面积光源为什么会产生更软的阴影和半影;学 National Gallery、Met 这些资料里对明暗、体积和投影的解释;也看了 Kee、O'Brien、Farid 关于用 shading 和 shadows 暴露照片篡改的研究。 最后这些资料变成了光源-阴影几何施工图。 生成前必须回答:

  • 主光是门口弱日光、窗光、顶灯,还是混合光?
  • 光源是大面积软光,还是小面积硬光?
  • 主光方向大概从哪里到哪里?
  • 鞋底、裙摆、袜口、包带、头发贴脸处的暗部能不能共同支持同一个光源?
  • 哪些阴影解释不通时要直接熔断?

这里有一个关键转变,以前我们把影子当装饰,在我们把影子当空间证据。

鞋底接触阴影证明人站在地面上。裙摆遮腿暗部证明裙子有厚度。口袋盖下方短投影证明口袋不是印上去的。包带压住衣服的暗部证明包和身体在同一个空间里。

这套知识接着进入了门禁。 生成后不再问“有没有影子”,而是问:这些暗部能不能反推同一个光源? 如果不能,直接失败。

学绘画和材质知识

第三个学习方向是绘画里的明暗塑形、服装材质和布料受力。这也是我们做穿搭图时遇到的高频问题。AI 很容易把衣服画成一层好看的纹理。白 T 没有真实褶皱,卡其裙口袋像印上去的,袜口没有压痕,鞋底没有接触暗部,黑鞋像塑料玩具。

这样的照片被观众看到,仍然是一眼假。 所以我们去学了 cloth/wrinkles、contact shadows、Met 关于 tone、chiaroscuro 和投影如何建立体积的资料。目标不是变成画家,而是把“衣服是真的”拆成可观察项。

我们接着做了一个服装材质和受力施工图。

生成前必须写:

  • 上衣的褶皱来自肩袖、胸口、腰侧还是衣摆?
  • 下衣的腰头、口袋盖、侧缝、裙摆有没有厚度和短投影?
  • 袜口有没有卷边、堆叠、压小腿的暗部?
  • 鞋底有没有压地面?
  • 鞋面有没有符合材质的窄高光、磨损或灰尘?
  • 哪些材质微缺陷可以保留,哪些不能用来掩盖结构错误?

这个施工图解决的是一个非常实际的问题,不要让 Agent 用“wrinkled cotton”“scuffed shoe”这种孤立词抽图,因为孤立词只会增加纹理,不一定增加结构。

真实衣服不是纹理。布料会被身体、动作、重力和接触点约束,这就是为什么我们后来要求 Agent 解释每条皱褶、每个口袋盖、每处袜鞋接触为什么存在,解释不通,就不要生成。

image.png

学头发、皮肤和表情

第四个学习方向是人物自然度,我们见过太多的 AI 图像脸很完美,但太完美本身就是一种假。 这个方向是为了避免 AI 把脸做得太漂亮。 很多 AI 图最大的问题,是人物真实度层级错配。背景是出租屋,衣服有压缩损失,墙面有局部过曝,但脸像精修头像,头发像广告假发,表情像标准营业微笑。 这张图会很怪。

所以我们去看了几个方向的资料:

  • Kee 和 Farid 关于过度修图如何破坏照片可信度。
  • CG faces 和 uncanny realism 相关资料,理解脸、头发、身体和环境真实度错配为什么会不舒服。
  • Marschner 的 human hair scattering,理解真实头发不是一整块假发壳,而是发束、亮暗面、遮挡和边缘损失。
  • Debevec、人脸反射和 skin subsurface 相关资料,理解皮肤不是均匀美白纹理,而是几何、次表面散射、局部油脂高光、阴影和白平衡共同作用。
  • FACS 和表情动作单元,理解“自然表情”不能只写自然微笑,而要拆成视线、头部姿态、嘴角状态和动作阶段。

这些资料转成了头发-皮肤-表情自然度施工图。

生成前必须回答:

  • 脸、头发、衣服、背景是否处在同一手机抓拍真实度层级?
  • 头发有没有发束分组、亮暗面、贴脸遮挡暗部和边缘损失?
  • 皮肤有没有鼻侧、眼下、下巴、发际线暗部和局部色差?
  • 表情是否服务当前动作?
  • 如果她正在低头找门卡,为什么还要直视镜头营业笑?

这一步对我们影响很大。 以前看到一张图,会本能选更漂亮的脸。现在会先问:这个脸是不是太像头像精修?它和出租屋环境是不是同一个真实度层级? 这就是专业知识带来的判断变化。

image.png

学真实照片反向拆解

只学理论还不够。我们后来专门加了一个真实照片反向拆解协议。 原因也很简单:很多人说“像实拍”,但脑子里并没有真实照片的结构。 所以我们要求展示照生成前,尽量先拆一张真实手机照片或真实朋友圈照片。

拆什么? 不是抄真人脸,也不是抄具体房间,更不能把隐私场景变成长期资产。 我们只抽象这些:

  • 文件链路:原图、微信转存、截图还是压缩图。
  • 相机高度:胸口、腰部、桌面、朋友手持还是自拍。
  • 透视特征:普通手机广角、长焦压缩还是近距离变形。
  • 焦点位置:脸、衣服、手、鞋还是背景。
  • 清晰度分布:哪些锐,哪些糊。
  • 主光、反光、暗部、过曝、白平衡。
  • 构图重心:第一眼、第二眼、背景层级。
  • 人物状态:表情、眼神、动作、是不是摆拍。
  • 衣服材质:褶皱、口袋、接触阴影、反光。
  • 一眼真信号和一眼假风险。

拆完后,再抽象成生成指令。 比如:朋友在出租屋门口胸口高度拍摄,距离 1.5-2 米,焦点在白 T、卡其裙和袜鞋,脸略低头不是最锐,门口侧光 + 室内顶灯混合,人物略偏右,左侧保留门口鞋和衣架,边缘有裁切。

这一步的价值是把“真实感”从感觉变成摄影事件。 只要摄影事件成立,衣服、场景、动作换掉,图也更接近真实拍摄。

怎么落到系统里

这些资料如果只停留在笔记里,就没有意义。

我们把它们落到了四个层级。

第一层,Source Dossier。

它记录我们学了什么、依据来自哪里、为什么这条资料能约束生图。这里有一个准入标准:不能转成生成前问题或失败判据的资料,先不进入生产规则。

第二层,Rule Cards。

把资料转成生成前必须填写的卡片,比如相机事件卡、曝光和光源卡、明暗塑形卡、构图和视觉组织卡、人物真实度卡、生活事件卡、朱雀前肉眼反证卡。

第三层,Practice Drills。

这一步很关键。我们要求 Agent 在真正生成前先做训练动作:相机事件草图、三值明暗拆解、接触阴影枚举、构图显著性路径、服装受力图、头发/皮肤/表情状态、人体支撑图、一眼假预测。

目标不是让 Agent 画漂亮草图,而是证明它理解这张照片为什么像真实实拍。

第四层,Generation Packet 和 Gates。

最终所有判断都进入 generation-packet.md 和门禁。生成前先写清楚目标、摄影事件、光影施工图、服装受力、人物自然度、失败熔断。生成后再逐项检查,不能让生产 Agent 自己说自己通过。

这就是我们最终的应用方式。

不是“我学了摄影,所以我会写更漂亮的 prompt”。

而是“我把摄影、绘图、光影、材质、平台这些知识拆成了 Agent 必须执行和门禁必须检查的流程”。

这才是 Agent Native 工程化。

image.png

结语

我现在越来越觉得,AI 时代很多事情都会回到同一个问题:

你是不是真的懂这个领域?

不懂领域的人,会把 AI 当成按钮。

懂领域的人,会把 AI 当成执行器。

区别很大。

按钮的逻辑是:我按一下,它给我一个结果。

执行器的逻辑是:我知道这个任务应该怎么拆,我知道每一步怎么检查,我知道哪些地方会失败,我把这些判断交给 AI 去执行。

做 AI 图是这样。

写代码也是这样。

你不懂工程,AI 写出代码你也不知道哪里危险。你不懂架构,AI 生成一堆文件你也不知道边界是否合理。你不懂测试,AI 说通过你也不知道有没有证据。

所以我不太相信“AI 让外行躺赢”这个说法。

AI 会降低执行成本,但不会取消专业判断。

它甚至会让专业判断更值钱。

因为当所有人都能调用模型时,差距就不再是“谁会不会生成”,而是谁能判断生成结果能不能用,谁能把这种判断固化成流程。