运行观测与真实效果验收方案

September 22, 2026 · View on GitHub

English | 中文

状态:0.12.1 后续待实施与待验收方案,更新于 2026-09-23。本文不表示指标已实现、业务 校准已完成或允许开启自动学习。KIP v2 尚未上线,以新建 v2 Space 为基线,不安排 旧数据盘点和迁移;正常重启、驱逐、取消、撤权和确认丢失恢复仍是必须验证的能力。

1. 当前基础与责任边界

责任方复用内容待交付
Brain注意力报告动作收据后果入口运行状态持久指标身份、有界盘点、阶段计时、成本归属与授权导出
Brain业务 HTTP 适配器Recall 收据、utility/semantic/trust 运行时提供评测所需的可信测量/审计接缝,保留原生权限和预算
MIB长期学习框架、产品回归、冻结锁与报告重放真实宿主准入、完整尝试级测量、语义/效用/信任实验配置及可验证报告
业务宿主 / Anda Bot 集成隔离运行及已有 Agent/记忆后端协议真实 executor、独立 observer、计划工厂和提供商用量接线;如实声明支持的条件
部署方 / 独立审查者现有版本化运行配置冻结合同、审查实测校准、分别开启各能力

已核对本地 MIB 的 scripts/check-brain-product-regression.pysrc/mib_runner/learning/benchmark.pydocs/harness/MIB-Learning-Longitudinal.md。 当前产品回归脚本运行的是 fixture,不是 Brain;长期学习报告尚不能证明完整原生学习, 普通 Agent 输出也没有完整的尝试级提供商用量。先补齐这些接线,再判断真实效果是否通过。

不预设需要发布新版 AndaDB。先验证已有公开收据/历史 API;若实际缺少必要字段, 将上游前置拆为独立交付,先发布再消费。禁止使用 sibling path override,也不在 Brain 内重建全面离线评测器。

2. 冻结测量合同

拟新增 anda_brain/src/observability/,包含版本化事件类型、有界存储、聚合与可选 宿主导出器;通过 lib.rsruntime_api/config.rsspace.rsspace/attention.rs 接线,先注册再开始产生事件。这些模块是计划新增,尚未实现。

RuntimeMeasurement 包含格式、shard、Space instance、原生序号、阶段、操作 ID、 父级/关联引用、事件时间、观测时间、时钟域、结果/原因码、重放身份及可选用量。 不保存提示词、回答、原始 Evidence、用户标识、端点凭据或 token。详细关联引用仅供 可信宿主审计;指标标签只使用有界 stage/status/reason 枚举,不使用 Space、Watch、 actor 或事件 ID,避免泄密与无限标签数量。

事件 ID 由 instance、stage、原生操作身份及收据版本稳定派生。重读或重放同一原生 完成不会增加逻辑完成数;真实网络/模型重试使用独立 call-attempt ID,计入真实费用。 逻辑完成与调用尝试分别统计,不依赖 Nexus 私有幂等键编码。

指标定义与可信来源
deadline→wake定时 Watch 使用 max(0, 原生持久触发时间 - 规范化 due 时间),合法提前匹配不属于时钟错误;无 due 的 delta Watch 单独统计触发事务提交→wake
wake→gate原生 gate 提交时间减其消费的 wake 创建时间;澄清和后继工作按各自来源分别统计
gate→dispatch首次原生分派准入时间减 gate 提交时间;目标确认和独立终结 Outcome 另列阶段
待办数/最老年龄固定盘点边界下的非终态工作,按有界原因分类;未知分派仍为待办,取消/完成排除
覆盖滞后同一原生 Space/arm 内,固定目标序号减已证明消费序号;仅有可信序号时间映射时报告时间滞后
重试/去重/拒绝区分真实尝试与原生回执重放;拒绝的观察只留元数据,不变成可信图事实
后果消费积压各已配置消费者尚未确认的合格收据索引;排除永久不合格项,单列未决接收
学习/复审热任务、归档、容量、未完成复审义务与逾期年龄;归档不代表采纳
成本Formation、Recall、Maintenance、语义求值、gate、执行器及观察者的每次实际模型/工具尝试;分列 token、工具调用、耗时和货币

进程内耗时用单调时钟;跨重启/服务仅比较同一可信时钟域的时间,保留偏差或 unknown。 实验 business time 不与墙钟混用。缺失或时钟倒退产生的无效测量不是零。 记录 measurement_started_at;本次未上线部署不需要补填历史指标。

每笔成本包含 request/attempt 身份、作用域、阶段、来源、token/调用数、可空金额/币种及 accounting_complete。累计提供商快照独立保留,不当增量求和;货币换算须固定提供商、 模型、价格表、币种和生效时间。缺少计费或失败调用用量时,不能宣称总成本完整。 本地 tokenizer 估计值与提供商计费用量分列。

3. 可恢复采集与有界导出

  1. attention/service.rsattention/semantic/runtime.rsaction/{gate,native,dispatch}.rsconsequence/service.rslearning/runtime/{scheduler,catalog,settlement}.rs 及 utility/trust 提交路径加入采集。 确认原生结果后才记为已提交;复用返回的原生引用和当前授权读取。
  2. 工作开始前保存有界测量发现 intent。原生事务与指标写入不假装原子;指标 ACK 丢失 按相同事件 ID 恢复,原生提交后进程退出由有界收据盘点补齐。未决 intent 不冒充完成。
  3. 拟定默认上限:16 个准入槽、每轮盘点 200 条、单事件 64 KiB、每 shard 最多 10,000 条排队记录或 64 MiB,先到者生效;已导出指标保留七天。上限和保留期由 宿主显式配置,序号检查点使用 CAS;暴露缺口、饱和、可选样本丢弃及保留边界。
  4. 指标故障不改变 Decision、Outcome、trust version 或权限,也不阻塞已接收的原生 写入。标记测量不完整并继续有界对账;来源已擦除/不可用时明确记为缺失。 不为恢复指标而额外保留原始文本。
  5. 盘点固定边界并持久化 cursor;部分计数为下界,包含 complete:falseas_ofscannednext_cursor。不能把首屏当全部积压;用 generation/revision 约束避免 新旧工作混算,并披露时钟及扫描滞后。
  6. 拟新增可选 RuntimeStatus.observability,报告配置、健康和完整度。全 Space 库存及 时延仅 auditor 可见;普通接收者继续使用原有过滤计数。先提供可信 Rust sink, 部署指标端点须独立认证,不增加模型写入器或默认公开的指标端点。
  7. 固定且版本化直方图桶,拟用秒数:0.01、0.05、0.1、0.5、1、5、15、30、60、120、 300、900、overflow。报告桶边界及未完成窗口;回归使用 fixture 保留的准确耗时, 不能将分桶估计冒充准确 P95。导出带窗口/事件身份的绝对聚合值,避免导出器重启时 重复增加远端计数。

测试放在 observability/space/tests/:同一提交重复观测、ACK 丢失、两个提交 之间退出、原生失败、旧盘点、多页、时钟倒退、未知分派、成本缺失、擦除/撤权、队列 耗尽、取消/停机排空以及接收者/auditor 隔离。

退出条件:确定性 fixture 可重建每个原生收据恰好一次逻辑完成及所有真实调用,且 不改变分数或权限。同一记录下的主机、存储、负载比较指标关闭/开启:已有 20 Space、 200 Watch、5 秒 tick 基准保持 deadline→wake 的 P95 ≤60 秒,吞吐/时延退化 ≤5%。 这是拟定工程验收门槛,不是生产 SLA;过载和停机单独报告。

4. 将 MIB 接到真实宿主

Brain 测量合同稳定后,在 MIB 与业务宿主分别提交接线。复用 learning/benchmark.py、 不可变锁和分数重放,为 tool_workflow.precondition.v1 接入实际执行器、独立观察者与 计划来源,再允许 normal 和隔离 ungatedpersistentlearning:false 的宿主 继续拒绝,不能改名冒充正常学习组。ungated 仅在隔离原生 trial 内放宽推荐 standing; 每组仍执行当前权限、fence、预算和独立后果检查。

扩展 MIB 报告、schema 和验证器,将每个 Decision、Attempt、Outcome、Trial、Evaluation 和提供商调用关联到准确 run/revision。重放真实工具日志与用量,不信任成功标签或能力 声明。缺失计量保留 unknown/insufficient。训练、验证、世界 seed、隐藏标签及审计材料 不得进入业务 prompt、Formation 或候选生成。可在安装运行身份之前复制不可变事实基线, 不能 fork 已配置的 attention/learning journal。

在 MIB 的 profiles/schemas/src/mib_runner/tests/ 增加独立实验配置和 验证器。语义、utility、trust 的新命令须先实现并文档化;既有长期学习命令并不自动 评估这三类能力。

5. 预注册各自独立的效果门槛

验证前冻结:代码提交、profile/合同摘要、模型部署及 prompt、tokenizer、工具、环境、 独立观察者身份、事实基线、训练/校准/验证划分、全部 seed/条件、预算、缺失规则、 样本量计算与停止规则。只在训练/校准集调参,进入保留验证集前固定参数;重要 pin 变化须重新校准并使用新的保留验证运行。

以下是拟定首版发布指标,须在查看验证结果前批准并冻结;它们不是生产隐含默认值:

能力对照通过条件
学习相同业务模型/工具/预算的 normal、no_memory、隔离 ungated;覆盖早期成功、负迁移、漂移与撤销normal 相对 no_memory 的任务成功率增益,配对置信下界 ≥5 个百分点;不安全率增加上界 ≤1 个百分点;无撤销后使用;各分层全部报告
语义 Watch独立盲标事件页,含文本/混合/空页/未知条件,固定模型/prompt错误 silence 率上界 ≤1%;delta 精确率/召回率及可判定页完成率下界 ≥95%;unknown/漏项不能推进覆盖;另报弃答与时延
utility同优先级内校准排序开/关;单一贡献和配对修订分别验证任务成功率增益的配对下界 >0;不安全率增加上界 ≤1 个百分点;retrieved-only、bundle、重放不加分;必要约束不丢失
contextual trust冻结原生权重与限定域校准权重,使用独立保留事实根限定域 BELIEF 决策错误率降低的下界 >0;无依据 accepted-belief 比例增加上界 ≤1 个百分点;无全局/其他域影响或 confidence 改写;验证回退及漂移
成本/权限每次实际提供商/工具尝试及准确原生来源符合预算资格的原生 success 具有完整实测用量;无虚构零成本、越权、凭据泄露或重复外部效果

语义测试的错误 silence 分母为所有确实包含合格匹配的已标注 Watch/截止窗口,不能只 统计模型实际发出 silence 的窗口。delta 精确率以发出的阳性为分母,召回率以全部 标注阳性为分母;完成率以独立标注为可判定的页面为分母,预期 unknown 单独分层且 不得推进覆盖。空分母为 insufficient,不是满分;每个计划窗口及拒绝都须报告。

预注册效果/安全假设的总体 alpha 为 0.05,事先固定多重比较修正规则和主假设;针对 声明的最小效果,功效目标 ≥80%。在独立 pilot 估计方差与簇大小后,锁定样本量。 不存在适用于所有部署的固定样本数。按独立任务/事实根簇比较或重采样,不把重复事件、 Evidence 副本当独立样本。计划分母保留失败、超时、缺失运行,不剔除不利分层; 严重权限/安全事件立即失败,证据不足不能通过。

示例:299 个独立案例零错误时,未经多重比较修正的单侧 95% 错误率上界低于 1%。 若修正后尾部概率为 a,这个零错误上界至少需要 ceil(log(a)/log(0.99)) 个独立案例; 存在簇相关或观察到错误时,使用预注册的区间方法。原生 trust 每提案最多 32 个样本、 utility 的原生分组上限保持不变;更大的部署验证使用独立实验,不能绕过运行上限或 重用已消费的事实根。

当前 trust 方法只处理二元事实准确率,不做预测概率校准。分别报告 BELIEF 的 accepted/rejected/insufficient 和覆盖/弃答,不能靠全部拒答制造低错误率。 trust 与 utility 对照预注册的允许覆盖损失最多为 1 个百分点;不对 Assertion confidence 计算预测概率 Brier 分数。

6. 实施顺序与交付物

顺序责任方与交付物退出条件
1Brain:事件/时钟/成本 schema、配置与故障测试稳定身份、有界存储、明确 unknown 和隐私规则
2Brain:采集点、盘点、状态和宿主导出恢复/隐私/负载验收通过;同步双语 API/指南/技能
3业务宿主 + MIB:真实绑定及尝试级成本无模型集成测试证明真实原生来源,拒绝不完整能力
4MIB:四类冻结实验配置与重放验证器独立 pilot 确定样本量,锁包含所有标准,机制报告仍为 not_evaluated
5独立评测方:真实保留集运行可复现报告/锁/进度/受控原始材料,各门槛单列 pass/fail/insufficient、排除项与不确定性
6部署方 + 审查者:校准导入与有限放量批准准确配置摘要,验证各能力独立开关和恢复演练

已有命令如下。按标注仓库运行;真实提供商测试需要明确费用预算和实际配置的端点:

# Brain 工程检查
cargo fmt --check
cargo clippy -p anda_brain --all-targets --all-features -- -D warnings
RUST_MIN_STACK=16777216 cargo test -p anda_brain --all-features
RUST_MIN_STACK=16777216 cargo test -p anda_brain --lib
RUST_MIN_STACK=16777216 cargo test -p anda_brain --lib --features wiki
RUST_MIN_STACK=16777216 cargo test -p anda_brain --lib --features mcp

# MIB:fixture/协议验证,不代表 Brain 真实效果
uv sync --extra test
uv run python scripts/check-brain-product-regression.py --output-dir /private/tmp/brain-product-check
uv run pytest tests/test_product_regression.py

# MIB:完成真实绑定、成本和报告验证后再运行。
# 以 examples/learning-longitudinal/experiment.json 为基础,审查并替换为真实端点。
uv run python -m mib_runner learning-benchmark /absolute/private/experiment.json --output /absolute/private/run.report.json
uv run python -m mib_runner verify-score /absolute/private/run.report.json

每次运行使用新的 evaluator 私有输出路径。--resume-lock 保留冻结任务并新建隔离 run, 不允许盲目重放原 run 中未知的外部动作。verify-score 只证明报告内部可重放一致性, 业务发布门槛须由新增 profile 验证器逐项检查。

校准交付物映射到现有 LearningCalibrationUtilityCalibrationTrustCalibration, 包含准确运行摘要、独立审查者和可重放材料引用;语义验收固定准确 evaluator 配置。 先上线只读观测,再仅产提案且关闭自动应用,最后启用一个通过验收的任务/作用域。 拟定灰度观察期为七天且达到锁定的最小独立暴露数,以更晚满足者为准。 出现越权、测量断裂或漂移时停止新增自动工作,对账未知分派、排空写入并保留原生历史。 trust 回退追加受控恢复版本,不能改写 Assertion 或删除治理证据制造健康结果。