OpenAI 工程智能体架构拆解:Codex 如何接入 CAD、FEA 与 PCB 设计闭环
摘要:AI 编程智能体正在跨出代码仓库,进入 CAD、PCB、有限元分析和制造工程。OpenAI 在 2026 年 11 月披露,内部团队已经使用 Codex 与 ChatGPT 创建和修改 CAD 模型、生成制造图、设置仿真并评审设计;一个由 Astra 完成外壳、PCB、固件与软件集成的测试设备,不到一周完成设计,不到一个月完成小批量原型。真正值得工程团队关注的,不只是“模型会画零件了”,而是如何把自然语言意图、参数化模型、仿真结果和人工签核组织成一个可追溯的闭环。
本文先核对官方披露的事实,再给出一套可复用的工程智能体架构。文中的工作流、数据契约和代码是工程化参考实现,并非 OpenAI 未公开内部系统或 SDK 的复刻。
一、官方披露了什么:能力边界比演示更重要
根据 OpenAI 的官方文章,当前进展覆盖机械工程、电气工程和端到端系统设计。模型可以参与绘图、仿真设置、跨专业变更协调,并已在机器人和计算基础设施相关任务中使用。官方同时给出了几个有价值的量化信号:
- OpenAI 各硬件团队以 Token 计量的模型使用量,自 2 月以来增长到原来的 23 倍;
- BenchCAD 2.0 中,一个较新的内部模型平均得分为 0.875,GPT-6 Astra 在最高推理设置下为 0.594;
- Astra 参与设计的测试设备,在两名团队成员的业余项目中不到一周完成设计,代工厂不到一个月完成小批量原型;
- Chip Ganassi Racing 正在测试从三维扫描数据生成可编辑 CAD 模型和二维制造图的工作流;
- OpenAI 与马自达正在探索空气动力学、碰撞安全、造型和成本之间的多目标优化。
这些结果说明模型已经能完成一部分高价值工程任务,但官方也明确指出:当前系统并不总能考虑制造商限制、公差和装配细节,达到可投产状态仍需多轮评审与迭代。这个限制决定了工程智能体不能采用“生成文件后自动发布”的简单模式,而要采用约束驱动、仿真验证、人工签核的闭环。
二、工程智能体不是 CAD 聊天框,而是一条受控状态机
普通代码智能体的输出主要是文本和源代码;工程智能体的输出则可能变成实体零件、电路板和生产指令。错误的影响会从“测试失败”扩大到材料浪费、设备损坏,甚至人身安全。因此,系统应把每个设计对象看作一个有版本、有约束、有证据的工程状态,而不是一段可以随意覆盖的文件。
一套可落地的架构可以分为六层:
| 层级 | 职责 | 典型输入与输出 |
|---|---|---|
| 意图层 | 把自然语言需求拆成指标、约束和验收条件 | 载荷、尺寸、成本、材料、法规、交付时间 |
| 工程知识层 | 维护单位、材料库、零件库、标准与历史决策 | 材料牌号、公差标准、供应商能力、BOM |
| 工具适配层 | 把统一动作映射到 CAD、ECAD、CAE 和 PLM | 建模、网格划分、求解、出图、版本提交 |
| 执行编排层 | 管理计划、依赖、重试、超时与补偿 | 设计状态机、任务队列、工件版本 |
| 验证门禁层 | 执行几何、物理、制造与安全检查 | 干涉检查、FEA、DRC、DFM、规则报告 |
| 审计与签核层 | 记录证据并控制高风险动作 | 变更差异、仿真报告、审批人、发布版本 |
核心原则是:模型负责提出和修改方案,确定性工具负责计算和验证,工程师负责接受风险。模型不能用“我认为强度足够”替代求解器,也不能把渲染图看起来正确当作可制造性证据。
三、先定义工程数据契约,再接入任何工具
工程智能体最常见的失败并不是模型不会推理,而是数据在工具之间失真。例如需求写“壁厚至少 2 毫米”,CAD 工具使用米作为单位;仿真采用错误材料;或者模型修改了孔位,却没有触发装配干涉检查。解决办法是把需求、约束、工件和验证结果都结构化。
下面是一份最小设计任务契约。它不是某个厂商的专用格式,而是用于说明哪些信息必须在工具调用前固定下来:
{
"task_id": "enclosure-rev-c",
"objective": "为控制器设计可小批量加工的外壳",
"units": "mm",
"inputs": {
"pcb_step": "artifacts/pcb-rev-b.step",
"connector_map": "artifacts/connectors.json"
},
"constraints": [
{"name": "min_wall", "op": ">=", "value": 2.0, "unit": "mm"},
{"name": "max_mass", "op": "<=", "value": 420, "unit": "g"},
{"name": "assembly_clearance", "op": ">=", "value": 0.5, "unit": "mm"}
],
"required_checks": [
"geometry_valid",
"interference_free",
"thermal_pass",
"dfm_pass"
],
"approval_policy": {
"prototype_export": "human",
"release_to_manufacturing": "two_person"
}
}
契约至少要解决五件事:统一单位、固定输入版本、显式列出硬约束、声明必须完成的验证、定义谁能批准外部发布。所有工具结果都应引用输入工件的内容哈希;否则旧仿真报告可能被错误地绑定到新模型。
四、工具适配:让模型调用“工程动作”,而不是点击坐标
如果智能体通过屏幕坐标操作 CAD,界面布局一变就会失效,也很难审计。更可靠的做法是为每个工程软件建立窄接口,优先调用脚本、插件 API 或命令行,只暴露业务上可理解的动作。
from typing import Protocol
class CadAdapter(Protocol):
def import_step(self, artifact_id: str) -> str: ...
def set_parameter(self, model_id: str, name: str, value: float) -> str: ...
def rebuild(self, model_id: str) -> dict: ...
def check_interference(self, assembly_id: str) -> dict: ...
def export_step(self, model_id: str, target: str) -> dict: ...
class SimulationAdapter(Protocol):
def create_case(self, model_id: str, material_id: str) -> str: ...
def apply_load_case(self, case_id: str, load_case: dict) -> None: ...
def solve(self, case_id: str) -> dict: ...
def summarize(self, result_id: str) -> dict: ...
每个动作都应满足三个要求:输入可验证、输出结构化、影响范围可预估。比如 set_parameter 只能修改已注册参数,不能接受任意脚本;export_step 是外部副作用,应在导出前检查门禁;求解器结果必须返回网格质量、收敛状态和输入版本,而不仅是最大应力数值。
4.1 工具权限要按工程阶段收缩
概念设计阶段可以允许创建草模和快速仿真;详细设计阶段必须锁定材料和接口;发布阶段只允许读取已签核版本并生成制造包。不要让一个会话同时拥有“修改模型”和“发布生产文件”的无条件权限。
| 动作 | 默认策略 | 原因 |
|---|---|---|
| 读取模型与标准 | 自动允许 | 只读且可审计 |
| 创建分支版本 | 自动允许 | 可回滚,不覆盖基线 |
| 修改参数与运行仿真 | 限定范围自动允许 | 成本可控,不直接外发 |
| 覆盖正式图纸 | 人工确认 | 可能影响下游团队 |
| 发布到 PLM 或发送供应商 | 双人签核 | 产生外部与制造副作用 |
五、从需求到制造包:一个完整闭环如何运行
推荐把任务拆成九个状态:需求归一化、计划、草模、几何验证、物理仿真、可制造性审查、人工评审、试制发布、实物反馈。状态只能在证据齐全时前进,失败则回到产生问题的上游节点,而不是让模型在同一提示词中反复“想一想”。
def advance(design, tools, policy):
assert design.units in {"mm", "inch"}
assert design.input_hashes_are_pinned()
candidate = tools.cad.create_branch(design.baseline)
tools.cad.apply_parameters(candidate, design.parameters)
geometry = tools.cad.validate_geometry(candidate)
if not geometry["passed"]:
return design.revise("geometry", geometry)
simulation = tools.cae.run_required_cases(
model=candidate,
material=design.material,
load_cases=design.load_cases,
)
if not simulation["converged"]:
return design.revise("simulation_setup", simulation)
if not simulation["all_limits_passed"]:
return design.revise("design", simulation)
dfm = tools.manufacturing.review(candidate, design.process)
if not dfm["passed"]:
return design.revise("manufacturability", dfm)
evidence = design.bundle(geometry, simulation, dfm)
policy.require_human_approval("prototype_export", evidence)
return tools.plm.publish_prototype(candidate, evidence)
这里最关键的不是 Python 语法,而是控制流:几何检查、求解器收敛、物理指标和 DFM 依次成为门禁;任何一步失败都产生可解释的修订任务;发布动作只能消费已经绑定版本的证据包。
六、三维扫描到可编辑 CAD:不要把点云重建当作一步
OpenAI 与 Chip Ganassi Racing 测试的场景很典型:手里有旧零件或扫描数据,但缺少原始设计文件。工业落地时,这条链路至少包含数据清洗、坐标对齐、几何分割、特征识别、参数化重建、误差比较和制造图生成。
- 扫描预处理:删除离群点、填补小孔洞、统一坐标系并标记扫描盲区;
- 几何分割:识别平面、圆柱、孔、倒角、自由曲面和重复特征;
- 设计意图恢复:把近似圆柱恢复为带公称直径的参数特征,把对称和阵列关系写入模型;
- 偏差验证:比较重建模型与点云,输出最大偏差、均方误差和局部热力图;
- 工程补全:添加材料、基准、公差、表面处理和无法从扫描中推断的内部要求;
- 人工签核:由工程师确认设计意图,而不只是几何外形相似。
扫描数据反映的是“这个实物现在长什么样”,不等于“设计原本要求什么”。磨损、变形和制造偏差都可能被模型错误地固化到新图纸中。因此,偏差最小不是唯一目标,还要结合标准件目录、配合关系、受力方向和制造工艺恢复设计意图。
七、仿真门禁:模型负责配置建议,求解器负责物理结论
AI 可以帮助选择网格策略、识别边界条件和解释结果,但不能跳过求解器的确定性检查。一个可信的仿真结果至少要绑定以下元数据:
{
"model_hash": "sha256:...",
"solver": "approved-solver",
"solver_version": "pinned-version",
"material_revision": "aluminum-6061-t6-r4",
"mesh": {
"element_count": 1285400,
"quality_min": 0.31,
"convergence_study": true
},
"load_case": "drop-test-z",
"converged": true,
"limits": {
"max_stress_mpa": 168.2,
"allowable_stress_mpa": 240.0,
"max_displacement_mm": 0.72
}
}
如果缺少材料版本、边界条件、收敛状态或网格质量,系统应把结果标记为“不可用于签核”。对于安全关键件,还要执行网格无关性分析、不同载荷组合、失效模式分析和独立复核。智能体可以提高设置与迭代速度,但不应降低验证等级。
八、PCB 与机电协同:把跨专业变更变成一等公民
Astra 测试设备同时涉及外壳、PCB、固件和软件,这类机电一体化任务的难点通常不是单个专业,而是变更传播。连接器移动 3 毫米,可能同时影响外壳开孔、线束弯折半径、EMI、散热路径、装配工具空间和固件引脚映射。
因此系统应建立跨专业依赖图。例如,connector.J3.position 变化后自动触发:
- ECAD 的电气规则检查与走线复核;
- MCAD 的开孔位置、干涉和装配空间检查;
- 线束长度与弯折半径校验;
- 散热和信号完整性相关仿真;
- BOM、二维图纸和测试工装的影响分析。
模型适合总结“这次变更可能影响什么”,依赖图负责保证“必须检查的项目一个都不少”。两者结合,才能避免把跨专业经验全部寄托在某位资深工程师的记忆里。
九、如何评测工程智能体:不能只看最终模型像不像
BenchCAD 2.0 的进展说明三维重建和电路连接识别正在快速提升,但企业内部评测还需要覆盖完整生命周期。建议至少建立五类指标:
| 维度 | 示例指标 | 常见误区 |
|---|---|---|
| 几何正确性 | 尺寸误差、拓扑有效、装配干涉 | 只看渲染图 |
| 物理正确性 | 收敛率、安全系数、热与流体指标 | 只看单次求解数值 |
| 可制造性 | 最小壁厚、刀具可达、拔模、板厂规则 | 能建模就等于能生产 |
| 流程可靠性 | 重试率、人工接管率、错误恢复时间 | 只统计成功样例 |
| 业务价值 | 迭代周期、一次试制通过率、返工成本 | 用 Token 数替代产出 |
评测集要包含真实失败样例:缺失单位、过期材料、错误坐标系、扫描盲区、求解器不收敛、供应商能力变化和冲突的验收条件。若只给模型干净题目,线上系统会在最需要帮助的异常场景中失效。
十、生产部署的四条安全底线
10.1 任何制造发布都必须有版本化证据包
证据包应包含需求版本、模型哈希、参数差异、全部验证报告、未解决风险和审批记录。制造包与证据包必须一一对应,禁止“图纸更新了,报告沿用旧版本”。
10.2 生成与批准必须职责分离
提出修改的智能体不能同时批准发布。高风险项目应由独立验证流程重新读取产物,而不是信任生成过程的自我总结。
10.3 外部资料按不可信输入处理
供应商 PDF、工单、邮件和网页都可能包含错误甚至恶意指令。解析内容的智能体不应直接拥有发布、外发和凭证读取权限;从文档提取的参数必须经过模式校验和来源标注。
10.4 失败时停止,不做盲目重放
CAD 保存、PLM 提交或供应商上传在网络中断时可能处于“结果未知”状态。系统应先读取目标系统的实时版本和业务状态,再决定恢复或补偿,不能直接重复发布。
十一、从小场景开始:推荐的落地顺序
企业不需要一开始就追求“全自动设计整机”。更稳妥的路径是逐步扩大闭环:
- 先做只读助手:检索标准、解释旧图纸、汇总仿真结果;
- 再做可回滚修改:在分支版本中调整参数、补图框、生成对比报告;
- 接入确定性验证:干涉、DRC、FEA、DFM 形成自动门禁;
- 最后连接 PLM 和供应商,但保留人工签核与职责分离。
优先选择高频、边界清晰、验证成本低的任务,例如标准支架变型、旧零件参数化重建、二维出图和仿真批处理。积累足够的失败样例和审计数据后,再扩展到跨专业优化与制造发布。
结语
OpenAI 最新披露的意义,不只是模型能操作 CAD,而是 AI 正在进入“设计—仿真—制造—反馈”的实体工程循环。这个循环比代码生成更依赖单位、材料、公差、版本、求解器和责任边界。
真正可用的工程智能体,应该把自然语言创造力放在约束系统之内:模型提出候选方案,专业工具给出可复现证据,状态机阻止跳步,工程师对风险做最终判断。这样,AI 才能把工程师从大量重复操作中释放出来,同时不把制造质量交给概率。
参考资料
- OpenAI:Accelerating engineering for the physical world
- OpenAI:GPT-6 Astra
- OpenAI 与 Chip Ganassi Racing 合作案例
资料核对时间:2026 年 11 月 10 日。工程软件、模型能力和开放范围可能持续更新,生产使用前请以官方最新文档、实际工具版本和组织内工程规范为准。
更多推荐


所有评论(0)