跳到主要内容

Agent 工作流

CadFlow 为编码智能体提供确定性的执行和反馈层,同时不把 SDK 绑定到特定模型供应商或编排框架。

任务 → Python 建模程序 → 原生几何 → 结构化证据
↑ ↓
└────────── 有针对性的源码修复 ────┘

优先使用显式公共边界

Agent 编写的程序应:

  • 使用 import cadflow as cad
  • cad.Modelcad.Graph 开始;
  • 通过公共领域模块完成高层工作流;
  • 避免 cadflow._engine、OCP/OpenCascade 对象、私有句柄和直接加载动态库;
  • 显式写出参数、单位、假设和输出路径。

这样生成的程序便于审查,也能适应原生迁移。

操作前发现能力

with cad.Model() as model:
capabilities = model.capabilities()
print(capabilities)

报告会列出前端领域、原生操作、选择支持和单位策略。Agent 无需探查私有实现即可调整计划。

预检并执行操作

with cad.Model() as model:
base = model.box(80, 50, 8)
outcome = model.apply("shell", base, thickness=-2.0, faces=[1])

if not outcome.report.ok:
print(outcome.report.to_dict())
else:
print(outcome.shape.describe())

OperationReport 包含稳定字段:operation、status、ok、output、parameters 和 diagnostics。每条 Diagnostic 包含 severity、code、message、可选 hint 和可选结构化 data。

修复逻辑应根据 Diagnostic Code 分支,而不是匹配异常字符串。

为每项交付主张提供证据

有效的 Agent 循环会在关键构造步骤后记录证据:

evidence = part.describe()
validation = part.validate().to_dict()

assert validation["ok"]
assert evidence["topology"]["solids"] == 1
assert evidence["volume"] > 0

最终输出还应验证文件存在、对关键交换格式执行往返测试、渲染视图,并把报告保存在 CAD 产物旁。

只加载当前需要的工作流 Skill

CadFlow 仓库提供按任务划分的 CAD Skills:

Skill适用场景
cadflow-model-part刚性机械零件
cadflow-flexible-model静态布料、薄片、膜、服装和薄壳
cadflow-step-brepSTEP/BREP 检查、对比和重建
cadflow-validate-export最终几何、重放与产物验证
cadflow-contact-simulationFace 属性、接触定律、FEA 交接与交接包

这些 Skill 采用渐进式披露:先加载工作流,只有在需要确切操作签名或文件契约时才读取对应 API 参考。

CadFlow 与 CadFlowAgent

CadFlowAgent 是独立上层应用,提供 LLM Harness、项目工作区、执行与修复循环、浏览器 Viewer 和运行记录。CadFlow 仍负责确定性几何、测量、交换和 Scene 编译。

CadFlow 仓库中的实验性 agent_dsl/ 是紧凑的有状态指令封装,不随核心发行版安装,也不会改变公共 API。