2026-09-07 21:04:02 +08:00

34 KiB
Raw Blame History

产品成本评估:CAD / BOM / 成本盲测台账

不可违反的验收原则

  • 估价器只读取用户提供的图片、尺寸、材料与工艺确认;被测公司的 SKU、BOM、单价和总成本在报价冻结前不可读取。
  • 公司 BOM 只作为报价后的答案键和公共物料价格统计,不可用同款 SKU 反向覆盖本次部件数量、尺寸或总价。
  • 数据划分必须以 SPU 为组,避免同一产品不同 SKU 分别落入校准集和盲测集。
  • 每次模型或规则升级都必须重放固定盲测集,并新增至少一个此前未见的结构族样本。
  • 目标同时满足:必需部件数量完全一致、不得出现不存在的部件、关键尺寸在确认公差内、连接工艺与材料相容、总成本误差绝对值不超过 5%。总价接近但 BOM 错误仍判失败。

统一评测指标

维度 硬性指标 失败示例
输入质量 每张图有角色、质量、置信度、替换关系;缺图只补传该角色 用附件数量代替角色验收
结构 BOM 必需部件 role + side + instance 数量完全一致 两个抽屉只有一组左右帮板
几何 整体外包围盒按确认尺寸;板件厚度和轴向语义一致 门板宽高互换、薄背板被统一加厚
拓扑 无非法重叠、悬空、越界;门/抽屉/层板与开口匹配 移门门扇不覆盖门洞
制造特征 孔、槽、封边、焊点均有几何证据和唯一成本驱动 零孔槽仍计 CNC;孔位和人工重复计费
五金 由连接图和运动副反推规格、数量及孔模板 移门误加铰链;五金按部件数套默认包
成本 总成本相对公司答案键绝对误差 ≤5%,并报告分类误差 用公司同款总价或 BOM 行直接修正输出
图纸 特征表可分页且无截断;低置信特征必须阻止正式发布 特征 24 条但图纸只显示 23 条

已完成且不得回退的通用修复

  • 图片按正视、侧视、开门/内部、尺寸图逐张验收,支持单张补传和替换。
  • CAD 后再次使用原始多视图与组装/炸开渲染图复核;AI 意见必须经过尺寸账本和确定性几何门裁决。
  • 用户确认的拓扑和尺寸在统一板厚后重新应用,防止通用柜体重排覆盖分段侧板。
  • 移门采用产品轴向尺寸账本,禁止根据整体比例猜测并交换门板宽高。
  • 公司历史 BOM 在盲测估价中关闭;盲测完成后再加载答案键。
  • 零孔槽不计 CNC、成品饰面板不重复计贴面/油漆、包装材料损耗固定为 2%,包材与人工使用不同成本行。

固定回归样本

样本 已验证事实 当前结果 尚未证明
花城 1200 推拉餐柜 1200×400×850,双移门、双抽屉;其他结构仍须按原始资料核验 旧显式结构回放曾有23个实例;不等于首次读图或盲测通过 与该款完整公司 BOM 的逐行结构/成本误差 ≤5%
花城模块书架(旧称480,宽度答案键待核实) 高1600、下柜深300可由参考图验证;线稿48是下模块竖向高度,不是整体宽 旧“480×300×1600、6分段侧板已通过”仅属显式约束回放,不能作为盲测正确证据 图中真正整体外宽、合成参考图与线稿的背板/侧板接缝一致性、逐件结构与成本
SZ001514N886V01 板木金属办公桌 公司答案键 123.51 元 2026-09-04 旧盲测为 311.48 元(+152.19%) 必须用当前版本重新跑;旧结果不可作为已修复证据

已否决方案(避免重复)

  • 只依赖单次多模态模型直接输出 CAD/BOM:缺少尺寸和拓扑约束,结果不可稳定制造。
  • 只比较渲染图外观:可以掩盖重复板、缺失抽屉帮板、错误孔槽和错误五金。
  • 为单一产品硬编码数量/尺寸:只能让回归样本通过,无法证明未来产品泛化。
  • 为达到 5% 直接读取公司同款 BOM 或总成本:这是答案泄漏,不是成本评估能力。
  • 只以总价误差验收:不同类别高低相互抵消时会产生“价格正确、结构错误”的假通过。

下一阶段顺序

  1. 从 21,695 个公司 SKU 中按结构族抽取有完整图片、尺寸图和成本答案键的 SPU 级盲测集。
  2. 将识别输出固定为参数化形状程序:部件、轴向尺寸、装配关系、运动副、连接面和制造特征。
  3. 增加二维投影差、轮廓差、遮挡次序和多视图一致性评分;低分先由AI针对原图疑点重读、修正并复核,确实无资料或仍冲突时才集中询问用户。
  4. 补齐五金供应商模板与生产图分页,只有通过自动门和人工签批才能从 drawing_draft 升级。
  5. 每轮输出逐样本指标、宏平均、最差样本与失败原因;未达到全部门槛不得标记完成。

2026-09-07 v62 新增通用规则

  • 当前用户消息中明确标注的整体/外形/成品尺寸,是本轮产品外包围的最高优先级证据;尺寸图二次转录不得用相邻规格或多规格表覆盖。
  • “桌面、台面、tabletop、desktop、顶板”统一映射为顶面角色,尺寸表只允许更新同一制造部件,不得额外生成重复顶板。
  • 只有用户明确外包围契约生效时,才对越界板件执行硬约束;不得把这一约束错误施加到独立型材下料长度等通用 BOM 数据。
  • 生产工艺特征表超过单页容量时必须续页,不能截断,也不能因版面溢出把已完整的工艺数据判为生产阻塞。

2026-09-07 v63 新增通用规则

  • “左右各 N 块层板/搁板”必须解释为总数 2×N;后续纠正语句里的单侧数量不得把已经确认的总数降为 N,只有“共/合计/改为/实际只有”等明确总量修正可以覆盖。
  • 抽屉后帮板必须封闭在左右帮板的尾端,不得简单贴到柜体后沿;抽屉深度小于柜深时仍要保持箱体闭合。
  • 多模态复核对“抽屉穿出柜体”的判断必须与CAD实例的六面边界逐轴核验;只有所有抽屉箱体实例都处于产品外包围内才允许反证该说法。
  • 仅凭抽屉部件深度小于柜深,不能反证位置错位、装配冲突、干涉或重叠;这类空间问题必须保留给确定性几何门或用户确认。

2026-09-07 v64 新增通用规则

  • 报价完成后必须把“实际用于生成CAD和计价”的分析版本写回项目;不得让会话检查点继续保存统一板厚前的旧BOM,造成已交付CAD为12mm而查询结果仍显示10mm。
  • 抽屉面板高度在多视图重读后发生变化时,抽屉间竖隔板必须随面板区高度重新计算;旧高度不得把隔板推到产品外包围之外并反复触发CAD复核。
  • “底板承托/前板位置”类AI复核项只有在五件抽屉箱体逐轴闭合、全部处于产品边界内且前/左/右/后四面均存在有效底板槽时才可确定性反证;缺任一条件都必须继续阻断。

2026-09-07 v65 新增通用规则

  • 带尺寸箭头的侧面/三分之四视图,只要模型确认展示产品前后深度,不得仅因存在标注而改判为尺寸图;否则会占用尺寸角色并错误索要用户重复补传侧视图。
  • 用户同轮已明确完整外包围时,详细图若提供了至少两类内部/抽屉/门片尺寸,不得只因缺少某个重复的整体尺寸标签而判废。
  • 真实流程验收必须绑定本次附件创建的项目,且最终响应和项目阶段都为成功;禁止按产品名回退读取历史已完成项目制造假阳性。
  • 已确认的模块化侧板在CAD复核重识别后必须按段恢复,不能退化成两块整高侧板;带R角的侧板轮廓不得再额外生成“圆角装饰条”重复部件。
  • 上部层板比下柜窄的阶梯式书架,分段侧板的中/上段必须按层板内宽居中内收;不得把所有分段仍放在下柜最外侧。

2026-09-07 v67-v68 新增通用规则

  • 中文结构约束不能依赖单一书面句式:“每侧分3段”“每侧分为三段”“每侧分成3段”必须归一到同一拓扑;“底部仅2个上下抽屉”优先于同句中“上部5块层板”,不得被邻近的“左右侧板”误判成顶部并排抽屉。
  • 未给出每段高度但已有下部功能区高度和产品总高时,可按已知下段高度与剩余净高等分生成带来源的CAD估算;这些数值必须保留估算标签并进入多视图复核,不能伪装为图片实测。
  • 上传图片时一次性授权“未标注内部尺寸按CAD装配合理值预估”后,系统应自动补齐最小承重外壳并进入CAD复核;不得再次逐项索要抽屉帮板或底板尺寸。整体长宽高、门型等仍无法从图片确定且显著影响成本时才询问。
  • 花城样品改为盲测:上传文件名中不写产品类型、尺寸、门型,提示词不提供标准BOM;标准结构只在完成后评分。人工补充答案和AI/CAD自修正必须分别计数,禁止把用户补充后的结果冒充首次读图准确率。
  • Zoo/Zookeeper公开方法的可复用核心不是“让通用模型一次猜CAD”,而是严格上下文的代理循环:计划→执行参数化几何→调用CAD内核→计算/多视图快照观察→修改→再次验证。当前项目对应实现必须把部件图、装配图、爆炸图、尺寸账本和确定性几何检查放在同一复核循环内。
  • 同行家具拆单软件的共同做法是参数化模块/板件、连接件自动生成孔位、三维爆炸检查、孔槽和工艺规则审单。图片识别输出因此必须升级为装配图谱:部件实例、接触面、断开边、运动副、连接方法、孔槽模板和证据置信度;仅有板件长宽厚列表不足以生成生产CAD。

2026-09-07 v69-v71 新增通用规则

  • CAD复核发现高置信数量、无门/有门、抽屉排列、层板布局、侧板分段或R角差异时,只允许将多视角一致结论转换为可审计的拓扑补丁;禁止丢弃当前BOM后让模型整份自由重画。
  • 带尺寸标注的轴测/透视图仍可承担第三视角。若宽泛分类器把两张轴测图都判成尺寸图,必须再由只看像素的AI裁决哪张证明了三维深度,并把另一张保留为尺寸图,不得要求用户重复上传已有证据。
  • CAD复核输入采用带asset_id的六图拼图,并只额外发送一张高分辨率尺寸图;禁止把4张原图、2张CAD和拼图全部重复发送。
  • CAD复核单次模型请求默认硬超时180秒,格式重试由外层统一控制;禁止“内层3次×外层2次×360秒”的嵌套等待。
  • “请AI根据本轮复核自行修复”属于执行指令,不属于用户提供的结构事实;不得仅因更新了来源字段就跳过新的AI差异补丁。只有包含明确数量、尺寸、门型或有无部件的消息才可写成用户拓扑确认。

2026-09-07 v77 审计纠正与当前真实状态

本轮用户交互原则

用户强调提升AI自身读图理解能力,而不是将大量判断丢给用户。因此流程应为:原图多视角理解 → 独立尺寸箭头复读 → CAD/BOM几何检查 → 原图与CAD差异复核 → 有证据的自动修复(有界重试)。仍不可见且影响成本的关键条件才集中询问一次;获得预估授权的隐蔽尺寸保留估算来源,不得伪装实测。

必须纠正的历史验收错误

  • 生产 ai_solid_wood_cost_engine() 缓存实例,覆盖磁盘引擎不意味着运行时已更新。2026-09-07本轮核查主进程仍为PID3902140,启动时间09:20:37;v72–v76在磁盘的版本不能当作Chat API实际执行版本。
  • 已去除读图提示中与书架样本完全相同的 [480,554,554]、[300,200,200] 和餐柜门片数值。这种提示包含答案的测试不能证明泛化。
  • 测试脚本不再自动替用户回复“柜深40cm、移门54cm、无背板”等产品事实;附件名称附加本次会话唯一标记,禁止误取历史项目。运行时版本从实际报价summary读取,不能取脚本从磁盘导入的常量。
  • 书架“宽480mm”答案键被撤销并标记待核实,不以另一个猜测替代。完整成本5%目标仍未通过。

通用代码修正(候选代码,尚不能声称线上验收完成)

  • 尺寸独立转录增加数值、单位、整体/局部/模块范围和标注两端;没有BOM表的尺寸图也可复读箭头。不接受无证据的第二次整体三元组覆盖前次数据。
  • 表格读图遗漏尺寸箭头字段时,发起更窄的AI复读,仍提供原始多视角作方向/单位参考;额外复读失败不丢掉已经成功的零件表。
  • 尺寸值与证据原子恢复;没有拓扑约束也保留明确用户尺寸或独立标注依据,不再将旧证据套在新数值上。
  • 去除“宽深刚好互换就直接忽略问题”的捷径;必须有明确轴向证据。读图同时声称某轴已标注和未标注时按冲突处理,不盲目接受。
  • AI修复只采信原始图,CAD渲染图不得给自身投票,同一asset_id不得重复计票;AI拓扑不再屏蔽之后的反证。
  • AI分段/装配坐标不再标作用户确认。几何规范化保存结构化 dimension_kind,防止把“整体深度减主体板厚”这条说明里的“厚”误当成厚度值,导致多轮规范化将20mm板厚变成480mm。
  • 当用户同轮明确了外形尺寸,尺寸表行先保留原数值,等用户外形约束生效后再做几何修正,避免中间态先按旧外形错误裁切。

实测记录:不得把成功响应当作识别正确

  • 118项完整单测通过(213.460秒);v77专项检查扩展到11项并通过,其中两项随后追加验证原始四视图传递与附加读图失败保留有效表格。不将重叠的专项测试累加成额外全流程次数。
  • /tmp/cost-source-probe-v77.json:qwen-vl-plus表格模式对两款图都缺少新尺寸箭头字段,并出现不合理的板件/五金转录;不能作为合格读图。
  • /tmp/cost-source-arrows-v77-plus.json:缩小任务为尺寸箭头后,两款均未返回完整可解析JSON。
  • /tmp/cost-source-arrows-v77-qwen3.json:qwen3-vl-plus输出格式合格,但书架把模块48错误写为整体深、30写为宽且毫米/厘米错;餐柜仍有“已给高度又称缺高度”的矛盾。
  • /tmp/cost-source-arrows-v77-max.json:qwen-vl-max仍混淆局部方向和单位,不足以直接替换生产模型。
  • /tmp/cost-source-arrows-v77-qwen3-multiview.json:四张原图都送入后可读出侧图1600mm和300mm,但仍自相矛盾地输出160mm整体高和错误整体宽;不能据此宣称多图已解决。
  • 上述均为隔离目录中的直接模型探针,不是完整Chat API验收,没有修改真实用户会话、没有录入业务单据。
  • /tmp/cost-source-arrows-v77-qwen3-thinking.json:qwen3-vl-plus四图+高分辨率+思考4096仍把书架高/宽报160mm,失败,不能以增加思考预算代替检验。
  • /tmp/cost-source-arrows-v77-qwen35-thinking.json:qwen3.5-plus四图+高分辨率+思考4096读出整体高160cm、深30cm、48为下模块高度,比此前改善;仍将抽屉面37.6误作深度并把39.8直接认作整体外宽,暂不作为生产模型切换依据。
  • /tmp/cost-source-arrows-v77-qwen35-frame.json:增加“先以正面长边、侧边、竖边建立投影方向,再分类尺寸线”的通用步骤后,qwen3.5-plus将书架37.6正确分类为抽屉面宽X,48/55.4分类模块高度Z,160cm/30cm分类整体高深;餐柜120/40/85cm均正确。书架39.8是否属于成品最大外宽仍待独立资料核验;这只是标注子任务改善,整份BOM测试继续。
  • /tmp/cost-full-source-analysis-v77-qwen35.json:直接让强模型执行原有整份BOM长提示,书架首个请求180秒超时(不以加大超时继续掩盖任务过载)。转测独立“结构与数量”识别,再与尺寸证据合并的方案。
  • 同一完整读图探针的餐柜返回成功,但错误把跨越两个抽屉的1164mm承托隔板命名为单个“抽屉底板”,只再补一个544mm底板,并遗漏内部层板。因此“返回成功/structure_questions=[]”绝不等于BOM正确。
  • /tmp/cost-structure-v77-qwen35.json:只问结构与数量时,餐柜识别出2抽屉、2移门、2内部层板,并区分drawer_base(柜体横隔板)与两个drawer_bottom;但对背板仍与既定答案键冲突。书架能识别两只上下抽屉及完整左右后底,但侧板仅识别为上下两段而非尺寸链中的三段,仍失败。
  • 下一轮需修复的确定性代码问题:_ensure_complete_drawer_boxes无条件按抽屉总数分摊柜宽,没有传入横向/纵向排列;正确的上下抽屉面宽可能被程序缩窄。需要将图像结构证据的drawer_layout贯通初次规范化、抽屉补件和实例装配,不能靠后续用户纠正才恢复。
  • 上述报告已下载至仓库outputs/product-cost-v77/保存(最后两个报告以最终完成版本为准)。本轮没有变更生产模型配置,没有重启生产服务,没有宣称两款Chat API/CAD/成本全流程已通过。
  • 高分辨率和视觉推理模式继续作隔离对比。参考阿里云官方参数说明:视觉理解、视觉推理。仅文档宣称更强或格式通过不能决定上线。

下一步验收条件

先使原图标注读数、方向、单位和范围在无答案提示下稳定一致;必要时增加标注端点/产品投影轴的像素几何验证。确认原始资料和答案键相互匹配,再在真实运行时版本上做两款Chat API闭环,冻结报价后才查公司BOM对比。服务器有用户运行时不重启,不启动无人值守的重启守候命令。

2026-09-07 v78及结构图谱算法转向

  • 用户再次明确:不要做单品/单测试补丁,要提高未来产品的通用识别、结构与连接能力。后续不继续扩大依赖中文名字的后处理链;新架构与边界见STRUCTURE_GRAPH_UPGRADE.md。
  • v78候选修正抽屉排列贯通、保留真实抽面宽厚高、区分有结构用途证据的固定承托板与移动抽底、箱体跟随抽面位置。另修初读尺寸证据中的“总宽减板厚”被同时当成厚度的词匹配错误。均未部署到生产。
  • 124项完整回归在最后的抽面跟随、首次语义匹配修正之前通过,223.882秒;随后6项v78专项回归通过,11.301秒。不得混写为最终全量通过。
  • outputs/product-cost-v77/cost-full-source-analysis-v78-qwen35.json两款实图模型探针完成,但两款均不合格。书架278.32秒:侧板仍连续整板、部分板件基于错误旧宽300mm推算;餐柜310.61秒:抽屉中竖板/下横档被旧名称分类误当抽面并挤掉真正抽面,内部层板也缺失。不能因请求completed就标记验收通过。
  • v78探针在最后两个本地语义/定位补丁之前启动,远程临时代码未中途更换;报告不能代表这些后续修改已经通过实图验证。
  • 新增独立structure_graph.py:类型化参数/单位/派生算式、显式实例与总成、连接面、图谱哈希、实例生成BOM、依赖联动、重复实体/越界/接触错误。没有SKU或产品名称分支。7项测试通过,其中对100组随机尺寸及修改后依赖做验证;只是编译器基础验证,不是100款家具验收。
  • probe_structure_graph.py开始隔离原图→图谱→CAD→多模态复核试验,最多两轮。不调用公司BOM、不修改业务会话;试验运行结果必须单独记录,不预先宣称通过。当前只支持正交板件,完整连接孔槽与第三方Chat API仍未迁移。
  • 本轮生产检查PID3902140、active,最近只读探针各忙碌计数均为0;没有重启生产服务、没有修改线上模型配置。
  • 首轮新图谱试验结果已保存outputs/product-cost-graph-v1/report.json:书架两轮74.47/69.73秒,仍有8项量纲/引用错误;餐柜两轮81.88/72秒,仍有11项连接几何错误,第二轮图谱SHA256完全未变。两款都在编译门禁停下,未生成本轮CAD预览,更未完成Chat API/报价验收。不能宣称自我修正已有效。
  • 核查 _request_model_json 会完整序列化本轮body发送,未见本地按首轮内容缓存响应的机制。图谱第二轮确实携带上一图谱及完整feedback;是否远端网关/模型有效利用反馈尚未独立证明,不能把相同响应直接归咎第三方。
  • 追加通用连接连通性检查:模型不能通过删光连接关系让漂浮板件逃过检查;8项图谱测试通过,其中100组参数变换仍通过。该追加检查在远端首轮试验启动后本地完成,未混记进原报告。
  • 最新局部回归:20项抽屉相关检查通过(36.714秒);11项v77检查通过(20.142秒)。最终当前全量尚未重跑。
  • 下一步不原样重复整图生成:先增强反馈为具体算式/轴/接触面;把能构建的失败图谱渲染为明确标记的诊断草图供AI看错位(当前脚本只有编译全通过才渲染,导致几何失败时反而缺少视觉反馈),再实施局部图谱修改/约束求解。诊断模型不能交付为通过产品。独立箭头转录应输入参数证据图,避免主生成模型再次自由猜整个外形。仍不得引用公司答案矫正生成。

2026-09-07 v79 AI优先原图裁决(候选,未上线)

  • 用户要求AI承担主要图像理解,不把低置信字段逐项转给用户。新策略固定为:逐图结构读数、尺寸箭头专项读数、跨图裁决、CAD四视图反向复核和局部图谱修补;只有所有原图确实不可见且会显著改变制造/成本的残余项,才集中询问一次。
  • view_findings现在逐张记录完整产品可见性、抽屉/门/层板计数、抽屉排列、侧边可见度、侧板段数和归一化接缝位置。单张图声称“侧板连续”不再能直接定案;两张有效原图的段数和接缝位置需相互支持,否则进入AI局部复读,而不是立即要求用户判断。
  • 尺寸箭头专项读取会生成外部dimension_ledger。编译器直接比较CAD的X/Y/Z外包围与账本,阻止把侧视图300mm深度静默写成总宽。冲突或低置信箭头不进入强制账本,不会伪装成已确认尺寸。
  • 结构图谱诊断CAD新增正面、右侧、俯视、等轴四个视图供多模态AI复核;不再只给单张等轴图。第二轮仍只允许局部JSON Patch,并保存每条修改审计。
  • v2书架图谱实测未通过:第一轮14项编译问题,第二轮降为6项;AI已自动补齐层板连接并识别抽屉需有4块侧帮、4块前后帮、2块底板,但只增加了零件定义,没有增加对应物理实例,CAD仍缺抽屉箱体。更严重的是将300mm深度误作宽度。此报告保存于outputs/product-cost-graph-v2/book-report.json,不能上线。
  • 新增14项图谱单测通过(0.041秒),另有2项源视图裁决专项通过;这只证明门禁/裁决代码,不代表实图识别通过。v79完整回归和新实图探针仍需继续。

v79诊断失败与约束求解转向

  • outputs/product-cost-graph-v3b/book-report.json确认旧路线不可接受:尺寸专项复读超时导致账本为空,CAD仍为300×300×1600mm;第一轮23项问题,第二轮反而增加到30项。虽补了抽屉实例,但坐标、连接面和总成约束更差;四视图已直接暴露出“有零件但不是产品”。该版未部署。
  • 根因改判为表示层错误:不再让多模态模型直接猜整套XYZ坐标与固定连接面。同一总成内的固定/支撑连接改为根据实体AABB正面积接触自动生成;抽屉、门等有间隙的跨总成运动关系仍须显式声明。
  • 新增anchored_axes_v1定位求解:AI只能输出每轴的靠边/居中/对齐锚点与偏移,程序计算最终坐标。缺轴、依赖成环、越界、悬空、重复实体都阻断,不做自动挪动遮盖。
  • 候选编译器当前19项单测通过;包含100组随机尺寸依赖变换、锚点定位参数联动、依赖成环、真实接触和跨总成隔离。当前全量148项回归通过(235.761秒)。这仍只是编译器回归,新实图闭环未通过前不上线。

2026-09-07 v80 总成局部坐标与实体干涉门(候选,未上线)

  • v7隔离STEP现场证明旧锚点仍不够:上部侧板虽然属于上部模块,却从产品Z=0开始,与下部侧板重叠;部分层板按产品总宽生成并穿过侧板;抽屉后帮、底板和侧帮也存在正体积交叠。该模型不可制造,未部署。
  • 每个总成新增可参数化bounds_mm,实例可把X/Y/Z锚定到所属总成。总成边界必须落在产品外形内,并与成员实体并集的实际包围盒一致;上层模块不能再复制整件产品Z范围。
  • 新增三类硬阻断:部件超出所属总成、两个实体发生正体积穿插、滑动总成在非运动轴上超出导向总成。共享面接触仍允许,不能用大公差或虚大总成隐藏错误。
  • 图谱修复提示删除了anchored_axes_v1下修改不存在position_mm的错误示例;局部修复只能改总成边界、零件尺寸、锚点或偏移。
  • 当前结构图谱24项测试、全链路156项回归全部通过(237.383秒)。这些测试证明错误门禁和既有功能未回退,不代表花城实图已经通过。
  • 首次v8隔离执行因临时SSH未继承模型密钥,在尺寸证据门停止且未生成CAD;第二次携带现有服务环境后SSH连接中断,未形成阶段检查点。随后改用独立临时systemd探针保证模型请求不随SSH断线,不触碰生产服务。

2026-09-07 v83 尺寸端点裁决与 CAD-Coder 论文复核(候选,未上线)

  • 旧生产任务 wood_20260907103319_7449b0d8 的源尺寸图明确存在 39.8cm 整体宽、30cm 深、160cm 高;旧CAD却以 300×480×1600mm 生成,且以全高侧板代替三段模块侧板。源图文件未被修改,是旧识图/几何结果错误和“误判复核通过”。
  • 增加尺寸标注范围裁决:只允许从已转录的数值候选按稳定索引选择,必须回看箭头/引出线两端并证明跨越产品外轮廓,不允许新造数值。v79/v80/v82/v83四项尺寸专项回归全部通过。
  • 部件图谱新增 functional_role 和局部 thickness_axis,编译器根据 axis_order 映射实际板面,再从实体接触分类面贴面/边贴面/边贴边,禁止从中文名称猜连接。27项图谱回归全部通过。
  • CAD-Coder 论文和官方代码/权重已核对,适用边界记录在 CAD_CODER_INTEGRATION_EVALUATION.md。它只作为单部件几何候选器,不作为家具装配/BOM真值来源。
  • 该模型权重约 26.7GB,官方代码默认 CUDA;未将权重下载到正在承载 Chat API 的服务器,未部署,也未把“代码可执行”当成家具制造验收通过。

2026-09-07 v84 Zero-to-CAD 与 GenCAD 路线评估(候选,未上线)

  • Zero-to-CAD、MIT GenCAD 及同名 gurul/gencad 已按论文、官方仓库和关键执行代码分别核对,边界记录在 ZERO_TO_CAD_INTEGRATION_EVALUATION.md 与 GENCAD_INTEGRATION_EVALUATION.md。
  • Zero-to-CAD 适合作为单零件孔槽、圆角、倒角和异形特征候选器;它的公开数据明确是单一连通零件,不是家具装配体,不能决定 BOM、五金或连接关系。
  • MIT GenCAD 的可借鉴点是图片—CAD 对比检索和潜扩散多候选;其训练词汇仅含直线、圆弧、圆和拉伸,且作者明确报告无效、相交和不连通输出,不作为当前主模型。
  • gurul/gencad 的截面渲染适合补足孔槽、壁厚和间隙的几何复核;其任意绝对路径 Python 执行接口不具备生产隔离边界,禁止直接接入第三方 Chat API。
  • 推荐顺序固定为:结构图谱权威层 → Zero-to-CAD 单件候选 → 受限 FreeCAD/OCCT 截面复核 → GenCAD 风格检索/多候选排序。没有一个开源项目能替代装配约束和工艺门禁。
  • 本轮只做源码/论文审计与方案归档,没有部署模型、没有重启生产服务,也没有触碰用户任务。

2026-09-07 v85 接触面到真实孔槽的制造层(候选,未上线)

  • 新增通用manufacturing_oracle.py。它只读取结构图谱编译器给出的物理实例、材料族、功能角色和真实AABB接触;中文显示名称变化不会改变连接方法或数量。当前基础策略覆盖人造板确认螺钉、层板托、背板/抽屉底板捕获槽、实木木螺钉、木/金属螺栓和金属焊缝,无法可靠处理的边贴边或不相容榫卯直接阻断。
  • 每个孔、槽、焊缝和连接件都有稳定的manufacturing_connection_id;连接件按唯一hardware_instance_id计数,禁止同一孔位重复加工和重复计费。孔圆周、孔深、加工面中心、槽体边界和材料兼容均有确定性检查。
  • 捕获槽不再只有“承载板切槽”这一半。制造层给嵌入板同步增加逐边入槽余量,输出manufacturing_geometry_by_instance和使用成品下料尺寸的manufacturing_bom;CAD用调整后的板件伸入槽内,并以实际布尔结果检查干涉。
  • 通用CAD构建链在单体有效性之后新增inspect interfere --format json。第一次服务器隔离测试发现运行时不支持--json并会导致所有构建失败,已改成服务器实际支持的--format json;这一失败尝试没有计为通过。
  • 本地完整回归172项通过(253.707秒);制造/图谱/CAD专项在捕获槽修正和证据文件语义角色后39项通过。技能结构校验通过,语法检查通过。
  • 服务器只读检查显示Chat API服务active且活动任务、等待任务和持久队列均为0。随后仅在/tmp/dalongxia-cad-v85-eI8HeF隔离验证,没有覆盖生产文件或重启服务。
  • 确认螺钉样例真实结果:3实体、12孔、6连接件、STEP 101927字节;切孔前后面数18→36,总体积21340800→21335663.496mm³,差值与孔模板切削体积一致;B-rep检查3对实体0冲突。
  • 捕获槽样例真实结果:左右各6mm入槽,板件下料尺寸764×400×18→776×400×18mm;3实体、26面、总体积21338400mm³,0.5mm槽宽余量对应净减2400mm³,3对实体0冲突。当前包装模型11节点、55对候选也实测0冲突,新增装配门没有误伤该模型。
  • 尚未完成:供应商专用确认螺钉/三合一/铰链/滑轨模板、运动扫掠碰撞、正交截面自动判读、真实原图到图谱首次识别、冻结后公司BOM成本误差≤5%盲测。因此v85仍为候选,不能称生产级CAD或目标完成。

2026-09-07 v87 GenCAD审计与生成—验证—修复实测(候选,未上线)

  • MIT GenCAD 的官方推理代码逐张处理图片,未调用仓库中定义的多视图编码器;其草图词汇限于直线、圆弧、圆与拉伸,论文也明确保留无效、相交和不连通输出。它可用于图片—CAD检索和多候选排序,不能直接产生家具装配/BOM真值。
  • 同名 gurul/gencad 的 FreeCAD 代理循环可借鉴截面渲染、执行后检查和局部修复,但其 MCP 可执行任意绝对路径 Python,不能直接接入第三方 Chat API。两仓库许可边界和审计提交已记录在 GENCAD_INTEGRATION_EVALUATION.md。
  • 候选结构编译器新增自身总成 ID 锚点别名、跨总成误用阻断、运动副实例端点的可执行修复映射;探针新增结构化 B-rep 冲突反馈和非法补丁反馈。专项 44 项回归通过;最终候选完整回归 180 项通过(253.928 秒)。
  • 服务器隔离样例在原始四图上正确建立数量合同与 1200×400×800mm 尺寸账本,但三轮仍未收敛:编译问题 60→55→59,B-rep 冲突 3→6→5,最终状态 graph_and_cad_kernel_not_passed。失败报告位于服务器临时目录 /tmp/dalongxia-cad-v85-eI8HeF/probe-sideboard4/sideboard/report.json。
  • 本轮确认的新根因是轴语义仍由模型以 axis_order 自由表达,局部修复可能把门板宽高厚重新映射到错误产品轴;同时修复提示不足以阻止对多个实例盲加统一偏移。下一步应把面板厚度轴和功能角色编译成受限放置模板,再让模型只选择开口、靠边关系和间隙参数。
  • 未修改生产文件、未重启 Chat API、未改变用户任务;真实多产品盲测、公司 BOM 事后对比和总成本误差≤5%仍未完成。

2026-09-07 v90 受控修复响应与单调收敛(候选,未上线)

  • v89 的“发现整段 placement 就整批拒绝”虽然阻止了坐标污染,但真实模型经常把有效单轴修复与整段覆盖混在同一批,导致全部有效修改也被丢弃;另一次模型直接返回 patch 数组,旧调用对数组执行 .get() 后异常。该策略已记录为失败,避免以后重复采用。
  • 新增通用修复响应规范化:既接受 {"patches": [...]},也接受直接 patch 数组;格式正确的完整 x/y/z placement 仅展开为与当前图谱不同的单轴 replace,并记录原路径与展开路径。底层 apply_graph_patch 仍禁止整段覆盖,因此规范化不能绕过安全边界。
  • 每轮候选图谱先重新编译;编译问题数高于上一已接受版本时保留旧图谱并返回结构化回归反馈,不让问题数反弹的修复继续污染后续轮次。
  • 本地最终完整回归 187 项通过(236.066 秒),其中新增列表响应、稳定 ID/数字索引、完整 placement 单轴展开、畸形与无变化响应拒绝等覆盖。
  • 服务器确认生产 Chat API 活动任务、等待任务、持久队列均为 0 后,仅在 /tmp/dalongxia-cad-v85-eI8HeF/probe-sideboard7 运行隔离原图试验;未修改生产文件、未重启服务、未读取公司 BOM。
  • 同一组四张原图仍正确固定 1200×400×800mm 和 top=1、bottom=1、side=2、door=2、shelf=1、leg=4。五轮编译问题 57→52→35→30→15,CAD B-rep 冲突 11→16→9→12→3;最终仍有门/五金总成边界、一个门把手断联、背板与层板以及左侧板与铰链穿插,状态仍为 graph_and_cad_kernel_not_passed。
  • 该结果证明修复链可消费反馈并总体收敛,但没有通过制造门禁、没有生成可交付报价,也没有完成不同公司产品盲测或冻结后总成本误差≤5%。