← 返回 2026-08-19

aDSL:智能体与领域特定语言联合设计的3D内容生成 aDSL: Agentic 3D Creation via Joint Agent-Program Design

Rui-Huan Wang, Si-Tong Wei, Jia-Qi He, Heng-Yi Wei, Baoquan Chen, Peng-Shuai Wang 📅 2026-08-18 👍 5 2026-08-24 18:30
3D内容生成 LLM智能体 多智能体系统 程序合成 领域特定语言

联合设计面向LLM的DSL与多智能体系统,用空间关系算子取代脆弱坐标,实现可靠3D创作

前置知识

构造实体几何(CSG)

CSG 通过布尔运算(并、交、差)组合参数化基元(立方体、球、圆柱)构造复杂实体,例如「立方体减去圆柱」得到带孔平板,结果是一棵保留层级结构的可编辑运算树。aDSL 的 boolean_union/intersection/difference 算子即基于此机制。

aDSL 的表达力完全建立在 CSG 之上,图 2 的组件制造流程与论文中所有复杂形状的构造方式都依赖它,理解它才能看懂 aDSL 程序如何从简单基元搭建复杂几何。

领域特定语言(DSL)

为特定领域量身设计的小型编程语言,用贴近领域概念的词汇和算子替代通用语言的大量底层 API。aDSL 嵌入 Python 宿主,复用其类机制与控制流,同时暴露 align_anchors、distribute_along_axis 等面向 3D 建模的声明式高层算子。

论文的核心主张是「表示与智能体系统需联合设计」,理解 DSL 相对通用脚本(如 Blender Python)在抽象层级与可验证性上的差异,是理解其动机与实验对照的前提。

LLM 智能体与 Plan–Execute–Critic 循环

LLM 智能体在循环中交替进行规划、行动(调用工具、写代码)与观察,完成长程任务。Plan–Execute–Critic 范式:先输出结构化任务分解与可检验约束,再生成并执行代码,最后基于执行反馈检查修正,思想与 ReAct、Reflexion 一脉相承。

本文多智能体系统完全建立在该循环上:Planner、Coder、Executor、Debugger、双 Critic 的分工与反馈机制均由此展开,消融实验也直接验证了各环节的必要性。

AABB 与空间关系算子

AABB 是包住几何体的最小轴对齐长方体,由中心、尺寸、各轴最值描述。aDSL 把 AABB 查询(shape_center、shape_anchor 及命名锚点)作为一等公民,其上提供 align_centers、place_on_axis、distribute_along_axis 等声明式布局算子。

这是 aDSL 区别于先前 3D DSL 的关键设计,也是表 4 消融的主角:去掉空间算子后修正轮数上升、VQA 下降,是「联合设计」论点的直接证据。

文生3D评估指标(CLIP-Score / VQAScore / FID)

CLIP-Score 计算输入文本嵌入与多视角渲染嵌入的余弦相似度,衡量全局语义一致;VQAScore 用 CLIP-FlanT5 判断渲染是否在视觉上蕴含文本,对细粒度属性更敏感;FID 用 Inception-v3 特征衡量生成与真实分布的距离,反映感知质量。

论文定量结论(表 1、表 3)全部由这些指标构成,且不同方法互有胜负(场方法 FID 更优),理解每个指标度量什么才能正确解读成绩与权衡。

URDF 与铰接体(Articulation)

URDF 是描述机器人连杆与关节(转动 revolute、滑动 prismatic、固定 fixed)层级、轴向与限位的标准格式。aDSL 允许在资产层次上通过 Asset.revolute 等方法挂载关节,使同一份程序同时定义几何与运动,可直接导出标准化 URDF 模型。

铰接体生成是论文核心下游应用之一(图 7 的 CNC 机床、水龙头等),体现程序化表示独有优势:功能与结构显式编码在代码里,场生成方法做不到。

研究动机

基于 LLM 的智能体式 3D 创作虽然承诺可控、可编辑、可解释,但实际表现脆弱:结果常偏离用户意图,迭代修正中甚至越改越差。作者将这种脆弱归因于程序化接口与 LLM 推理能力的错配。让智能体直接编写 Blender Python 脚本或参数化 CAD 代码,表达力虽强,但抽象层级太低:智能体必须处理大量底层 API 调用与脆弱的绝对坐标,微小的局部修改会引发不成比例的几何变化,对称性、支撑接触等功能约束在代码中是隐式的、难以校验。过程化/规则式系统(如 Infinigen)参数可控、结果可靠,但规则集靠专家手工打造,难以扩展到新类别、新风格与细粒度语义约束。论文举例:生成椅子时智能体容易推断「四条腿应在座位下方、连接四角」,却给不出腿与座位的精确数值坐标;仅提升语言表达力并不够,很小的数值误差就会造成几何失效(腿悬空)或违反设计约束(失去接触)。近期 DSL 工作(ShapeCraft、Scene Language、AIDL)改善了表达力,却隐含假设 LLM 能可靠编写并修订合法程序,忽视了智能体系统如何利用 DSL 结构做稳健的生成、验证与修复。

本文的目标是本文目标是通过「表示与智能体系统的联合设计」,构建一个免训练(training-free)的 3D 内容创作框架:给定高层文本描述或一张图片,系统自动生成满足规格、结构化、可控且可解释的可执行 3D 程序。为此设定三个语言设计目标。其一是表达力:用参数化基元(cube、sphere、cylinder)、布尔运算与几何变换覆盖多样形状与结构,支持 CSG 式加法装配与减法雕刻。其二是可组合性:以命名父子部件层次(Python 类)组织资产,支持组件复用、局部修改与跨层级增量构建,并自然延伸到铰接体的关节定义。其三是空间推理:让智能体用「把 A 放到 B 上面」「沿 x 轴以 0.1 间距分布」这类关系算子表达布局,而非手算脆弱的绝对坐标。在此表示之上,系统还需支持 Plan–Execute–Critic 迭代闭环:分解请求、合成代码、执行获得几何与可视化证据、自动检测违规并修复,直到约束全部满足或达停止条件(最多 $R=10$ 轮),同时保留用户介入与定向编辑接口,并在文本生成形状、图像生成形状两任务上超越现有 LLM 基线。

与已有工作不同的是,本文的独特切入是「联合设计」(joint design):不把 DSL 当作被动输出格式,而让同一表示充当规划、编码与评审三种角色之间的共享接口。作者观察到 LLM 擅长把复杂资产分解为层次化组件、推理空间与结构关系,却不擅长产出精确的底层数值参数;而先前工作几乎只聚焦表达力这一个维度,默认智能体能可靠写对程序。aDSL 在表达力之外强调可组合性与空间推理:Planner 以 aDSL 词汇输出可检验约束,Coder 用声明式算子实现,Critic 执行后用同样的代码结构复核同样的关系——生成–验证–修复循环因此锚定在语言语义上,而非对渲染图的猜测上。与 AIDL 引入几何约束求解器辅助 LLM 的路线相比,aDSL 不依赖全局求解器(其局部修改下脆弱、语义反馈有限、主要面向 2D CAD 草图),而是把空间意图编码为可解释的程序基元;与 LL3M 生成底层 Blender 脚本、Scene Language 面向场景 DSL 相比,它首次把空间推理作为面向智能体编辑的一等 substrate,使约束驱动的合成与执行后验证成为可能。

核心方法

方法直觉:LLM 会讲道理但算不准数,就让语言替它算。aDSL 是嵌入 Python 的分层资产语言:Asset 容器经 attach_part 挂载命名部件成树;叶子为参数化基元(cube、sphere、cylinder),可用布尔运算做 CSG;AABB 查询暴露中心、尺寸、命名锚点(如 left_front_top)与支撑点;声明式布局算子(align_centers、align_anchors、place_on_axis、distribute_along_axis、grid_shapes、radial_shapes 等)把常见空间关系压成单条语句。系统分四阶段:规划阶段把输入解析为组件分解、空间关系与可验证的 Critic 清单;编码与执行阶段由 Coder 合成程序、Executor 运行并渲染 8 视角证据;失败时 Debugger 分析报错并给定点补丁;成功后 Image Critic 比对渲染与清单,Code Critic 以代码为准做最终裁决;反馈回流 Coder 形成闭环,最多 $R=10$ 轮,配合选择性记忆保证长程稳定。全系统免训练,仅靠提示词工程与角色分工实现。

核心创新是「共享表示驱动的生成–验证–修复」:三个角色通过同一份关系化程序交流,把脆弱的坐标级交互替换为锚定在 aDSL 语义上的闭环。与已有方法的本质区别有三。第一,关系算子替代绝对坐标:智能体写 align_anchors(leg, tabletop, anchor='bottom', target_anchor='top') 这类语句而非手算 $(x,y,z)$,数值由运行时从 AABB 精确推导,小误差不再累积成悬空或穿插(图 3 对照)。第二,约束显式可检验:Planner 的空间关系与 Critic 清单直接映射到 aDSL 算子,执行后既可查渲染也可查程序状态;Code Critic 依代码逻辑否决由遮挡或透视引起的视觉误判,保证修正由真实程序缺陷而非幻觉驱动。第三,可组合性带来可编辑性:部件是命名层次,编辑即局部程序改写;同一层次可挂 revolute/prismatic 关节并导出 URDF,几何与功能统一编码。消融证明这是「表示 × 流程」的联合增益:同时去掉空间算子与修正循环时 CLIP 跌至 28.20、VQA 跌至 59.25,比单独去掉任一组件更差。

方法步骤详情

流程分四步。第一步规划:Planner 解析文本或图像,输出三件套——组件分解(层次化部件及描述)、空间关系(连通、对齐、相对放置等可映射到算子的约束)、Critic 清单(部件存在性、数量、支撑接触、对齐等可验证判据)。第二步编码与执行:Coder 实例化基元、以 CSG 构造部件、组装命名层次并调用布局算子满足约束;Executor 运行程序导出 mesh,渲染器按 45 度方位角间隔、固定 15 度仰角生成 8 张 1024×1024 渲染图。第三步评审与修复:执行失败(参数非法、定义缺失、算子误用)时 Debugger 分析错误并给定点补丁交回 Coder;成功后 Image Critic 对照清单在多视角下找感知与结构偏差(忽略轻微渲染瑕疵),Code Critic 交叉核对程序代码、验证问题真实性并每轮只提单一最关键修改,反馈回 Coder。第四步记忆管理:用户输入与规划为持久记忆贯穿全程;Coder 只保留固定需求与最近代码的滑动窗口;Critic 每轮删除历史渲染图、仅留文字反馈。循环在 Critic 报告无可行动问题或达 $R=10$ 轮时停止,用户可随时介入。

技术新颖性

新颖性可从四个参照系看清。对 Blender 脚本路线(BlenderMCP、BlenderLLM、LL3M):aDSL 提供带空间语义的紧凑算子集而非通用建模 API;消融中换成 Blender 脚本(保留同一智能体框架)后平均修正轮数从 4.25 升至 6.08、CLIP 降至 28.11,证明收益来自语言设计而非框架本身。对形状/场景 DSL(ShapeCraft、Scene Language):它们提升表达力但未把空间推理作为一等能力,aDSL 的 AABB 查询加声明式布局算子使约束既易写又易查,规划器输出的关系可直接落成算子调用。对求解器辅助的 AIDL:其用几何求解器补 LLM 短板但面向 2D CAD 草图,全局求解在局部修改下脆弱、语义反馈有限;aDSL 用可解释程序基元表达空间意图,修复只需调整算子参数(偏移、轴向、排序、分布间距)。对免训练多智能体系统本身:角色分工并不新鲜,新鲜的是角色间通信协议——同一份关系程序——及配套的选择性记忆机制(持久约束与瞬时状态分离、渲染图用后即弃)。「语言即接口」让验证成为确定性代码检查而非纯视觉猜测,在免训练方案中少见。

Design and use of our aDSL for programmatic 3D shape modeling. (a) aDSL: Our framework is built on four core design elements: geometric primitives, boolean operations, hierarchical composition, and spatial reasoning. (b) Component Fabrication: Complex shapes are constructed via Constructive Solid Geometry (CSG) and hierarchical composition. (c) Global Assembly: Fabricated parts are organized hierarchically into a semantic object using Python classes.
Fig. 2: Design and use of our aDSL for programmatic 3D shape modeling. (a) aDSL: Our framework is built on four core design elements: geometric primitives, boolean operations, hierarchical composition, and spatial reasoning. (b) Component Fabrication: Complex shapes are constructed via Constructive Solid Geometry (CSG) and hierarchical composition. (c) Global Assembly: Fabricated parts are organized hierarchically into a semantic object using Python classes.
Overview of our agentic 3D creation system. Given user input, Planner derives structured decompositions and verifiable constraints. Coder synthesizes a program executed by Executor to generate 3D assets. Subsequently, Debugger resolves execution failures and Critic evaluates semantic alignment, providing feedback to refine the generated geometry.
Fig. 4: Overview of our agentic 3D creation system. Given user input, Planner derives structured decompositions and verifiable constraints. Coder synthesizes a program executed by Executor to generate 3D assets. Subsequently, Debugger resolves execution failures and Critic evaluates semantic alignment, providing feedback to refine the generated geometry.

实验结果

实验分四组。文本生成形状:100 个实例(ShapeNet 60、ABO 20、Objaverse 20,共 200 提示)上,aDSL 在代码类方法中全面领先:ShapeNet CLIP 29.63/VQA 65.34/成功率 100%,优于 Scene Language(28.35/59.13/97%)与 ShapeCraft(27.70/57.26);ABO CLIP 30.39;Objaverse CLIP 29.07、VQA 69.37,超过场方法 Trellis(27.67/68.06)。图像生成形状:Toys4K 30 例上 CLIP 84.42/FID 184.71/成功率 100%,超过全部代码基线(BlenderMCP 83.28/214.87 等),但场方法 Trellis(CLIP 84.88/FID 108.20)外观仍占优。效率:每轮约 190 秒、4.25–5.23 轮收敛,单物体约 889 秒,95% 以上时间在 LLM 响应;记忆复用使摩托车变体从 5 轮 845 秒降到 1 轮 164 秒。消融(ShapeNet 120 提示):换 Blender 脚本轮数升至 6.08;去空间算子 VQA 降至 63.75;去 Planner 轮数 5.58;去修正循环成功率 0.98、VQA 61.53;同去最差 28.20/59.25/0.97。人评:38 名参与者偏好本方法 85.39%(提示对齐)与 86.84%(几何/视觉质量)。应用含铰接体、程序改写式编辑、SpaceControl 高保真化与场景生成。

Quantitative results on text-to-shape generation.
Table 1: Quantitative results on text-to-shape generation.
Efficiency statistics for text-conditioned shape generation under our refinement stopping protocol.
Table 2: Efficiency statistics for text-conditioned shape generation under our refinement stopping protocol.
Quantitative results for image-to-shape generation on Toys4K.
Table 3: Quantitative results for image-to-shape generation on Toys4K.
Ablation of the relational program interface and iterative agentic workflow on text-conditioned shape generation.
Table 4: Ablation of the relational program interface and iterative agentic workflow on text-conditioned shape generation.
Public types and operator families of the relational 3D programming interface. Signed axes follow the world convention +x right, +y inward, and +z up.
Table 5: Public types and operator families of the relational 3D programming interface. Signed axes follow the world convention +x right, +y inward, and +z up.
Qualitative comparison on text-to-shape generation. Cross marks indicate mesh generation failures.
Fig. 5: Qualitative comparison on text-to-shape generation. Cross marks indicate mesh generation failures.
Qualitative comparison of image-to-shape generation.
Fig. 6: Qualitative comparison of image-to-shape generation.
Articulated object generation results. Given text or image prompts, our system synthesizes structured assets together with joint-enabled part hierarchies, covering diverse articulated objects including industrial tools, appliances, and characters.
Fig. 7: Articulated object generation results. Given text or image prompts, our system synthesizes structured assets together with joint-enabled part hierarchies, covering diverse articulated objects including industrial tools, appliances, and characters.
Efficiency gain from continuous interaction with memory reuse. The first user request is generated from scratch and requires five refinement rounds, while the follow-up request reuses the prior solution from memory and completes the generation in one round.
Fig. 8: Efficiency gain from continuous interaction with memory reuse. The first user request is generated from scratch and requires five refinement rounds, while the follow-up request reuses the prior solution from memory and completes the generation in one round.
查看结构化数据
任务指标本文基线提升
文本生成形状(ShapeNet) CLIP-Score ↑ 29.63 Scene Language 28.35(代码类最佳基线) +1.28
文本生成形状(ShapeNet) VQAScore ↑ 65.34 Scene Language 59.13 +6.21
文本生成形状(ABO) CLIP-Score ↑ 30.39 BlenderMCP 28.97(代码类最佳) +1.42
文本生成形状(Objaverse) VQAScore ↑ 69.37 BlenderMCP 66.22 +3.15(且超过场方法 Trellis 的 68.06)
文本生成形状(三数据集) 执行成功率 ↑ 1.00 / 1.00 / 1.00 Scene Language 0.97 / 0.98 / 0.95 全部 100% 可执行
图像生成形状(Toys4K) CLIP-Score ↑ 84.42 BlenderMCP 83.28(代码类最佳) +1.14(场方法 Trellis 84.88 仍略高)
图像生成形状(Toys4K) FID ↓ 184.71 ShapeCraft 187.62 / Scene Language 206.21 / BlenderMCP 214.87 -2.91 至 -30.16(Trellis 108.20 更优)
消融:表示形式(同框架换 Blender 脚本) 平均修正轮数 ↓ 4.25 Blender 脚本版 6.08 -1.83 轮,且 CLIP 高出 1.52
消融:工作流(去 Planner / 去修正循环) 平均轮数 / 成功率 4.25 轮 / 1.00 无 Planner 5.58 轮;无修正循环成功率 0.98、VQA 61.53 -1.33 轮;成功率 +0.02、VQA +3.81
人类成对评估(vs Scene Language,38 人 20 例) 偏好率 ↑ 提示对齐 85.39%;几何/视觉质量 86.84% Scene Language(成对比较) 全面显著偏好

局限与改进

作者承认三点局限。其一,最终质量受 DSL 表达力与几何基元的限制:高度复杂几何、外观与材质效果仍需与学习型高保真生成器更紧密结合——数据上可见,图像任务中 Trellis 的 FID(108.20)明显优于 aDSL(184.71),自行车辐条等细密结构场方法反而更好。其二,Critic 的验证主要基于 2D 渲染,透视歧义可能引起误判,这也是系统必须设置 Code Critic 用代码逻辑做最终仲裁的原因。其三,框架依赖 Gemini 3 Pro 这类强专有模型完成长程空间推理与修复,限制了可及性。我补充几点观察:单物体约 889 秒远慢于前馈式场模型,实时交互只能靠记忆复用缓解;文本基准仅 100 实例、图像基准仅 30 实例,规模偏小,且 CLIP/VQA 对结构正确性(接触、支撑、穿透)不敏感,100% 执行成功率只统计「能否渲染」,含金量有限;所有智能体共用同一骨干与 temperature 1.0,缺少跨模型稳健性验证;Code Critic 每轮只处理单一最关键问题、上限 $R=10$ 轮,约束密集时可能耗尽预算而未收敛。

独立分析的弱点

独立分析可见四类弱点。其一,几何与外观天花板低:基元加 CSG 难表达有机曲面与精细纹理,图 5、6 中场方法在平滑表面与外观上更优;改进方向是以 aDSL 为结构骨架,与 SpaceControl 式空间条件生成或部件级纹理模型深度耦合,允许部件「替换」为神经表示而保留程序层级。其二,评估协议偏弱:CLIP/VQA 度量全局语义相似而非几何有效性,缺接触率、穿透率、支撑正确性等结构化指标,执行成功率只验证可渲染性;可引入物理合理性自动检查与人工标注的结构正确率。其三,反馈粒度粗:Code Critic 每轮只提一个最关键修改,加上 $R=10$ 轮上限,多约束任务易耗尽预算;可做并行多问题修复或基于约束依赖图的优先级调度。其四,成本与依赖:每轮约 30.9k 输入 token、8 张 1024×1024 渲染,单物体累计约 15 万 token 量级,骨干绑定专有 API;可探索能力蒸馏到开源模型、算子执行缓存与增量渲染。另外「代码即权威」策略虽防幻觉,但当视觉反馈确实反映代码未覆盖的问题(颜色、比例失真)时可能被错误否决。

未来方向

作者提出两个方向:把长程空间推理与修复能力蒸馏到开源语言模型,摆脱对专有 LLM 的依赖;与学习型高保真生成器更紧密结合,突破 DSL 基元的表达上限。基于成果还可延伸:其一,铰接与物理仿真——aDSL 已可导出 URDF,接入物理引擎用关节限位、接触力自动验证「能动且合理」,服务具身智能训练场景合成。其二,结构化评估基准——构建带部件级标注与空间关系真值的基准,把约束满足率作为一等指标,弥补 CLIP/VQA 盲区。其三,逆向程序推断——结合图像/网格到 aDSL 的逆推(类 Img2CAD、InverseCSG),让已有资产进入可编辑程序空间,与编辑能力闭环。其四,场景级规模化——图 11 只涉及少量物体,结合检索式资产库与布局优化可扩展到整屋乃至城市尺度。其五,3D 感知 Critic——用深度、点云、遮挡推理替代纯 2D 渲染评审,消除作者承认的透视歧义。其六,交互式创作产品化——聊天式前端与记忆复用(845 秒对 164 秒)表明增量式 3D 设计工具已具雏形。

复现评估

复现条件较好。代码已开源(https://github.com/sig-pku/aDSL);方法免训练,无需 GPU 训练算力,只需可调用 LLM API(Gemini 3 Pro,temperature 1.0,各智能体共用;BlenderMCP 基线用 Claude Opus 4.5)加本地渲染环境。附录透明度高:完整给出 DSL API 参考(表 5 及函数清单)、坐标与关节约定、以及 Planner/Coder/Debugger/双 Critic 的全部提示词模板。评测数据可得:文本基准由 ShapeNet/ABO/Objaverse 抽样配 CAP3D 与 MARVEL 模板构成(100 实例 200 提示),图像基准用 Toys4K 30 例随机视角;指标实现与「失败计零分」协议均写明。成本集中在推理:每轮约 30.9k 输入加 2.75k 输出 token,4.25–5.23 轮/物体、约 889 秒,复现全量评估需可观 API 预算。难度中等:多智能体编排、渲染与记忆管理的工程链路较长,但免训练、文档与提示词齐全,门槛主要在 API 成本与 BlenderMCP 等基线的配额限制。