news 2026/9/7 3:57:28

DeerFlow AIGC 街拍实战:结构化 Prompt 工程如何复现“徕卡大师之眼“

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeerFlow AIGC 街拍实战:结构化 Prompt 工程如何复现“徕卡大师之眼“

DeerFlow AIGC 街拍实战:结构化 Prompt 工程如何复现"徕卡大师之眼"

【免费下载链接】deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take minutes to hours.项目地址: https://gitcode.com/GitHub_Trending/de/deer-flow

本文以 DeerFlow 演示线程中一篇真实的 Agent 交付物——《The Leica Master's Eye: Capturing the Decisive Moment in the Age of AI》为主体,完整还原"研究 Leica 摄影美学 → 编写结构化 JSON Prompt → 调用图像生成技能 → 产出生成照片与图文文章"的全链路流程。读完你将掌握:Leica 摄影风格的四个可量化特征、一套可直接复制的结构化 Prompt 字段模板,以及 DeerFlow 图像生成技能(image-generation skill)的 CLI 用法与底层 Provider 实现细节。

这篇文章并非人工撰写,而是 DeerFlow Agent 在演示会话(thread id 为7f9dc56c-e49c-4671-a3d2-c492ff4dce0c)中自主完成的研究 + 创作任务产物,原始 Markdown 保存在 leica-master-photography-article.md,配套的会话回放数据在 thread.json。下文在完整继承原文档内容的基础上,结合仓库源码补充了每个环节的实现证据与可复现步骤。

一、任务背景:一条会话指令如何变成一篇图文文章

在 thread.json 中可以看到用户的原始请求:

"Can you conduct a research on Leica master photos, then generate 2-3 truly authentic AIGC street photos that captures the spirit of a Leica master photographer? And finally, write an article which includes these photos"

从回放数据的消息序列看,Agent 的执行链非常清晰:

  1. 加载技能:先读取/mnt/skills/public/image-generation/SKILL.md(对应仓库中的 skills/public/image-generation/SKILL.md),理解结构化 Prompt 与生成脚本的调用约定;
  2. 联网研究:多轮 web 检索,覆盖 "Leica master photographers street photography style characteristics"、"Henri Cartier-Bresson decisive moment"、"'Leica look' film grain bokeh color rendering" 等关键词,归纳出 Leica 街拍的核心特征(手动对焦、安静快门、35/50mm 定焦、胶片颗粒、奶油般虚化、环境叙事等);
  3. 任务拆解:维护了四步 TODO——研究风格 → 编写结构化 Prompt → 生成图片 → 撰写文章,逐步推进状态;
  4. 产出 Prompt 文件:用write_file写入三个 JSON Prompt(leica-paris-decisive-moment.jsonleica-tokyo-night.jsonleica-nyc-candid.json);
  5. 执行生成:三次调用generate.py,均使用--aspect-ratio 3:2(35mm 胶片的经典比例);
  6. 撰写成文:将研究结论与三张生成图组织为 Markdown 文章,最后通过present_files交付 4 个产物(1 篇文章 + 3 张图片)。

这条线程被 DeerFlow 前端登记为静态演示线程之一:在 static-demo.ts 中,DEMO_THREAD_IDS包含该 thread id,且STATIC_DEMO_ARTIFACTS精确列出了它的 4 个交付物路径。前端通过resolveStaticDemoArtifact做路径白名单校验后,才允许从/demo/threads/{threadId}/...访问这些产物——这也解释了为什么原始文章里的图片链接是/demo/threads/7f9dc56c-.../user-data/outputs/...形式(见下一节的引用方式)。

二、Leica 美学:不只是器材,而是四个可拆解的特征

原文档的核心贡献,是把"Leica Look"这种玄学审美拆解成四条可被 Prompt 语言描述的工程特征。这也是整篇文章最值得继承的骨架:

1. 决定性瞬间(The Decisive Moment)

Henri Cartier-Bresson 将摄影定义为"在一秒钟内同时认识到事件意义与视觉形式的过程"。这一哲学强调完美时机——所有视觉元素在瞬间对齐,产生超越字面场景的意义。注意"决定性瞬间"不只是抓拍时机,而是多重元素(人物动作、路人位置、水面倒影、光线方向)的同步对齐。

2. 旁轴相机的隐蔽性(Rangefinder Discretion)

Leica 紧凑的旁轴设计让摄影师成为场景的一部分,而非 bulky 设备背后的观察者。安静的快门声与手动对焦鼓励审慎、有意识的构图——这一点在 AI 生成中翻译为not posed or stagedauthentic street photography, not staged之类的负向约束。

3. 镜头个性(Lens Character)

Leica 镜头以"奶油般虚化"(creamy bokeh)、自然色彩还原和三维"立体感"(pop)著称,且不同镜头个性分明:Summicron 的临床式锐利,Noctilux 全开时的梦幻质感。

4. 胶片质感(Film-Like Aesthetic)

即便是数码 Leica,摄影师也常模拟胶片特性:自然颗粒、细微色偏、一种避免"数码无菌完美"的有机质感。

三、三幅 AIGC 作品:风格特征的落地验证

三张图片的仓库路径均在frontend/public/demo/threads/7f9dc56c-e49c-4671-a3d2-c492ff4dce0c/user-data/outputs/下(原始文章中使用站点根路径/demo/threads/...引用,仓库内对应以下相对路径)。

图 1:巴黎——决定性瞬间

该图对应 leica-paris-decisive-moment.jpg。红衣女子跃过水洼,自行车手恰好同步经过,构图遵循三分法,主体位于网格线交点。模拟 Leica M11 + 35mm Summicron 于 f/2.8 拍摄,浅景深、自然胶片颗粒、温暖而克制的色板。"决定性瞬间"在此体现为多重元素对齐:女子的跃动、自行车手位置、水洼倒影、清晨侧光在湿润鹅卵石上拉长的阴影。

图 2:东京——夜景反射

该图对应 leica-tokyo-night.jpg。场景移至东京新宿,探索 Leica 传奇 Noctilux 镜头的大光圈氛围潜力:模拟 Leica M10-P + 50mm f/0.95 Noctilux 全开,霓虹招牌在湿漉路面反射成圆形光斑。西装男在发光的汉字招牌下等候,拉面店蒸汽升腾;构图以前景反射、中景人物、背景霓虹三层叠加出纵深;色彩以冷蓝、品红搭配暖黄便利店灯光——经典的东京夜景美学。

图 3:纽约——街头纪实名场面

该图对应 leica-nyc-candid.jpg。唐人街场景展示 Leica Q2 固定 28mm Summilux 的纪实力量:广角保留环境上下文,同时与主体保持亲密距离。鱼贩递鱼给顾客,游客在旁拍照——文化对比与真实市井同框。28mm 视角呈现多层结构(前景交易、中景游客、背景招牌),午后的斑驳树影与街头小吃的蒸汽增加大气纵深,色彩强调红色招牌与自然肤色。

四、技术解析:风格特征如何映射到 Prompt 参数

原文档把生成方法归纳为四组参数化维度,这正是"把审美知识编译成 Prompt"的关键。

相机与镜头规格(精确到型号与光圈)

场景机身镜头光圈
巴黎Leica M1135mm f/2 Summicronf/2.8
东京Leica M10-P50mm f/0.95 Noctiluxf/0.95
纽约Leica Q228mm f/1.7 Summilux(固定)f/2.8

胶片模拟(每幅图一款底片)

  • 巴黎:Kodak Portra 400(自然肤色、细腻颗粒)
  • 东京:Cinestill 800T(光晕 halation、电影感)
  • 纽约:Kodak Ektar 100(色彩鲜明、颗粒细)

构图原则

三分法定位、环境叙事、前景/中景/背景层次、斜线带来动势、负空间留白。

光线特征

自然方向光源、实用光源(霓虹、橱窗)、大气元素(雨、蒸汽、烟)、时段明确(黄金时刻、夜晚、午后)。

从 thread.json 中保存的实际 Prompt 文件内容看,这些维度被结构化进 JSON 的字段里:每个文件含titledescriptionpromptnegative_promptstylecompositionlightingcolor_palettetechnical(后者含camera/lens/aperture/shutter_speed/iso/aspect_ratio/film_simulation)。以巴黎那张为例,technical字段完整记录了aperture: f/2.8shutter_speed: 1/250siso: 400film_simulation: Kodak Portra 400 film grain,而negative_prompt写入了posed photographyHDR effectexcessive contrast等约束——这正是上文"旁轴隐蔽性"特征在负向提示词中的工程化表达。

五、源码纵深:image-generation 技能的实现细节

以上 Prompt 全部经由 DeerFlow 的 image-generation 技能执行,技能定义见 SKILL.md,执行脚本见 generate.py。

CLI 契约(与 SKILL.md 声明一致)

python /mnt/skills/public/image-generation/scripts/generate.py \ --prompt-file /mnt/user-data/workspace/leica-paris-decisive-moment.json \ --output-file /mnt/user-data/outputs/leica-paris-decisive-moment.jpg \ --aspect-ratio 3:2

参数说明(源码argparse定义见 generate.py):

  • --prompt-file(必填):JSON Prompt 文件绝对路径,文件内容整段作为文本 Prompt 传给模型;
  • --reference-images(可选,空格分隔):参考图路径,用于风格/构图引导;
  • --output-file(必填):输出图片路径,脚本会自动创建父目录(_ensure_output_dir);
  • --aspect-ratio(可选,默认16:9):本演示线程统一使用3:2以贴近 35mm 胶片比例。

Provider 自动选择逻辑

从 generate.py 的_resolve_provider实现看,脚本按三级优先级选择后端:

  1. 环境变量IMAGE_GENERATION_PROVIDER=gemini|minimax显式指定时优先生效;
  2. 否则若已有GEMINI_API_KEY,走 Gemini(默认路径,调用gemini-3-pro-image-preview:generateContent,参考图以inlineDatabase64 形式随 contents 提交,宽高比经generationConfig.imageConfig.aspectRatio传入);
  3. 否则回退到 MiniMax(MINIMAX_API_KEY),调用/v1/image_generation,模型image-01(可用MINIMAX_IMAGE_MODEL覆盖),宿主机可用MINIMAX_API_HOST覆盖。

两条路径对同一份 JSON Prompt 的处理不同,值得注意:

  • Gemini 路径接收完整结构化 JSON 文本;参考图会先经 Pillowverify()校验,损坏的参考图被跳过并打印告警;
  • MiniMax 路径只消费 JSON 中的prompt字段(无该字段则回退为原文),开启prompt_optimizer由服务端扩展提示词,参考图以subject_referencetype: character)提交;由于image-01的 1500 字符上限(见 generate.py 的MINIMAX_PROMPT_MAX_CHARS),超长时脚本直接返回错误而不请求 API,并建议"缩短 prompt、用参考图找回细节"。

技能侧的最佳实践

SKILL.md 还给出两条与本案例强相关的工程约定:

  • 先用image_search找参考图再生成:人物肖像、具体物件、建筑环境、服装时尚四类场景推荐先检索下载参考图,再以--reference-images传入,"用具体视觉引导代替纯文本描述"可显著提升质量;
  • Prompt 一律用英文、用 JSON 保证结构化可解析,角色类场景需同时提供characters明细对象与整合后的prompt字段。

此外,该技能支持模板扩展机制(如 templates/doraemon.md),只有当请求匹配模板时才读取——仓库中另一个演示线程(21cfea46)产出的哆啦 A 梦漫画即走了该模板,可见 Leica 案例是"无模板通用路径"的产物。

六、可复现路径:在 DeerFlow 中重走这条链路

若要在 DeerFlow 中复现"研究 + 生成 + 成文"的完整流程,前提是具备沙箱中的技能挂载与对应 Provider 凭据(GEMINI_API_KEYMINIMAX_API_KEY)。步骤与演示线程完全一致:

  1. 在会话中提出与 thread.json 相同结构的请求(研究某摄影风格 → 生成 2–3 张图 → 写图文文章);
  2. Agent 会先读取 image-generation 技能,再执行联网检索,归纳风格特征为style/composition/lighting/color_palette/negative_prompt字段;
  3. 每个场景落盘一个 JSON Prompt 到/mnt/user-data/workspace/technical字段写死相机、镜头、光圈、快门、ISO、胶片模拟与3:2比例;
  4. 逐张调用generate.py输出到/mnt/user-data/outputs/
  5. 最后汇总为 Markdown 文章并present_files交付。

前端侧可直接通过静态演示线程回放该次会话的全部消息与工具调用;产物访问受 static-demo.ts 的白名单约束,仅STATIC_DEMO_ARTIFACTS中登记的 4 个文件可被解析为/demo/threads/7f9dc56c-.../...路径。

七、边界讨论:AI 做对了什么,什么仍属于人类

原文档结尾给出了清晰的边界划分,本文完整保留这一判断:

AI 做得对的:技术性还原(虚化、景深、颗粒)、构图原则、光线模拟、环境叙事。

仍属于人类的:意图与概念发展、与拍摄对象的情感连接、街头摄影的伦理考量、"在场"的物理体验。

这一划分实际上点出了结构化 Prompt 工程的本质:AI 学习的是审美原则(principles behind the aesthetics),而非表面特征的复制——镜头型号、光圈值、胶片型号都是把"原则"锚定到可参数化坐标的手段。正如原文档结语:Leica 大师摄影从来不只是器材,而是视野、时机与人的连接;AI 生成影像提供了一种新的探索方式,"决定性瞬间"既存在于物理世界,也存在于数字想象之中。

(原文档注:所有图片均基于 Leica 摄影研究的结构化 Prompt 工程生成。)

【免费下载链接】deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take minutes to hours.项目地址: https://gitcode.com/GitHub_Trending/de/deer-flow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 3:56:56

ArcGIS 10.8基础实验100例:从坐标系到字段计算的实战指南

我第一次认真翻“ArcGIS 10.8 地理信息系统基础实验操作100例”这个系列时,心里是带着怀疑的。原因很简单:ArcGIS 10.8 并不是新版本,网上讲这个版本的教程一抓一大把,很多还是十几年前的课程资料。你让我一个已经不只一次被 ArcG…

作者头像 李华
网站建设 2026/9/7 3:56:31

谁说高价才酷?中端智能电动摩托车的长续航与智能体验

当你把“酷”等同于“贵”的时候,可能已经错过了智能电动摩托车最值得购买的区间。这不是一句营销口号,而是一个正在发生的行业变化。过去几年,两轮车智能化往往跟着价格走:高端旗舰先用上大屏仪表、无钥匙解锁、牵引力控制、远程…

作者头像 李华
网站建设 2026/9/7 3:56:13

Unity动画重定向实战:跨角色舞蹈动作移植与IRIS渲染输出

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 3:55:46

现在专业的AI论文平台有哪些品牌?选对工具少走弯路

每到期末、毕业答辩、课题申报阶段,很多学生都会深陷论文难题:选题毫无头绪、大纲搭建逻辑混乱、正文撰写耗时长、参考文献格式出错、查重重复率偏高、AIGC检测告警、本校论文排版标准复杂。依靠纯人工从零开始撰写、一遍遍修改格式和降重,常…

作者头像 李华
网站建设 2026/9/7 3:53:50

动力电池CCS设计全流程解析:母排、FPC与采样连接的关键技术

在动力电池模组设计中,CCS(Cell Contact System,电芯连接系统)承担的不只是导电。它是电芯与BMS之间的桥梁,既要把几十安培甚至几百安培的电流在电芯极柱之间可靠传递,又要把每一串电芯的电压和温度信号准确…

作者头像 李华