图纸导入很容易被包装成一个过度承诺的问题:给 AI 一张户型图,它自动识别成完整模型。
对开发者来说,这个叙事不够严谨。更可靠的架构问题是:如何把 DWG、DXF、PDF、图片、扫描件或照片变成可编辑 working truth,同时保留足够 evidence,让错误可以被局部修复?
SAH 的导入方向不是“完美识别”,而是“可修复导入”。
Import should be autonomous-first, not evidence-free
设计师不应该在导入时被迫确认每一面墙、每一个门洞和每个中间候选。那会让工作流停在低信号确认上。
所以导入应该尽快生成一个可编辑 first-pass working model。
但 autonomous-first 不等于 evidence-free。系统仍然需要保留 source manifest、格式信息、previews、evidence artifacts、extracted interpretation、scale assumptions、confidence、quality flags 和 generated model references。
这些 evidence 不是最终 truth,但它们是后续 repair 的上下文。
imports/ 不是 project truth 本身
imports/<import_id>/ 应该保存 source、preview、evidence 和 extracted interpretation。它回答的是“这个 working truth 从哪里来、有哪些假设、哪里不确定”。
真正进入 agent 工作流的,是被接受进 design_model.json 的 working truth:
- import sessions;
- walls;
- openings;
- spaces footprints;
- source provenance;
- quality flags。
换句话说,source evidence 负责可追溯,working truth 负责可编辑。两者不能混成一个东西。
First-pass model 不是 verified survey
导入第一版模型应该尽快可编辑,但不能被说成测绘级真相。
它更像是一个带 provenance 的 working model。它可以被验证、版本化、执行、视觉审阅和修复,但它仍然需要承认不确定性:
- scale 可能来自推断;
- opening 可能有低置信度;
- raster source 可能有外部空白区域;
- room labels 可能和实际边界不一致;
- negative regions 不应该被误生成房间或墙体。
这类不确定性不应藏起来。它们应该进入 quality summary 或 source interpretation。
Source fidelity 和 SketchUp execution 是两道门
SketchUp 执行成功,不代表导入 truth 与 source 匹配。
这两件事必须分开:
- bridge execution gate:当前
design_model.json是否能生成并执行到 SketchUp; - source fidelity gate:生成的 working truth 是否仍然尊重 source evidence。
一个模型可能 clean replay 成功,但阳台区域来自外部空白、门洞 host wall 错误,或 room footprint 与 source label 面积冲突。这不是 bridge 问题,而是 source fidelity 问题。
因此导入 pipeline 需要 source-scoped constraints、negative regions、dimension chains、room candidates、opening constraints 和 boundary checks。
Repair 应该局部化
当用户指出“这面墙不对”或“这个导入宽度应该不同”时,系统不应该默认重跑整个导入。
更好的流程是:
- 找到受影响的 model entity 和 provenance。
- 回到相关 source evidence。
- 重新解释局部区域或实体类别。
- Patch
design_model.json。 - 重新生成 bridge trace。
- Clean replay 或局部执行。
- 报告具体变化。
这就是 working truth 的意义。它允许 agent 把自然语言纠错转成局部结构化修改,而不是每次都从零开始。
Dynamic runtime memory 要留在项目内
某次导入可能会产生 source-specific 记忆,例如这个图纸里的符号含义、设计师纠正过的房间命名、某个尺寸推断方式。
这些信息对当前项目有价值,但不应该直接进入产品 runtime skills,也不应该默认进入中央知识库。
它们可以成为 project/session dynamic runtime skills,保存在当前设计项目的 agent skill 位置。只有当一个模式经过多次验证、能泛化,并且有测试覆盖时,才应该进入产品 baseline 或中央抽象知识。
为什么这适合开发者系列
导入不是一个“识别模型”的单点能力。它是 source management、evidence retention、truth generation、validation、repair、runtime memory 和 host execution 的组合。
如果开发者只追求“一次性看起来像”,产品会很快遇到不可修复的问题。真正有价值的是:即使第一版不完美,系统仍然知道它从哪里来、哪些地方不确定、应该如何局部修复。
这就是从 source evidence 到 working truth 的架构价值。
Source trace
- sketchup-agent-harness:docs/adr/0003-import-pipeline.md
- sketchup-agent-harness:docs/architecture/import-pipeline.md
- sketchup-agent-harness:DESIGNER_GUIDE.md
- Floorplan Import Evidence To Working Truth
- Project Local Dynamic Runtime Memory
