Aira 大工程:按需存储、有界 AI 上下文与编辑正确性
初稿:2026-09-22;源码与资料复核:2026-10-02,基线 bc004205c73ce98997fd168cb7599cb4acb8323a。 本篇研究 AI 创建和持续修改产品、工业设施时的数据与计算边界。整体设计语义和唯一执行路径沿用架构裁决 §24;本篇补充存储、加载和资料证据,不维护实施状态。
结论分为源码事实、有前提的推导和未验证事项。GB 文件、GB 内存中的几何、海量重复实例、海量独立零件和长期历史是不同负载,不能互相充当验收证据。
1. 当前实现的实际边界
Section titled “1. 当前实现的实际边界”| 边界 | 核对结果 | 证据及适用范围 |
|---|---|---|
| 当前 .aira 容器 | 最大 256 MiB;原始容器超过上限时,压缩不能使其获得导出资格 | packages/aira-contracts/src/aira-binary-container.ts 的 MAX_AIRA_CONTAINER_BYTES 及编码、输入、解压输出检查 |
| 容器布局 | 固定 JSON/BIN 两块;总长及块长为 uint32,资源偏移为 JSON 数值 | 同一文件及 apps/web/src/storage/aira/storage-portable.ts;不等于多个独立可寻址资源文件 |
| 实际 OCCT WASM | 初始线性内存 64 MiB,最大 512 MiB | runtime/build/aira-occt-feature-graph.yml;生产二进制内存节也是初始 1,024、最大 8,192 个 64 KiB 页 |
| 导出和导入 | 整体 BIN、清单、容器和压缩输出仍有完整数组;导出还读取整个相关对象仓后筛选 | storage-portable.ts、aira-binary-container.ts;BIN 解码的 subarray 共享缓冲区不代表整条管线零复制 |
| 有界 SDK 读取 | 多数分页发生在 Native 完整读响应之后;SDK 无条件要求 evaluation | packages/aira-cad-tools/src/model-read-tool.ts、Native native-interface.ts;已有缓存和专用读取 profile,不能据此断言每次重建全部实体 |
| 当前 LLM 请求 | /api/step 提交有预算的 capsule | apps/web/src/ai/step/gateway-source.ts;本次没有发现每次提交整份工程文件的依据 |
512 MiB 是该内核的单一线性内存预算,不能当成 JavaScript 堆、进程或磁盘的总限制。GB 交换文件不必产生同等大小的常驻几何,但该内存确实不能承载数 GB 的单次常驻分配。修改内存上限也不能消除完整快照、重复实例处理和导出复制。
当前源码不保证清单能放进前 16 KiB;清单包含修订、证据和资源目录,会随工程及历史增长。整体 gzip 也不提供资源级随机读取保证。Streams API 可以处理字节流,但最终汇集为数组仍需整体内存;CompressionStream 的接口本身不承诺独立线程或某个帧率。浏览器字符串和堆上限依实现、版本及平台变化,本篇不采用未锁定环境的通用数值。
2. AI 所见与核心所需是两个工作集
Section titled “2. AI 所见与核心所需是两个工作集”设权威状态为 S、修改提案为 p、支持语义下的必要检查为 O(S,p),模型得到有界投影 q(S)。若两个状态有相同 q,却使 p 的合法性不同,仅凭 q 无法区分;必须取得区分信息、由核心检查权威状态,或保留 unknown。这是信息条件,不是某一模型的实测成功率。
模型可以持有目标、允许选择、接口、保持项和少量诊断,核心在本地或用户控制的服务中计算完整影响范围,只返回必要事实、失败见证及其修订绑定。尺寸、间隙、可达性和物理结果仍是模型可能需要的事实;“LLM 只关心元数据”不成立。显示网格和文本摘要不能成为另一个可写工程权威。
新建设施同样适用:目标和子系统接口必须保留为可编辑设计信息,重复构造通过核心执行,未决设计选择由 AI 或人处理。分层组织便于发现和决策;独立求解需要可分约束及充分边界条件,共用动力、管网或结构要求可能跨越空间分区。
3. 存储、实例与加载的候选边界
Section titled “3. 存储、实例与加载的候选边界”持久存储保留单一工程权威;小型修订根定位可分页的语义记录、原型载荷和证据。缓存、空间索引及显示数据从同一修订派生,缺失时可重算。这个方向以稀疏编辑、重复原型及完整依赖为前提,尚未构成 GB 级产品验收。
共享几何必须区分三个修改语义:修改原型及其指定实例集合;仅移动或配置一个实例;派生新原型并重绑定选定实例。核心给出实际影响范围并核对权限,不能让 LLM 枚举全部螺栓,也不能把原型变化解释为单实例变化。逻辑零件 ID、原型版本、实例路径和拓扑身份有不同职责。
内容寻址的不可变对象可以复用资源与未变子图,分支头原子发布修订根。身份必须完整包含实际设计语义及相应配置、单位、容差、运行时和资源绑定;缺漏字段时,哈希相同不能证明结果可复用。恢复根、候选、消费者和历史仍引用的对象必须保持存活;淘汰缓存与删除持久对象有不同生命周期。哈希地址不替代权限和输入校验。Merkle DAG 官方说明
几何工作集按查询、建模和验证需求加载,可以大于可见区域。展开后的精确形体、临时 builder 和保留句柄必须共同满足内存预算。若局部需求无法在浏览器预算内完成,应比较原生进程或用户控制服务的同一执行路径及数据驻留方案;保持单一模型权威和原子编辑。
4. 增量复用需要完整依赖
Section titled “4. 增量复用需要完整依赖”对确定、依赖完整的无环计算,变化输入使反向依赖失效,所需输出再按前向依赖加载;未变输出可以终止部分传播。动态读取必须记录实际依赖或保守重算。任意代码的隐藏 I/O 不能假设可静态完备分析;耦合循环需要对应求解器及失败语义。Build Systems à la Carte,§§3.6–3.7、4
依赖包含原型、实例变换、配置、材料、资源、容差、实现版本、语义引用和要求适用域。空查询、范围查询和聚合成员也需要失效规则:随后加入的对象可能改变原先的“没有其他成员”。只记录已存在对象的边不足以覆盖这种变化。
保守且当前的包围体可排除部分干涉候选;正候选仍需精确窄相位。修改应同时考虑旧范围、新范围、删除、祖先变换和原型扇出;未加载精确几何的对象仍需被索引覆盖。索引不完整或证据过期时不能给出全工程无干涉结论。
例如,共用泵的既有设计流量为 95 L/s、要求上限为 100 L/s,局部新增 10 L/s 管路会使总量达到 105 L/s。局部几何通过不能说明设施要求通过;核心需要远端成员,模型可只接收失败聚合和来源。这是条件示例,不宣称当前 Aira 已实现该物理模型。缺少适用方程或材料证据时保留 unknown。
完整性仅相对于声明的支持语义、可信输入及误差界。增量覆盖不能完成时,可以在预算内执行该域的完整验证;仍不能完成则报告 unknown。影响 k 个实例的修改至少需要处理其必要影响,不能承诺任意修改恒定计算量。
5. 已核对的上游设施与责任
Section titled “5. 已核对的上游设施与责任”| 真实需求 | 上游设施 | 已证实差异、未知与决定边界 |
|---|---|---|
| 选择加载原生文档属性和子树 | 锁定 OCCT V8_0_1,提交 b8f597c677811d1f9f4d8a97f5ae2825c0353a42 的 PCDM_ReaderFilter::AddRead/AddSkipped/AddPath | 已有过滤及保护/覆盖追加模式;这不证明任意 STEP 可随机读取。当前绑定及事务集成未验证;优先核对直接调用或补绑定,Aira 负责需求、权限和卸载生命周期。锁定源码 |
| 构建空间排除树 | 同一锁定版本的 BVH_BoxSet::Add/Build/Clear | 已有成熟树构建;动态更新、查询与当前执行路径集成成本未知。先比较已有空间设施和绑定,Aira 负责保守性及修订覆盖。锁定源码 |
| 重复原型及选择加载场景 | OpenUSD 26.08 的 instancing、payload、population mask | 有共享及选择加载;实例代理不能直接编辑内部子项,原型路径不是持久工程 ID。可作为候选机制,不能据此认定已有 CAD 编辑语义。Instancing、Population mask |
| 按需求值及依赖缓存 | OpenUSD 26.08 OpenExec | 有依赖 DAG、缓存失效和需求求值;回调要求无状态、无副作用,框架不能修改场景权威。Aira 绑定、跨约束求解及成本未验证,暂不作运行时替换裁决。官方职责说明 |
| 压缩及资源封装 | 当前 CompressionStream;已锁定 @zip.js/zip.js@2.9.0 | gzip、ZIP 均有可复用实现。选型要比较资源寻址、流式落盘、恢复与集成,零依赖和压缩率不能单独决定格式。MessagePack 是否适用需核对具体实现,新增依赖本身不违反复用原则 |
STEP 支持依赖 AP、版次、编码、translator 和实际写出的实体。AP242 可包含 PMI、装配和运动相关信息;不能将所有 STEP 视为纯形状,也不能由扩展名推断它保留了可编辑原生设计。AP242 版次差异
Aira 当前 exact-step-exchange/export.ts 明确保留装配层级、复用、位置和部分工程声明,省略程序、关系、独立要求、历史及非活动配置。这些是当前导出器的范围。STEP 可用于交换;完整可编辑工程仍需保留被省略的信息。ASCII STEP 也不能被笼统称为不可压缩二进制。
6. LLM 原始论文及其证据范围
Section titled “6. LLM 原始论文及其证据范围”| 论文与读取版本 | 支持的有限结论 | 不能据此宣称 |
|---|---|---|
| Lost in the Middle,v3,2023-11-20 | 文档问答、键值检索中,相关信息位置影响所测模型表现;容量与可靠使用是不同指标 | 当前所有模型均有同一错误率,或 CAD 必须使用某个上下文上限 |
| ReAct,v3,2023-03-10 | 可交替观察、推理和工具行动;检索失败仍是限制 | 多轮工具发现已经覆盖全部工程约束 |
| CodeAct,v4,2024-06-07 | 在 API-Bank、M³ToolEval 等任务中,代码可组合循环与工具,效果依模型而异 | 调用轮数减少等于总计算成本减少,或获得 CAD 权限、事务与几何保证 |
| Code as Policies,v4,2023-05-25 | 层级代码生成可组合机器人任务中的既有能力 | 设施子任务必然独立,或无需工程边界条件 |
| GraphRAG,v2,2025-02-19 | 文本图和社区摘要可辅助全局问答,存在索引成本和信息损失 | 摘要图是可执行 CAD 权威或完备依赖图 |
| HistCAD,v3,2026-05-29 | 在所测草图和历史表示中,显式约束与修改保持有关 | 完成通用装配、工厂自主设计或 GB 工作集验收;其约束消融不等于自主 Agent 比较 |
这些论文支持探索有界发现、可组合动作与持续编辑表示;本篇关于影响闭包和原子提交的条件推导不由这些实验代替。检索导航、语义判断、几何计算和工程接受各有证据责任。
7. 上传成本与验证边界
Section titled “7. 上传成本与验证边界”若实际传输 B 字节、持续有效带宽 r bit/s,理想载荷下界为 T ≥ 8B/r。十进制 5 GB 在 100 Mb/s 下至少 400 秒,即 6 分 40 秒;这是计算下界,未含启动、协议和重试,不是本机带宽测量。初始化同步、显式交付与每次设计交互应分别计算实际传输量。
核心本地执行并返回有界事实可避免每轮传输全工程。是否将资源迁移至用户控制的远端,是另一项数据驻留和执行选择;所选语义本身也可能敏感,有界传输不等于零披露。
本轮核对了锁定源码、当前调用链、生产 WASM 内存节和原始资料;现有容器的 1 MiB 原始/gzip 编解码实操通过。它不验证完整项目恢复,更不验证 GB 工程。实际 GB 创建和修改、峰值内存、冷暖启动、缓存丢失、独立实例与原型编辑、全局要求覆盖、资源回收、并发恢复及自主 AI 成功率均未验证。
资格应通过现有原生 Interface 和获授权的 capability-explorer 对同输入核验:分别改变独立零件、复用实例、依赖密度、资源和历史大小;声明分布、seed、误差及时间/内存预算。比较实际载入字节、重复计算、检查覆盖和修订恢复,保留 pass/fail/unknown。涉及 AI 泛化时另用独立任务与可比总预算,确定性脚本不能替代模型成功率。具体实施与验收状态只由 GitHub issues/milestones 维护。