Multi-Agent CAD(MAC)

3个月前发布 112 00

清华大学IEI实验室开源的Multi-Agent CAD(MAC)通过四智能体协作架构,将文本到可打印CAD模型的生成成本降至传统单智能体方案的1/13,Token消耗降至1/116,特征通过率提升至99.3%。

所在地:
中国
收录时间:
2026-08-07
Multi-Agent CAD(MAC)Multi-Agent CAD(MAC)

清华大学IEI实验室开源的Multi-Agent CAD(MAC)通过四智能体协作架构,将文本到可打印CAD模型的生成成本降至传统单智能体方案的1/13,Token消耗降至1/116,特征通过率提升至99.3%。

Multi-Agent CAD(MAC)

该系统将CAD生成拆解为规划、设计、编码、质检四个阶段,各阶段仅传递结构化JSON状态而非完整对话历史,从根本上解决长上下文导致的Token指数膨胀问题。支持OpenAI兼容端点接入任意LLM提供商,提供终端与Web UI双运行模式,所有中间产物白盒可审计,并内置确定性转换器实现常见CAD操作零Token消耗。

核心架构:四阶段结构化状态传递

MAC的效率革命源于对推理过程的结构性重组,而非模型能力升级:

阶段智能体输入输出Token优化机制
1Spec Planner自然语言需求CADBrief JSON(3个验证目标)仅解析需求,不读文档/历史
2Geometric ArchitectCADBriefArchitectPlan JSON(草图/步骤/选择器)仅读结构化简报,无上下文重放
3Python CoderArchitectPlantemp_design.py确定性转换器处理常规操作,仅边缘case调用LLM
4Autonomous Skill Loop代码+STEP/STL最终模型+QA报告Aider修复循环仅注入错误摘要,非全量对话

关键创新点:

  • 状态隔离:每个智能体只看到角色所需的最小结构化快照,幻觉在阶段边界被切断
  • 确定性转换器:_plan_to_code 将extrude/revolve/hole/fillet等12类常规CAD操作转为纯Python执行,零Token消耗
  • 缓存复用:pipeline_cache/ 存储前两阶段输出,相同提示词重运行时跳过LLM调用,秒级恢复
  • 混合路由:四阶段可独立配置模型(如Planner用轻量模型、Architect用qwen3.7-max、Repair用Claude),成本可进一步压缩

基准测试(10提示词/141特征,Qwen3.7-max):

指标单智能体基线MAC提升
Token103.9M896k116×↓
成本¥125.69¥9.6713×↓
API调用1,3075026×↓
通过率97.9%99.3%↑

部署配置与多提供商适配

环境安装

# Conda(推荐,Windows/macOS/Linux通用)
git clone https://github.com/Pan-Chera/Multi-Agent-CAD && cd Multi-Agent-CAD
conda env create -f environment.yml && conda activate multi_agent_cad

# pip变通方案(仅macOS arm64 + Python3.11验证)
python3.11 -m venv .venv && source .venv/bin/activate
pip install aider-chat==0.82.3
pip install --no-deps --force-reinstall "numpy>=2,<3"  # 解决numpy版本冲突
pip install "build123d>=0.8" "langgraph>=0.2,<0.3" ... # 其余依赖见requirements.txt
pip install --no-deps -e .

⚠️ Windows用户必须使用Conda,pip安装的trimesh/rtree原生wheel不可靠。

LLM提供商切换
编辑 multi_agent_cad/config.py,修改以下字段即可切换全流程模型:

DS_BASE_URL = "https://api.openai.com/v1"  # 或DeepSeek/Gemini/Ollama端点
SPEC_PLANNER_MODEL = ARCHITECT_MODEL = CODER_MODEL = REPAIR_MODEL = "gpt-5.6"
# 非Qwen模型需禁用thinking开关:
SPEC_PLANNER_KWARGS = ARCHITECT_KWARGS = CODER_KWARGS = REPAIR_KWARGS = {}
AIDER_MODEL = "openai/gpt-5.6"  # Aider阶段需litellm前缀

环境变量 DASHSCOPE_API_KEY 接受任何OpenAI兼容密钥(名称为历史遗留)。

运行模式选择

模式命令适用场景交互特性
终端原始流python -m multi_agent_cad.graph调试/注入变更每轮QA后10秒检查点(1自动/2注入/3停止)
终端修改流python -m multi_agent_cad.graph_aider迭代现有设计将USER_REQUEST作为修改需求应用
Web UIpython -m multi_agent_cad.web可视化预览浏览器内3D预览+一键下载,无运行时干预

Web UI默认监听 0.0.0.0:8000,远程访问务必通过SSH隧道(ssh -L 8000:localhost:8000 user@server),生成的.py文件在服务器端执行,严禁暴露于公网。

使用边界与实操注意事项

缓存陷阱

  • 缓存仅检查文件存在性,不校验 USER_REQUEST 内容。修改提示词后必须手动清除:
    rm pipeline_cache/cad_brief.json pipeline_cache/architect_plan.json
    
  • 或在代码中设置 force_refresh: True 绕过缓存

模型选择策略

  • Spec Planner:需求解析为简单JSON输出,可用本地小模型(如qwen3-coder:7b)降本
  • Geometric Architect:空间推理强依赖大模型,建议保留qwen3.7-max或同级
  • Python Coder:常规操作由确定性转换器处理,仅TODO_AIDER占位符触发LLM,可降级
  • Aider Repair:代码修复对指令遵循要求高,Claude/GPT优于多数开源模型

安全与合规

  • 生成的 .py 文件直接执行,需在可信环境运行;生产部署应沙箱化
  • Web UI无认证机制,仅限内网或SSH隧道访问
  • 输出STEP/STL文件需经人工验证再用于制造,AI生成模型可能存在隐性几何缺陷

已知局限

  • 不支持draft/rib/无control_points自定义多边形等高级特征,回退至Aider修复
  • Windows未纳入CI测试,虽代码避免Unix-only API,但遇问题需自行排查
  • 10倍速度提升为数量级估计,实际受网络延迟/模型响应时间影响

MAC代表了AI辅助工程设计的范式转变:从“用更强模型硬扛复杂度”转向“用更好架构分解复杂度”。当Token成本不再是瓶颈,CAD生成的民主化才真正开始。对于教育、原型验证、小批量定制等场景,这可能是当前最具实用价值的开源文本到制造解决方案。

相关导航