跳到正文

06|架构师委员会评审与闭环台账 ​

一句话:闭环台账把口头判断换成可对账的五元组:唯一 Owner、目标窗口、可复现证据包、验收人签字、回归条件,50 项缺口与 25 项 P0 逐个挂在 E0 至 E4 的证据等级上;约束是状态不随文档移动——改口径、删“POC 字样”都不推进台账,Verified 只能由 E3/E4 证据与签名换来,当前 0/25 的如实状态就是生产 No-Go。

定位:本篇是 06 专栏的评审与闭环篇,也是所有“是否可上线/可试点”状态的唯一台账。05 定义架构基准与闸门,本篇记录委员会发现、修正动作、Owner、证据与状态;两者冲突时,以源码事实与 05 的架构基准为准,以本篇的证据状态为准。 评审日期:2026-10-26 评审形式:桌面评审(Desk Review)。由 AI Infra 架构师牵头,按六个视角分角色交叉审阅;不等同于企业正式评审会签,也不替代安全、法务、合规的实际签字。 评审输入:00–05、10–16、HiMarket 源码快照 3a63fc5、本地 HiMarket/RAGFlow/mem0 实证记录、08 专栏(QwenPaw 数字分身)可复用原则。 总体结论:方向正确,有条件通过内部试点;生产上线 No-Go。 当前最大风险不是功能缺口,而是证据缺口与文档口径越权——把设计态、源码存在、单机 POC 写成了生产能力。


一、评审范围、方法与证据分级 ​

1.1 评审范围 ​

范围文档评审重点
总纲与底座00–04定位、源码事实、控制面/数据面边界、订阅链口径
架构基准05身份/凭证、授权传播、配置发布、SLO/容量/灾备、计量审计
知识与记忆10–13ACL、SSRF、版本基线、质量评测、身份绑定、删除与投毒
目标态施工图14–16包皮边界、模块需求、权限模型、里程碑与闸门的映射

1.2 证据分级(E0–E4) ​

等级定义可支撑的结论不能支撑的结论
E0文档声明、设计推演、外部资料方案可行性讨论任何“已实现/已验证”
E1源码、配置、接口、DTO、注解存在“代码具备该能力/存在该风险”“部署后可用”
E2单机/单租户 POC 链路跑通“happy path 可演示”多租户隔离、HA、容量、生产安全
E3负向测试、越权测试、故障注入、压测、恢复演练隔离/韧性/容量结论长期生产稳定性
E4生产运行、审计抽样、计量对账、SLO 实绩生产准入与运营结论未覆盖场景

硬规则:

  1. P0 中的身份、越权、凭证、删除类闸门,最低要 E3;只有 E0–E2 不能关闭。
  2. 计量对账、SLO 实绩、灾备演练,试点期至少 E3,生产准入要 E4。
  3. “源码里有”只算 E1;“本地跑通”只算 E2;两者都不能写成“生产可用”。
  4. 任何文档修改不能改变台账状态;状态只能由证据包和评审人签字改变。

1.3 闭环判定规则 ​

状态含义进入条件退出条件
Open未开始已登记缺口有 Owner、动作、证据计划
In Progress有动作但无合格证据已开始实施证据达到该闸门最低等级
Blocked依赖外部/版本/人力明确阻塞原因阻塞解除并恢复实施
Verified已验证关闭证据包可复核、评审人签字仅可因回归失败重新打开
Accepted Risk业务明确接受业务 Owner + 到期日 + 补偿控制到期自动回到 Open

闭环不是“文档写完”,而是同时满足:

  • 有**唯一 Owner(角色 + 人名)**与替补;
  • 有目标窗口与依赖;
  • 有可复现的证据包(命令、原始输出、版本、哈希、结论);
  • 有验收人(P0 至少两人:平台 Owner + 安全/数据治理评审人);
  • 有回归条件(模型、解析器、权限策略、网关配置变更后重跑)。

1.4 评审局限(必须如实声明) ​

  • 本次没有执行真实 Higress 数据面、跨租户越权、HA/DR、压测、渗透测试与计量对账。
  • 本次没有企业正式委员会签字,不代表安全、法务、合规、财务已批准。
  • 14–16 为并行撰写的目标态施工图,部分“已实证”是 E1/E2;本轮已统一口径,但仍需逐项回填证据。
  • 08 专栏的网关与数字分身证据属于另一个运行环境,只能复用原则,不能复用“已实证”结论。

二、委员会总体结论 ​

2.1 六视角结论 ​

视角结论关键发现P0 项
总体架构有条件通过控制面/数据面方向正确;但“包皮=接入层”与“HiMarket=控制面”表述混用,14–16 的施工里程碑未映射生产闸门2
身份与安全不通过(生产)OIDC 验签仍 TODO;缺工作负载身份、Agent 委托、凭证中介落地、授权快照、管理面 MFA/JIT、Denial of Wallet9
知识与记忆不通过(生产)RAGFlow 为 RC;ACL 靠 Broker 设计未落地;mem0 的 user_id 过滤不等于身份绑定;删除/投毒未验证5
SRE/容量/灾备不通过(生产)无 SLO 实绩、无 HA 拓扑、无压测、无 RPO/RTO 演练;单机 Compose 不能作为生产基线4
数据治理与合规不通过(生产)分类分级、血缘、保留、DSAR、跨境、审计防篡改多为设计;未做 PIPL/数据安全法/等保映射3
运营与发布不通过(生产)产品生命周期、下架、配置回滚、计量对账、FinOps、生态滥用治理未闭环2

2.2 源码级复核新增发现 ​

发现影响对应台账
OidcServiceImpl 的 ID Token JWK 验签仍是 TODO伪造 token 可能被当作可信身份SEC-01
ProductRefResult 不含 mcpConfig/agentConfig/modelConfig,也不含凭证方向正确:连接描述不应携带上游密钥;但不能据此认为凭证链已通SEC-05
McpConfigResult.toTransportConfig() 过滤 intranet 并取第一个非内网域纯内网企业可能返回空地址;不能依赖该逻辑做生产投递ARC-01 / SEC-05
McpMetaResult.sanitize() 仅清空 subscribeParams其他敏感字段可能泄漏;需要字段级脱敏白名单SEC-05
当前快照有 17 个 @PublicAccess 注解,静态展开 17 个 GET 端点此前“34 个”误把注解注释/文档引用计入;公开端点仍需逐项复核SEC-07
Consumer 是工作负载身份,Developer 是员工身份混用会导致“员工 token 当 Consumer 凭证”SEC-03
Skill 下载不在 @PublicAccess,但 files/versions/cli-info 公开需确认公开元数据是否包含包地址、版本、内部信息SEC-12
08-03 的网关 10 项能力属于数字分身环境不能直接作为本市场环境的 E2/E3 证据ARC-02

2.3 委员会裁定 ​

  • 架构裁定:保留“市场控制面 + 独立数据面 + 契约化执行层”,但必须把“包皮”定义为控制面产品化层,不得与 Higress 数据面入口混称。
  • 安全裁定:在 OIDC 验签、工作负载身份、凭证中介、授权快照、跨租户负向测试完成前,不得接入真实员工与真实企业数据。
  • 知识/记忆裁定:RAGFlow 与 mem0 只能作为可替换能力供给;企业 ACL、身份、删除与审计必须由 Broker/Service 层承担。
  • 排期裁定:原 05 的 P0 2–3 周过于乐观。按 25 项 P0、2 个并行小队估算,P0 6–8 周(估算,需按人力校准,不构成承诺);单人串行不应承诺日期。
  • 文档裁定:14–16 可以保留“生产目标态施工图”定位,但必须删除“不设前置验证”“禁用 POC 字样”等以口径替代证据的规则。

2.4 与 08 参考方案的关系(复用原则,不复用环境证据) ​

08 的做法本方案复用不直接复用/需改造
控制面与运行时解耦复用为 HiMarket 控制面 / Higress 数据面 / agentscope 执行层08 的实例模型不能直接套到多租户市场产品
实例边界、NetworkPolicy、工作负载隔离复用为 Agent/Skill/Worker 运行时隔离与出站治理08 的单业务线命名空间需改为租户/环境隔离
Vault/KMS、短期凭证、密钥不入 Pod复用为 Credential Broker 与 Secret Zero08 的密钥路径/角色需按产品与租户重建
生命周期回收、挂起/唤醒复用到 Agent 实例与长任务回收市场调用以无状态为主,sticky 不是默认要求
HITL/审批/审计证据链复用到高风险工具、发布、订阅、删除08 的审批角色需扩展为员工/管理员/审计三角色
08-03 网关 10 项能力复用能力清单与验收思路不复用“已实证”结论:本环境未部署 Higress
08 的 OIDC/JWKS 实现复用实现模式与负向用例设计不复用证据:HiMarket OidcServiceImpl 仍是 TODO
08 的 IM 渠道聚合复用到 16 篇 Application Store 的分享渠道渠道身份/租户映射需重新验证

三、六视角评审与缺口台账 ​

台账字段:目标 以 W1 为评审通过后的第一个工作周;Owner 为角色,正式评审必须落到人名与替补;验收证据 括号内为该闸门最低证据等级。

3.1 总体架构 ​

结论:方向正确,但边界与证据链尚未形成制度。最需要防止的是“文档把目标态写成已实现”,以及“功能里程碑完成被误认为生产闸门通过”。

ID缺口与影响修正动作验收证据(最低)Owner目标优先级状态
ARC-01包皮/接入层/HiMarket/数据面混称,读者可能把 HiMarket 当流量入口固定 ADR-01:HiMarket=控制面+门户;包皮=控制面产品化;Higress=唯一数据面入口;统一所有图与文案E1 架构图+路由清单+代码评审;E3 网关实测路由平台架构组W1–W2P0In Progress
ARC-0214–16 的 Java 模块 M0–M8 与功能里程碑 0–3 未映射 P0/P1/P2 生产闸门;施工完成被误读为可上线建立“模块/里程碑 × 闸门”矩阵;每个模块标注证据等级与阻断项;以 06 为状态源E1 矩阵+评审记录;E3 闸门证据包平台架构组W1–W2P0In Progress
ARC-03多租户模型未定:Portal/tenant/environment/consumer 的边界与隔离级别(pool/silo/bridge)定义租户模型与 namespace/数据库/索引/密钥隔离矩阵;做 noisy neighbor 评估E1 模型文档;E3 隔离测试平台架构组W3–W6P1Open
ARC-04HiMarket 1.0-SNAPSHOT fork 的 upstream 同步、CVE 修补、license、退出策略未定固定 commit/digest;建立 upstream sync 节奏、patch backlog、fork 差异清单、退出预案E1 版本清单+CI;E3 升级演练平台架构组W3–W8P1Open
ARC-05Agent API 缺异步任务契约:长任务、回调、取消、结果保留、幂等定义 task_id/status/cancel/callback 签名、结果 TTL、A2A 身份与授权E1 契约;E3 超时/取消/重放测试网关/执行层W5–W10P1Open
ARC-06缺架构适应度函数与漂移巡检;文档与实现易再次分叉建立 conformance 检查(边界、依赖、配置、公开端点、证据等级)并入 CI 与月度评审E1 检查脚本;E3 连续两月零 P0 漂移平台架构组W12–W20P2Open
ARC-07模型市场缺独立网关契约:模型路由/白名单、Token 计量、上下文窗口、供应商降级与零留存未定义定义 tenant/data_class → model allowlist 路由;modelMapping;流式/非流式 token 权威计数;上下文截断策略;供应商 fallback/熔断;零留存与区域路由E3 路由矩阵、fallback 演练、token 对账;E4 生产计量网关/模型平台W5–W10P1Open

3.2 身份与安全 ​

结论:这是当前最高风险域。控制面身份、工作负载身份、Agent 委托、平台服务四类身份必须分开;08 专栏的 OIDC/JWKS、Vault、NetworkPolicy 模式可复用,但不能把 08 环境的证据用来关闭本环境的项。

ID缺口与影响修正动作验收证据(最低)Owner目标优先级状态
SEC-01OIDC JWK 验签仍是 TODO;iss/aud/exp/nonce/state/PKCE/redirect 未完整校验,存在伪造与重放实现 JWKS 缓存+轮换、全 claims 校验、PKCE、一次性 state/nonce、redirect allowlist、时钟偏差;建立负向用例E3 伪造/过期/错 aud/重放/开放重定向全部 401;JWKS 轮换不停机身份安全组W1–W3P0Open
SEC-02离职/转岗/角色变更后的权限回收未定义;会话可能长期有效SCIM 或 IdP group→role 同步、back-channel logout、session revocation、定期 access review;Consumer 凭证轮换/吊销E3 离职 10 分钟内全链路失效;权限复核抽样 0 越权身份安全组W2–W4P0Open
SEC-03Consumer/Agent 仍可能用静态 API Key;缺 SA/SPIFFE/mTLS 绑定K8s ServiceAccount+OIDC/SPIFFE 或 mTLS;Consumer 绑定 tenant/env/product scope;密钥不入 Pod/镜像/GitE3 伪造凭证、跨 namespace 调用被拒;密钥扫描 0 命中身份安全组+平台W2–W5P0Open
SEC-04Agent 代表员工时缺 act/aud/jti/TTL;可能原样透传人类 TokenRFC 8693 Token Exchange 或签名 JWT:sub=Agent、act=Human、aud=Product、tenant、scope、jti;TTL≤15 分钟;禁止 refresh tokenE3 令牌交换矩阵;跨产品/跨租户/过期/重放全部拒绝身份安全组W3–W6P0Open
SEC-05连接描述/日志/响应可能含上游 key;Credential Broker 未实现;sanitize() 不完整Broker 多副本;动态短期凭证/Token Exchange;字段级脱敏白名单;Vault/KMS;fail-closed;禁止静态回退E3 全链路密钥扫描 0 泄漏;Broker 故障时新调用拒绝且不泄密网关/安全W3–W6P0Open
SEC-06订阅 APPROVED 不等于网关可调用;撤销传播未验证订阅状态机+签名快照/epoch;AuthZ 本地缓存 TTL≤60 秒;撤销≤10 秒;缺失/过期 fail-closed;记录 allow/deny 原因E3 撤销 10 秒内 403;控制面断连符合 fail-closed;审计可回溯 epoch网关/身份W3–W6P0Open
SEC-07Admin/Nacos/Higress 控制台可能共用入口/凭据;17 个公开端点需复核独立管理入口、MFA、JIT、break-glass 审批、IP/设备策略;公开端点逐项复核;管理面与业务面凭据分离E3 无 MFA/JIT 无法进入;公开端点清单签字;管理动作全审计安全/平台W2–W5P0Open
SEC-08缺按租户/用户/产品/工具的 token、调用、并发、日预算;分布式配额可能被绕过三级配额+预算+异常检测+自动降级/熔断;流式 token 预留;429/Retry-After;配额事件入账E3 超预算/突发流量被限;跨副本计数误差在阈值内;无静默超卖网关/SRE/FinOpsW3–W7P0Open
SEC-09MCP 工具描述注入、会话劫持、SSRF/egress、响应过大、schema 绕过schema 严格校验、工具描述签名/审核、Mcp-Session-Id 绑定身份、出站 allowlist/代理/NetworkPolicy、DNS rebinding 防护、响应上限E3 注入/越权/SSRF/超限用例全部阻断;会话不能跨身份复用网关/安全W4–W8P0Open
SEC-10无 STRIDE/攻击树/红队/渗透报告做数据流威胁建模;覆盖 confused deputy、prompt injection、supply chain、tenant escape;外部渗透与红队E3 高危 0 未修复;中危有 owner/期限安全W6–W12P1Open
SEC-11缺 Agent/工具级 kill switch、取证与事件响应按 tenant/product/tool/agent 四级熔断;事件分级、on-call、取证快照、恢复手册E3 演练 30 分钟内止损;取证链完整安全/SREW6–W12P1Open
SEC-12MCP/Skill/Worker 包签名、SBOM、扫描、来源证明、安装后完整性未闭环签名+SBOM+漏洞扫描+来源证明+准入策略;安装锁版本;运行时校验;吊销清单E3 恶意包/篡改包被拒;CVE 响应有 SLA安全/研发效能W5–W12P1Open
SEC-13模型输入输出缺内容安全与提示注入/越狱/数据外泄防护;系统提示与用户数据未隔离输入/输出审核、注入检测、系统指令隔离、PII/DLP、拒答/降级、红队用例;高风险场景 HITLE3 红队用例全部阻断;PII 泄漏 0;绕过有审计安全/模型平台W6–W12P1Open

3.3 知识与记忆 ​

结论:知识与记忆的“能力链”已有 E2 证据,但“企业治理链”仍是 E0/E1。必须把 ACL、身份、删除、审计从 RAGFlow/mem0 内部行为上移到 Broker/Service 层。

ID缺口与影响修正动作验收证据(最低)Owner目标优先级状态
KNO-01Knowledge Broker 未落地;RAGFlow permission 被误当企业 ACL;dataset_ids 可被客户端伪造Broker 从签名上下文派生 tenant/subject;维护 Portal/KB/dataset/doc ACL 映射;服务端生成过滤条件;结果泄漏检测E3 跨租户/跨数据集/跨用户负向测试 0 越权;ACL 变更传播有证据知识平台W4–W8P0Open
KNO-02RAGFlow v1.0.0-rc2 作为基线;无 digest/升级/回滚锁定稳定版+镜像 digest;升级/回滚/索引重建演练;RC 仅限隔离 POCE3 升级回滚成功;版本清单可追溯知识平台W2–W4P0Open
KNO-03知识库无越权测试;共享索引过滤未证明建立租户/用户/文档三级负向用例;共享索引与独立空间两种模式对比;检索缓存带 ACL epochE3 负向用例全阻断;缓存不泄漏旧权限知识平台+安全W4–W8P0Open
KNO-04导入缺病毒扫描、类型/大小配额、毒文档隔离、重复检测上传扫描、类型白名单、页数/大小配额、解析重试上限、DLQ、去重、版本化E3 恶意/超大/毒文档不拖垮队列;失败可隔离知识平台W6–W10P1Open
KNO-05无黄金集/引用正确率/拒答率评测≥100 问黄金集;recall@k、MRR、引用正确率、拒答率;模型/解析器/embedding 变更回归E3 基线达标并版本化;回归无显著退化知识平台W6–W12P1Open
KNO-06删除不传播到索引/缓存/备份;缺来源血缘文档版本/来源/解析器/embedding 版本入元数据;删除任务可验证;备份保留策略;引用可定位E3 删除后 0 召回;血缘可追到源文件知识平台+数据治理W8–W14P1Open
MEM-01mem0 直接接受请求体 user_id;只证明存储过滤,不证明身份绑定user_id/tenant_id 由签名上下文派生;请求体仅断言;不一致 403;写权限按 agent/owner 校验E3 伪造 user_id/tenant_id 全部拒绝;跨用户负向测试 0 泄漏记忆平台+身份W4–W7P0In Progress
MEM-02删除未覆盖向量/元数据/缓存/导出;legal hold 未分离可验证删除状态机;覆盖 Qdrant/元数据/缓存/备份;legal hold 白名单/审批/解除;DSAR 时限E3 删除完成率 100%;冻结与删除失败可区分;审计可查记忆平台+数据治理W5–W8P0Open
MEM-03记忆投毒、冲突、过期、跨 Agent 共享、同意机制未定来源可信度/冲突检测/敏感过滤/人工纠错;TTL/衰减;共享需显式发布审核;用户同意与撤回E3 投毒用例拦截;冲突可解释;共享越权 0记忆平台W8–W14P1Open
MEM-04记忆抽取成本可被长对话放大;无预算/配额独立模型策略、token 预算、日限额、异常检测、降级;成本分摊到租户E3 攻击性长对话触发预算保护;成本可归集记忆平台+FinOpsW8–W14P1Open

3.4 SRE、容量与灾备 ​

结论:当前是单机 POC 形态,不能用一个 Compose 栈推导生产 SLO。必须先填容量模型、做压测和故障演练,再谈副本数与 RTO。

ID缺口与影响修正动作验收证据(最低)Owner目标优先级状态
SRE-01SLO 只有建议值,无 error budget/告警/实绩确认 SLO;定义 SLI、error budget、burn-rate 告警、发布冻结策略E3 连续 2 周 SLI 报表;告警演练SREW4–W8P0Open
SRE-02单机 Compose/单 MySQL/单 Nacos/单网关,不满足生产定义并落地 HA 拓扑(3 副本/主从/多 AZ);探针/PDB/反亲和/证书一致性E3 单节点故障不中断;切换演练报告SREW4–W10P0Open
SRE-03无容量模型与压测;容器数被当容量填 05 篇 §7.5 工作表;分组件压测;流式并发/队列/向量重建;30% 余量E3 压测报告+瓶颈结论;容量表有实测输入SREW5–W10P0Open
SRE-04无 RPO/RTO 演练;备份未验证可恢复定义数据分级 RPO/RTO;备份/PITR/跨域复制;季度恢复演练E3 恢复演练达标;备份校验通过SRE+数据治理W6–W12P0Open
SRE-05缺限流分级、背压、超时预算、熔断、降级按 tenant/product/tool 限流;流式背压;依赖超时预算;模型/MCP fallback;降级页面E3 过载不雪崩;降级可观测SRE+网关W8–W14P1Open
SRE-06有状态组件升级/回滚未演练MySQL/Nacos/Qdrant/RAGFlow 升级手册、兼容矩阵、回滚点、数据迁移E3 升级回滚演练成功SREW10–W16P1Open
SRE-07无混沌/故障注入网关/控制面/DB/队列/模型供应商故障注入;游戏日E3 故障场景有止损与恢复记录SREW12–W20P1Open

3.5 数据治理与合规 ​

结论:治理项不能等上线前补。分类分级、保留、DSAR、审计防篡改必须与知识/记忆/Skill 的数据模型一起设计;中国境内落地还需按适用性做 PIPL、数据安全法、等保与生成式 AI 服务管理要求映射,并由法务/合规确认。

ID缺口与影响修正动作验收证据(最低)Owner目标优先级状态
GOV-01分类分级/血缘/标签未落地到知识、记忆、Skill统一标签模型;与 ACL/加密/导出联动;血缘记录来源/版本/解析器/embeddingE3 抽样 100% 资源有标签与血缘;越权 0数据治理W4–W8P0Open
GOV-02保留期/legal hold/DSAR/备份删除未闭环业务/审计/备份保留期分离;DSAR 流程与时限;删除传播;冻结审批E3 DSAR 演练在时限内完成;备份到期失效数据治理+法务W5–W10P0Open
GOV-03审计日志可改/缺 WORM/哈希链;PII 可能入日志追加写+哈希链/WORM;PII 脱敏白名单;访问审计;保留期分离E3 篡改可检测;PII 扫描 0 命中安全+数据治理W4–W8P0Open
GOV-04跨境/驻留/供应商训练使用/子处理者未定区域白名单;供应商零留存/不训练条款;子处理者清单;跨境评估E1 清单+合同;E3 路由到未批准区域被拒数据治理+法务W8–W14P1Open
GOV-05未做 PIPL/数据安全法/等保/生成式 AI 服务合规映射按适用性做控制项映射;算法/内容安全/备案评估;法务确认E1 合规矩阵+法务意见;E3 控制项抽测合规+法务W8–W16P1Open
GOV-06缺 DPIA/处理记录/定期 access review高风险场景 DPIA;ROPA;季度权限复核;供应商评估E1 文档;E3 复核记录数据治理W10–W16P1Open

3.6 运营与发布 ​

结论:市场不是“把产品发出去”就结束。产品 Owner、SLA、下架、迁移、计量对账、成本分摊、滥用治理都属于生产闭环;当前只有发布/订阅链的控制面证据。

ID缺口与影响修正动作验收证据(最低)Owner目标优先级状态
OPS-01计量事件不完整/不对账;订阅记录被当用量网关权威事件;事件 schema;幂等去重;迟到调整;日对账<0.1%;争议流程E3 连续 7 日对账达标;差异可解释;生产准入门槛为 E4平台/财务W4–W10P0Open
OPS-02配置发布无签名/金丝雀/回滚/漂移对账签名配置包+config_version;outbox 幂等;金丝雀;一键回滚;期望/实际对账E3 发布失败自动回滚;漂移清单为 0网关/平台W3–W8P0Open
OPS-03产品生命周期/Owner/SLA/下架/迁移未定义产品卡必填 Owner/SLA/版本/依赖/下线策略;deprecation notice;consumer 迁移E1 模板;E3 下架演练不破坏存量产品运营W8–W14P1Open
OPS-04无 FinOps/showback/预算/异常成本按租户/产品/模型/工具成本归集;预算告警;单位成本;异常检测E3 成本报表可对账;超预算告警FinOpsW8–W16P1Open
OPS-05市场滥用/刷量/恶意上架/评价治理未定上架审核、滥用检测、配额、封禁、申诉、评价审核E3 滥用用例被拦截;处置可审计产品运营+安全W10–W16P1Open
OPS-06支持/SLA 分层/on-call/runbook 未定定义支持等级、响应时限、升级路径、值班与 runbookE3 演练工单闭环运营/SREW10–W16P1Open
OPS-07生态伙伴入驻/退出/分成/合规审核未定伙伴准入、合同、数据边界、退出迁移E1 流程;E3 退出演练生态运营W16–W24P2Open

四、关键决策记录(ADR) ​

状态说明:Accepted (desk review) 表示本次桌面评审接受为架构基线,但仍需企业正式评审会签;Proposed 表示需业务/法务进一步确认。

ID决策理由约束/后果状态
ADR-01HiMarket=市场控制面+开发者门户;包皮=控制面产品化层;Higress=唯一数据面入口防止控制面承载业务流量,防止“包皮”被误读为第二个网关所有架构图、路由、SLA 按此分层;HiMarket 故障不应中断存量调用Accepted (desk review)
ADR-02人类、工作负载、Agent 委托、平台服务四类身份分离;tenant_id/subject_id/consumer_id 只来自验证后的上下文身份自报是最大越权根因请求体中的身份字段只作断言;不一致直接 403Accepted (desk review)
ADR-03凭证由 Broker/网关注入;市场连接描述只含地址、协议、工具元数据防止上游长期密钥进入客户端、Nacos、日志与备份禁止“把 key 拼进 MCP 配置返回”;Broker 故障 fail-closedAccepted (desk review)
ADR-04订阅状态机 PENDING → APPROVED → SUSPENDED/REVOKED/EXPIRED;签名授权快照+epoch;数据面本地缓存+fail-closed既避免控制面成为调用链单点,又保证撤销可传播快照 TTL≤60 秒;撤销目标≤10 秒;控制面不可达且无法确认时拒绝新调用Accepted (desk review)
ADR-05企业 ACL 由 Knowledge Broker 负责;RAGFlow permission 只是底层能力RAGFlow 的 me/team/public 不等同于企业租户/文档 ACL服务端生成过滤条件;禁止客户端传 dataset_ids 决定权限Accepted (desk review)
ADR-06记忆隔离层级 tenant > owner_subject > project > memory_type > visibility;user_id 仅作断言POC 的 user_id 过滤不能证明身份不可伪造身份由签名上下文派生;跨用户/跨租户负向测试为 P0Accepted (desk review)
ADR-07网关计量事件是权威源;聚合账本可重放,不允许反向覆盖原始事件订阅记录不等于用量;双写会产生不可对账的真相event_id 幂等;迟到事件调整分录;日对账<0.1%Accepted (desk review)
ADR-08SSRF 采用显式 allowlist+出站代理/NetworkPolicy+DNS rebinding 防护;禁止绕过 RAGFlow 护栏“绕过私网限制”会把知识库变成内网跳板内网模型服务由平台维护允许清单;任何例外需安全审批Accepted (desk review)
ADR-09版本基线固定 commit+镜像 digest;RC/SNAPSHOT 不作为生产基线1.0-SNAPSHOT 与 v1.0.0-rc2 不能承诺稳定接口与修复 SLA升级/回滚/索引重建必须演练;版本清单进入证据包Accepted (desk review)
ADR-10证据分级 E0–E4;文档声明不能替代验收当前最大问题是“设计态写成生产态”P0 身份/越权/删除类最低 E3;计量/SLO 生产准入 E4Accepted (desk review)
ADR-11Java 模块 M0–M8 / 功能里程碑 0–3 与生产闸门 P0/P1/P2 分离;两者都通过才可上线施工完成不等于可治理、可运维、可对账每个模块在需求文档标注闸门与证据等级Accepted (desk review)
ADR-12风险接受必须由业务 Owner 签字,写到期日与补偿控制;到期自动回到 Open防止“永久例外”与口头豁免最长 90 天;安全/数据治理类例外需双签Accepted (desk review)
ADR-13HiMarket fork 建立 upstream sync、patch backlog、差异清单与退出预案1.0-SNAPSHOT 的长期维护与 CVE 响应不能靠临时补丁每季度评估 upstream;关键 CVE 有 SLA;保留回迁/替换路径Proposed
ADR-14合规按适用性映射 PIPL、数据安全法、等保与生成式 AI 服务管理要求;由法务/合规确认企业知识/记忆/模型服务涉及个人信息与内容安全本专栏只给控制项,不构成法律意见;上线前需正式评估Proposed

五、跨文档一致性修正 ​

文档冲突/缺口本轮修正状态
00一句话把“发布→订阅→…→观测”写成“全闭环”,易被读成已完成改为“目标闭环(当前未完成)”;补 06 与 14–16 目录;路线加 G0 评审闸门已修正
00专栏结构表缺 06、14、15、16补入四篇定位;说明 14–16 是目标态施工图,不是验收结论已修正
01/04/05/06@PublicAccess 计数写作 34,与源码不符(把注释/文档引用也计入)回正为 17 个注解 / 17 个 GET 端点;注明以运行时扫描为准已修正
04“订阅链闭环”易与“数据面闭环”混淆改为“订阅链贯通(控制面)”;明确凭证/调用/计量未完成已修正
05审核范围只写 00–04、10–13扩为 00–16;补委员会评审篇与证据分级已修正
05P0 闸门缺工作负载身份、授权快照、配置回滚、容量、治理、Denial of Wallet、管理面 MFA/JIT补入 P0/P1 清单与证据类型;排期改为 6–8 周已修正
14自称“生产方案、不设任何先验证前置”;“禁用 POC 字样”改为“生产目标态设计”;删除以口径替代证据的规则;补 06 闸门约束已修正
14“HiMarket 就是接入层/包皮层底座”易被读成数据面明确为“控制面/门户接入的产品化底座”,数据面仍是 Higress已修正
15/16“生产施工图、不设前置”与 05 证据结论冲突统一为“目标态施工图”;“已实证”按 E1/E2 解释,不等于生产验收已修正
16Security 模块写“Higress 安全管控已实证”,但本环境未部署 Higress改为“方案/源码存在,未部署验收”;安全能力随 M1 网关落地后再取证已修正
16 §2.6Agent 委托写成“继承人类 sub”,与 05 §4.5 的 sub=Agent/act=Human 冲突改为 sub=Agent、act=人类、aud=产品,不复制人类 Token已修正
16功能里程碑 0–3 未说明与生产闸门关系增加“功能里程碑≠生产闸门”的口径,引用 06 ADR-11已修正
全部状态散落在各篇以 06 台账为唯一状态源;其他篇只引用,不另立状态已建立

六、闸门状态板与证据包规范 ​

6.1 当前闸门状态 ​

闸门退出标准当前状态已 Verified阻断项(Top)裁定
P0 生产阻断25 项 P0 全部达到最低证据等级;无未签字例外Blocked0 / 25SEC-01/03/04/05/06/09、KNO-01/02/03、MEM-01/02、SRE-02/03、GOV-01/02/03、OPS-01/02No-Go(生产)
P1 能力可用P0 关闭;23 项 P1 有证据;知识/评测/容量达标Blocked0 / 23KNO-05、SRE-05、SEC-10/11/12/13、ARC-07、OPS-03/04/05/06未启动
P2 运营闭环P1 关闭;2 项 P2 完成;成本/生态/漂移巡检常态Blocked0 / 2ARC-06、OPS-07未启动
内部试点(受限)P0 安全类至少 E2+隔离环境;不接真实员工数据;有 kill switchConditional—SEC-01/03/05/06、KNO-03、MEM-02可有条件试点

状态统计:Verified 0;In Progress 3(ARC-01、ARC-02、MEM-01);Open 47。 这是如实状态,不是悲观结论;没有证据就不应写 Verified。

6.2 P0 最小关闭集(Top 12) ​

下列是最小关闭集,不是全部 P0;完整 25 项见 §三,任何 P0 未关闭都不能以“Top 12 已完成”替代。

  1. SEC-01 OIDC 全量校验与负向用例。
  2. SEC-03 工作负载身份,禁用静态 key。
  3. SEC-04 Agent 委托 Token Exchange。
  4. SEC-05 凭证中介与全链路密钥扫描。
  5. SEC-06 授权快照/epoch/撤销传播/fail-closed。
  6. SEC-09 MCP 工具契约、会话绑定、出站治理。
  7. KNO-01 Knowledge Broker ACL。
  8. KNO-02 RAGFlow 稳定版+digest。
  9. KNO-03 知识跨租户负向测试。
  10. MEM-01/02 记忆身份绑定、删除与 legal hold。
  11. SRE-02/03 HA 拓扑与容量压测。
  12. OPS-01/02 计量对账与配置回滚。

6.3 证据包规范 ​

每个 P0/P1 项在 evidence/<闸门>/<ID>/<YYYYMMDD>/ 下提交:

text
README.md          # 结论、范围、版本、证据等级、评审人
commands.txt       # 可复现命令
raw/               # 原始输出、日志、截图、报告
summary.md         # 通过/失败项、差异、遗留风险
hash.txt           # 证据文件 SHA-256

要求:

  • 证据必须绑定版本:HiMarket commit、镜像 digest、RAGFlow 版本、mem0 版本、模型名与版本、配置版本。
  • 负向测试必须包含预期拒绝与实际拒绝,不能只贴成功请求。
  • 压测必须包含输入假设、场景、瓶颈、30% 余量,不能只贴 QPS 截图。
  • 故障演练必须包含注入方式、影响面、止损时间、恢复时间、数据一致性。
  • 计量对账必须包含网关事件、聚合账本、财务/计费系统三方差异。
  • 任何截图都不能替代原始日志;任何文档都不能替代证据包。

七、遗留风险与不宣称项 ​

7.1 当前无正式 Accepted Risk ​

本轮不设任何“默认接受”的风险。6.1 的“内部试点 Conditional”只是评审建议,不是 Accepted Risk;若业务要带风险试点,必须满足 ADR-12:业务 Owner 签字、到期日≤90 天、补偿控制、复审日期;安全/数据治理类需双签。

7.2 明确不宣称(Non-Claims) ​

  • 不宣称生产可用:当前最多支撑 POC 与隔离环境内部试点。
  • 不宣称数据面闭环:Higress 未安装,真实 MCP/模型调用、工具发现、限流、计量未完成。
  • 不宣称订阅即授权:订阅 APPROVED 只代表市场关系成立。
  • 不宣称多租户隔离已证明:没有跨租户/跨用户负向测试报告。
  • 不宣称 user_id 过滤等于身份绑定:mem0 POC 只证明存储过滤。
  • 不宣称 RAGFlow/mem0 可生产:RC 版本、单机部署、无 HA/容量/删除演练。
  • 不宣称已做安全渗透/红队:没有第三方报告。
  • 不宣称已做 HA/DR/压测:没有故障注入与恢复演练。
  • 不宣称计量可结算:没有三方对账与差异<0.1% 的证据。
  • 不宣称合规已批准:没有法务/合规签字,没有 PIPL/等保评估结论。
  • 不宣称 08 专栏证据适用于本环境:只能复用原则,不能复用环境结论。
  • 不宣称企业正式委员会已会签:本篇是桌面评审记录。

7.3 主要遗留风险 ​

风险影响缓解方向
HiMarket 1.0-SNAPSHOT upstream 不稳定接口/迁移/安全补丁不可控固定 commit/digest;fork 差异清单;季度升级评估
RAGFlow RC 版本行为变化解析/检索/权限回归锁稳定版;黄金集回归;索引可重建
模型供应商数据驻留/零留存合规与数据泄漏区域白名单;合同条款;脱敏;回退模型
内部人滥用与管理面提权大批量数据外泄MFA/JIT/break-glass;最小权限;审计与 access review
MCP/Skill 供应链投毒代码执行/数据外泄签名、SBOM、扫描、出站白名单、运行时隔离
成本失控/Denial of Wallet预算击穿三级配额、预算、异常检测、熔断、FinOps

八、下一次评审入口条件 ​

满足以下条件后,才进入P0 闸门评审(不是“文档评审”):

  1. SEC-01/03/04/05/06/09 的证据包齐备,且至少 E3;安全评审人签字。
  2. KNO-01/02/03 与 MEM-01/02 的跨租户/跨用户负向测试报告齐备,越权为 0。
  3. 真实数据面链路可复现:Consumer → Higress → AuthZ → Credential Broker → MCP/模型 → 计量事件。
  4. 配置发布失败可自动回滚;期望/实际配置漂移为 0。
  5. 容量模型用实测数据填完;HA 单节点故障演练通过。
  6. 计量三方对账连续 7 日差异<0.1%,或差异全部可解释并有调整分录。
  7. 06 台账中所有 P0 状态更新为 Verified 或有签字的 Accepted Risk。
  8. 00/05/14/15/16 的 P0 口径冲突扫描为 0;所有“已实证/生产可用”均有 E 级标注。

评审节奏:

  • 每周:P0 burn-down + 阻断项升级;
  • 每两周:架构/安全/知识记忆交叉评审;
  • 每月:闸门状态板 + 风险接受复审;
  • 每次模型/解析器/权限策略/网关配置变更:相关 P1/P0 回归,失败即重开。

变更控制:

  • 新增需求先登记 ID、Owner、闸门与证据计划,不直接改“已完成”;
  • 任何“降级/绕过/临时开关”必须走 ADR-12,写补偿控制与到期日;
  • 文档与实现不一致时,以源码/运行时证据为准,并在 24 小时内修正文档口径。

九、评审记录 ​

视角评审角色结论条件/遗留
总体架构AI Infra 架构师(主席)有条件通过边界与里程碑×闸门矩阵需正式会签
身份与安全身份安全评审人不通过(生产)SEC-01/03/04/05/06/07/08/09 全开
知识与记忆知识/记忆平台评审人不通过(生产)KNO-01/02/03、MEM-01/02 全开
SRE/容量/灾备SRE 评审人不通过(生产)SRE-01/02/03/04 全开
数据治理与合规数据治理/合规评审人不通过(生产)GOV-01/02/03 全开;合规映射未做
运营与发布产品/运营评审人不通过(生产)OPS-01/02 全开;生命周期/FinOps 未闭环

记录性质:本篇为 2026-10-26 桌面评审记录,由 AI Infra 架构师牵头、按六视角交叉审阅形成;不是企业正式评审会签。正式评审需补充人名、签字、日期、法务/合规意见与证据包索引。


附录 A:本次源码复核命令(可复现) ​

目的:让评审中的源码事实可被第三人重跑,而不是只引用结论。路径按本地快照替换。

powershell
$repo = 'C:\Users\Administrator\Desktop\02-项目代码\himarket'

# 版本基线
git -C $repo rev-parse --short HEAD
Select-String -Path "$repo\pom.xml" -Pattern '<version>' | Select-Object -First 1

# Controller 数量
(Get-ChildItem $repo -Recurse -Filter '*Controller.java' -File | Measure-Object).Count

# ProductType 枚举
Get-Content (Get-ChildItem $repo -Recurse -Filter 'ProductType.java' -File | Select-Object -First 1).FullName |
  Select-String -Pattern '^\s*[A-Z_]+\s*[,;(]'

# 实际 @PublicAccess 注解数(只匹配独立注解行,排除注释/文档引用)
rg -n --glob '*.java' '^\s*@PublicAccess\s*$' $repo | Measure-Object

# OIDC TODO
rg -n 'TODO.*JWK|Verify the ID token signature' $repo

# 连接描述与脱敏
rg -n 'toTransportConfig|intranet' $repo
rg -n 'sanitize|subscribeParams' $repo

本次结果:commit 3a63fc5;pom.xml 为 1.0-SNAPSHOT;28 个 *Controller.java;ProductType 7 类;@PublicAccess 17 个注解 / 17 个 GET 端点;OidcServiceImpl 的 JWK 验签为 TODO;toTransportConfig() 过滤 intranet;sanitize() 仅清空 subscribeParams。

注意:静态扫描只能证明 E1(源码存在/风险存在),不能证明运行时端点、权限与数据面行为;运行时结果仍需 E2/E3 证据包。


适用:HiMarket 企业 Agent 生态市场(架构评审与闭环)| 上游基准:05 架构基准、00 总纲、14–16 目标态施工图 | 状态源:本篇 | 初稿 2026-10-26

把 AI 工程讲到既懂也会用