如何为 Multi-Agent-CAD 的每个阶段挑选不同模型:混合路由策略与成本优化实战
【免费下载链接】Multi-Agent-CADMAC (Multi-Agent CAD): A decoupled multi-agent framework for text-to-CAD generation via constrained test-time compute项目地址: https://gitcode.com/gh_mirrors/mu/Multi-Agent-CAD
MAC(Multi-Agent-CAD)是一个用自然语言直接生成可打印 3D 模型的 text-to-CAD 多智能体框架:4 个智能体分工协作,token 消耗降低 116 倍、推理成本降低 13 倍。它的核心亮点之一是混合路由(Hybrid Routing)——流水线 4 个阶段各自独立配置模型、温度与推理开关,你可以为「需求解析」挂便宜小模型,为「几何设计」用旗舰大模型,把每一分钱花在刀刃上。本文带你完整跑通这套模型选择与成本优化策略。
一、先搞懂 MAC 的 4 个阶段
理解混合路由的前提,是理解流水线。MAC 把 text-to-CAD 拆成 4 个阶段,由 LangGraph 状态机串联,阶段之间只传递紧凑的结构化 JSON,不传对话原文:
| 阶段 | 智能体 | 输入 | 输出 | 任务难度 |
|---|---|---|---|---|
| 1 | Spec Planner | 自然语言需求 | CADBriefJSON | ⭐ 简单 |
| 2 | Geometric Architect | CADBrief | ArchitectPlanJSON(草图/步骤/选择器) | ⭐⭐⭐ 高 |
| 3 | Python Coder | ArchitectPlan | build123d 代码 | ⭐⭐ 中 |
| 4 | Autonomous Skill Loop | 代码 + STEP/STL | 最终模型 + QA 报告 | ⭐⭐⭐ 高 |
正因为交接面只有两个小 JSON(CADBrief、ArchitectPlan),任意阶段换成什么模型,其它阶段都毫无感知——这就是「每个阶段自由选模型」的架构基础。
二、模型配置在哪里改
所有模型参数集中在multi_agent_cad/config.py一个文件里,每个阶段都有独立的四元组:MODEL(模型 ID)、TEMPERATURE、MAX_TOKENS、KWARGS(推理开关等额外参数)。
各阶段配置速查
- 阶段 1:
SPEC_PLANNER_MODEL/SPEC_PLANNER_KWARGS - 阶段 2:
ARCHITECT_MODEL/ARCHITECT_KWARGS - 阶段 3:
CODER_MODEL/CODER_KWARGS - 阶段 4:
AIDER_MODEL(Aider 主修复,带供应商前缀如openai/、anthropic/)+REPAIR_MODEL(直连 API 兜底)
所有阶段共享DS_BASE_URL端点,且 MAC 通过OpenAI 兼容接口调用模型——OpenAI、DeepSeek、Gemini、本地 Ollama 都能直接接入,只需换 URL 和模型名。
三、每个阶段该怎么挑模型
核心原则:按任务难度分配模型档位,简单任务用便宜模型,复杂任务才上旗舰。
阶段 1:Spec Planner —— 挂最便宜的模型
任务只是「读一段话,输出结构化 JSON」。这类工作轻量模型甚至本地小模型完全胜任,建议:
- 云端:选该供应商最便宜的入门级模型即可
- 本地:Ollama 上的 7B~32B 代码模型也能胜任
TEMPERATURE = 0.0保证输出确定
阶段 2:Geometric Architect —— 必须用强模型
这是整条流水线最考验空间想象力的一步:设计草图、规划拉伸/旋转/布尔运算步骤,还要遵守 5 条 Iron Rules(如自定义多边形必须给control_points)。换弱模型,后面的几何错误会成倍放大。默认配置刻意关掉了思维链(enable_thinking: False),因为该阶段追求 JSON 输出的确定性而非发散推理——这是一个值得学习的成本细节:省掉的输出 token 就是省下的钱。
阶段 3:Python Coder —— 通常「零成本」
MAC 用确定性翻译器_plan_to_code(位于multi_agent_cad/nodes.py)直接把ArchitectPlan翻译成 build123d 代码,支持 extrude、hole、布尔运算、阵列、圆角等常见操作,全程不花 1 个 token。只有翻译器不覆盖的步骤(如拔模、加强筋)才留# TODO_AIDER占位符交给 LLM。所以CODER_MODEL只是兜底配置,一般保持中档模型即可。
阶段 4:Aider 修复 —— 按「代码修复能力」选
修复循环(QA 报告 → 修代码 → 重跑,最多 5 轮)是真正烧钱的地方,选模型的思路:
- 擅长代码的模型优先:Claude、GPT 系列或旗舰级代码模型,
AIDER_MODEL改成anthropic/claude-sonnet-4-6即可 REPAIR_TEMPERATURE可略高(默认 0.3):修复问题往往有多条有效路径,一点创造性反而更快收敛- 进阶玩法:训练一个只处理「QA 报错 + build123d 参考 → 修复补丁」的本地专用模型,把最贵的一轮迭代成本打到接近零
四、成本优化实战:三档推荐组合
以单 prompt 为例,10 个基准 prompt 的总成本从单智能体基线的 ¥125.69 压到 ¥9.67(明细见docs/qwen3.7_token.md)。混合路由还能再省,三种典型组合供参考:
| 组合 | 阶段1 | 阶段2 | 阶段3兜底 | 阶段4 | 适合场景 |
|---|---|---|---|---|---|
| 全旗舰(默认) | 旗舰 | 旗舰 | 旗舰 | 旗舰 | 追求质量上限 |
| 性价比(推荐) | 入门级 | 旗舰 | 中档 | 旗舰代码模型 | 日常批量生成 |
| 全本地 | Ollama 小模型 | Ollama 32B+ | 基本不用 | 本地微调模型 | 零 API 成本 |
几个通用的省钱开关:
- 架构阶段关思维链:
ARCHITECT_KWARGS = {"extra_body": {"enable_thinking": False}},输出 token 直接减半量级 - 利用缓存:
pipeline_cache/会保存前两阶段的输出,重跑同一 prompt 时直接跳过 Spec Planner 和 Architect 两次 LLM 调用,秒级重启于 Coder 阶段 - 选对端点:本地 Ollama(
http://localhost:11434/v1)完全免费,适合先验证流程再切云端
改错配置想回退?执行python -m multi_agent_cad._config_defaults --reset一键还原默认值。
五、为什么单智能体做不到这一点
单智能体架构里,提示词、文档、对话历史深度耦合在同一个上下文里,你只能选一个「全能型」模型通吃——既为简单任务多付费,也没法针对单点优化。MAC 的结构化交接让单个阶段可以被独立替换:哪怕只训一个小模型专读CADBrief输出ArchitectPlan,就能把架构阶段的调用成本打下来,其余阶段纹丝不动。这种模块化正是「受约束的测试时算力(constrained test-time compute)」思路的落地。
总结
- 按难度分档:解析用便宜模型、几何设计用旗舰、代码阶段靠确定性翻译器白嫖、修复阶段挑最会写代码的模型
- 一切配置在
multi_agent_cad/config.py,四阶段各自独立,改完即生效 - OpenAI 兼容端点让你自由切换云端/本地供应商
- 配合缓存机制与思维链开关,单模型成本可以压到基准的 ¥0.3~3 元区间
更多阶段设计细节可查阅multi_agent_cad/WORKFLOW.md,各阶段提示词模板在multi_agent_cad/prompts/目录下,想深入调优时它们是第一手资料。
【免费下载链接】Multi-Agent-CADMAC (Multi-Agent CAD): A decoupled multi-agent framework for text-to-CAD generation via constrained test-time compute项目地址: https://gitcode.com/gh_mirrors/mu/Multi-Agent-CAD
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考