
2026 年 9 月 5 日,知名开源技术研究者 Simon Willison 公布了一组实测数据:利用 macOS 桌面端 ChatGPT Codex 模式搭载的 GPT-6 Astra Medium 编码智能体,仅用 2 分 39 秒就完成了从一句自然语言提示词到调用本地已安装 Blender 渲染出 3D 场景的全过程 [1, 2]。表面看这只是一次用 AI 生成 3D 图片的趣味尝试,本质上它标志着编码智能体(Coding Agent,即具备自主编写脚本、调用终端工具并修复报错能力的 AI 助理)已经打通了从文本意图到工业级 3D 资产(.blend 工程文件)的生产闭环 [1, 3]。
创作者不再受限于文生图模型无法分层编辑、透视锁死的黑盒难题。AI 扮演的是一位住在终端里的 3D 技术美术,通过编写底层的 bpy(Blender 的 Python API 接口)自动化脚本,驱动本地渲染引擎直接输出光影精确的场景与工程源文件 [1, 3]。
为什么用智能体驱动本地 Blender:从像素黑盒到可编辑资产
传统的 Midjourney 或 Stable Diffusion 虽能快速生成惊艳的概念图,但产物始终是扁平的像素矩阵。一旦需要微调摄像机焦段、替换局部材质或导入三维动画管线,创作者往往需要推倒重来。
编码智能体直接驱动本地 Blender 的逻辑则完全不同。模型并不直接生成图像像素,而是根据文本描述构思三维空间结构,现场编写 bpy 脚本,在本地后台以无界面模式调用 Blender 完成几何体建模、着色器配置、物理灯光架设并执行渲染 [1, 3]。
这种工作流带来了三个质的飞跃:
- 产物具备完整可编辑性:智能体在渲染输出 PNG 预览图的同时,会同步保存一份标准的
.blend工程文件。创作者可以在 Blender 界面中直接接管模型,手动修改顶点、调整权重或微调贴图 [1, 3]。 - 扩展至连续动态序列:既然整个场景由 Python 脚本定义,智能体即可通过循环脚本输出多视角或关键帧序列,再调用本地
ffmpeg自动缝合成 3D 摄像机运动视频 [1]。 - 确定性的光影与物理交互:相比 2D 扩散模型的空间幻觉,Blender 自带的 Cycles 物理光线追踪引擎能够提供真实的阴影投射、全局光照与表面反射 [3, 5]。
在计费成本方面,Simon Willison 的整套多轮迭代实验完全覆盖在现有的 ChatGPT / Codex 订阅额度内 [1];若按照独立的 API 调用消耗测算,调用 gpt-6-astra 的估算推理成本约为 4.24 美元 [4],远低于专业 3D 外包成本。
零门槛跑通:5 组核心提示词与标准执行流
要启动这套工作流,创作者只需在电脑上安装好官方的 Blender 桌面客户端(blender.org 免费下载),然后打开支持本地终端执行权限的编码智能体(如 macOS 版 ChatGPT Codex 模式)[1, 2]。
+-------------------------------------------------------------+
| 用户输入自然语言提示词 |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| 编码智能体(如 GPT-6 Astra Codex) |
| 构思空间几何 -> 编写 work/scene.py (bpy 脚本) |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| 本地 Blender 无界面模式(--background)执行脚本 |
| 输出 PNG 预览 + 可编辑 .blend 工程文件 |
+-------------------------------------------------------------+
以下是 Simon Willison 实测验证过的 5 组核心提示词,可直接复制使用 [1, 2]:
- 最简启动:
Use the already install /Applications/Blender to render a scene of a pelican riding a bicycle(约 2 分 39 秒出图) - 显式指定执行方式(省去模型摸索时间):
Use Blender like this: /Applications/Blender.app/Contents/MacOS/Blender --background --python scene.py - 迭代优化:
OK add a background and a lot of flair(约 3 分 51 秒) - 艺术精修:
OK make it a whole lot better(约 5 分 59 秒) - 沉淀技能:
Create a quick skill that describes how to use the currently installed /Application/Blender based on what you learned
后续复用技能时,只需一句:Use your Blender Local skill to build this scene (attached image) [1, 5]。
三轮迭代实测:从灰底草图到海边日落大片
Simon Willison 的完整实验经历了三轮递进式迭代,每一轮都暴露并修复了不同的技术硬伤,最终产出一张海边日落场景的 3D 大片 [1, 4]。
| 阶段 | 核心问题 | 留下的硬伤 |
|---|---|---|
| 阶段一:极简验证(2m39s) | 验证终端驱动路径与基础几何组装能力 [1] | 角色肢体悬空未接触脚踏板,仅有纯色灰底,缺少环境漫反射 [1, 4] |
| 阶段二:场景扩充(3m51s) | 引入沙滩、海洋背景与复杂光影 [1] | 新旧地平面重叠引发共面黑色条纹,沙滩边缘出现硬切穿模 [1, 5] |
| 阶段三:艺术精修(5m59s) | 清理废弃几何体,建立三点布光与材质质感 [1] | 细分曲面依然偏向低多边形风格,羽毛等微观细节依赖程序化纹理模拟 [1, 4] |
技能沉淀:把临时经验变成永久本地工具
如果每次对话都需要重新向模型解释 Blender 的命令行路径与参数规范,会造成大量的 token 消耗与时间浪费。Codex 生态内置的技能沉淀机制(skill-creator)解决了这一断层 [1, 5]。
<!-- ~/.codex/skills/blender-local/SKILL.md 核心结构片段 -->
---
name: blender-local
description: 驱动本地已安装的 Blender 进行后台建模与渲染
---
## 执行规范
1. 工作目录:统一在 ./work/ 下写入 scene.py 并保存 scene.blend
2. 执行命令:/Applications/Blender.app/Contents/MacOS/Blender --background --python work/scene.py
3. 渲染参数:CYCLES 引擎,预览 32-48 samples,精修 64-96 samples + denoising,AgX view transform,1600x1200
Codex 会自动把这次会话中学到的正确命令路径、渲染参数与踩坑经验整理成结构化的 SKILL.md,并安装到 ~/.codex/skills/ 目录。此后无论开启多少次新对话,模型都能直接调用这份本地技能,无需重新摸索 [1, 5]。
避坑清单:9 个实测踩过的坑
从 Simon Willison 沉淀的 SKILL.md 中,可以提炼出 9 个高频避坑点,直接决定渲染成败与画面质量 [5]:
- 沙箱启动崩溃:首次在受限沙箱环境启动 Blender 会以 exit code 139 崩溃并写入 blender.crash.txt,需通过非沙箱执行机制重试。
- 后台渲染静默:背景渲染可能几十秒无输出,若返回 session ID 要轮询等待,而非重复启动渲染。
- 共面黑色条纹:重叠的共面表面会产生黑色条纹,需移除旧几何、刻意分离表面高度。
- 轮廓锯齿:平滑着色不修复轮廓锯齿,要给焦点形状足够几何。
- 渲染成功 ≠ 视觉合格:要检查剪影、抓握/踏板接触、漂浮部件、取景裁剪、阴影与背景细节。
- 正交相机取景:无限地面平面填满背景无自然地平线,需垂直放置远处天空背景。
- 质量提升优先级:构图、角色解剖、材质、光照 > 加更多物体;暖主光 + 冷补光 + 轮廓光。
- API 弃用警告:Blender 5.1.2 中 Material.use_nodes / World.use_nodes 有弃用警告但可用,Blender 6 会变。
- 渲染前保存:渲染前先保存 .blend,避免渲染失败丢失场景。
一个未解决的问题
尽管几何与光影管线已被打通,当前编码智能体在复杂拓扑骨骼绑定与权重精细刷取(Skinning & Rigging)方面依然难以仅靠纯代码实现工业级精度。代码层面的细微偏差容易导致网格在动作大角度拉伸时发生灾难性的穿模撕裂,这部分核心控制权短期内仍需人类艺术家在 Blender 视口中手动介入。
引用来源
[1] Simon Willison. "Using coding agents to drive Blender on macOS". Simon Willison's Weblog. 2026-09-05. https://simonwillison.net/2026/Sep/5/blender-coding-agents-macos/ [2] Simon Willison. "Blender coding agents on macOS". Simon Willison's TILs. 2026-09-05. https://til.simonwillison.net/llms/blender-coding-agents-macos [3] Simon Willison. "gpt-6-astra-blender-pelican-bicycle repository". GitHub. 2026-09-05. https://github.com/simonw/gpt-6-astra-blender-pelican-bicycle [4] Simon Willison. "codex-transcript.md: Pelican on a bicycle in Blender". GitHub. 2026-09-05. https://github.com/simonw/gpt-6-astra-blender-pelican-bicycle/blob/main/codex-transcript.md [5] Simon Willison. "SKILL.md: blender-local skill specification". GitHub. 2026-09-05. https://github.com/simonw/gpt-6-astra-blender-pelican-bicycle/blob/main/SKILL.md