一张鹈鹕骑自行车的渲染图,最近在技术圈小范围传开。作者是长期写技术笔记的 Simon Willison,他给 ChatGPT Codex 下了三句提示词——渲染场景、加背景和flair、再变得更好——就让本地安装的 Blender 5.1.2 自己生成 Python 脚本、跑完渲染,输出了一张有沙滩小屋、彩旗和气球的精致图片。
如果只看这三句提示词和最终效果图,很容易得出一个结论:前沿模型已经能熟练操作专业3D软件了。这个结论没错,但只说对了一半。完整的操作记录显示,Codex 第一次尝试在沙箱环境里启动 Blender 渲染时直接崩溃,退出码139,最后是切换到未沙箱化的已批准执行路径才渲染成功。这段挫折在原文里完全没提。
三句话背后,其实是四轮迭代
真实过程比“三句提示词”复杂一层。渲染参数在三个版本里逐步升级:初版分辨率1440×1440、48采样;加flair版本升到1800×1400、64采样;最终成品到了2000×1600、96采样,全程启用 Cycles 去噪和 AgX 色彩变换。自行车模型的细节也在变精细——每个轮子28根辐条、双轮胎轮圈、链条和曲柄踏板都对齐了鹈鹕的腿和翅膀。
三轮结束后,Willison 又加了第四句提示词:把整套操作方法写成一份可复用的“技能”文件,存成了本地 $blender-local。这份文件记录了实用经验——预览用32-48采样、成品用64-96采样、渲染前记得保存 .blend、人工检查手脚接触点有无穿模。这才是真正值得关注的部分:agent不只是完成了一次任务,还在总结经验、给自己写操作手册。
沙箱崩溃说明了什么
退出码139通常意味着程序被信号强制终止,常见于内存越界或权限冲突。Codex 第一次在沙箱里启动 Blender 时撞上了这个问题,日志里还留下了 USD Arch_ValidateAssumptions 的警告,但没人确认这是不是崩溃的真正原因。最后的解决方式是绕开沙箱限制,用已批准的非沙箱执行路径重试。
这不是小事。“agent能自主操作桌面应用”这个说法,前提往往是有人(或有权限配置)帮它把安全边界先松开一道口子。
三句话是给读者看的,退出码139是留给工程师的。
- 风险.agent遇到崩溃后选择绕开沙箱而不是排查根因,这种“先跑通再说”的路径依赖,一旦复制到更敏感的系统操作场景,安全边界会变得模糊。
技能文件会过期,标准做法也没抄
那份自动生成的技能文件里还留了一条提醒:Blender 5.1.2 中 Material.use_nodes 等 API 即将随 6.0 版本弃用。也就是说,agent这次总结出来的经验,很可能撑不过下一次大版本升级——它记住的是“怎么用现在这个Blender”,不是“怎么应对Blender的变化”。
再往生产环境的角度看一层差距。Blender 5.2 LTS官方文档给出的推荐做法是:先渲染成PNG图片序列,再用外部ffmpeg命令单独编码成视频,理由是避免渲染和编码任一环节出错导致全部重来。Willison的实验里提到用ffmpeg合成视频,但没有展开这层容错设计。个人玩票式的实验图省事,跳过了工业界为了不重跑而设的安全垫。
谁该盯着这件事
对 3D设计师和特效从业者来说,这次实验的意义不在“工作会不会被取代”,而在于agent已经能读懂Blender的Python API和文档语料,这套能力大概率会先渗透进批处理渲染、场景占位这类重复劳动,而不是从零设计。对AI agent厂商来说,这是一个比写代码更硬核的能力标杆——真正难的不是调用API,是agent能不能在崩溃后自己诊断、绕过限制、还把经验沉淀成可复用资产而不失效。
这种模式能不能推广到CAD、AE、Photoshop这些专业软件,取决于一个此前不太被提起的前提:模型对这个软件的公开文档和社区脚本积累得够不够多。Blender开源二十年,文档和论坛脚本浩如烟海,这才是agent能“看懂”它的底子,不是所有专业软件都有这个条件。
