docs(aihr): reconcile grounded agent production state

This commit is contained in:
key
2026-08-04 23:09:06 +08:00
parent d3d214efb3
commit 09b1085d9e
7 changed files with 34 additions and 17 deletions
+10 -5
View File
@@ -1,6 +1,8 @@
# 帮道受约束业务 Agent TechSpec
状态:`IMPLEMENTED_AND_LOCALLY_VERIFIED_SHADOW`。已在现役 `/api/aihr/agent/**` 文本请求完成旧响应后异步旁路执行;默认 `OFF`,不改变旧响应,未部署生产。
状态:`IMPLEMENTED_AND_PRODUCTION_ACTIVE_LIMITED_SCOPE`。Grounded Agent 已在现役 `/api/aihr/agent/**` 文本入口落地;仓库默认 `OFF`,生产于 2026-08-04 受控启用 `ACTIVE`,仅接管符合范围和门禁的 `KNOWLEDGE_QA`、`LIVE_MY_WORK`,其余请求及不合格计划回退旧链路。
当前生产 JAR SHA-256:`74d0cd2acc60ebf52f20eb8bee643f59395ba7cff3583076d671e57406f824ac`;服务和公开预检已通过。认证态用户逐例验收、客户端状态 UI 全量验收和人工黄金集召回评测仍为 `PENDING`,因此不宣称生产召回率达标。
## 目标
@@ -83,17 +85,20 @@ Java 契约以 `AihrAgentGroundingDto` 为准。HTTP DTO 在兼容期保持 addi
首批 30 条纯内存契约黄金集覆盖金额口径、`哪些` 路由、CRM 能力幻觉、零证据、待办与流程、多轮第二项、月份纠正、跨项目、过期 factRef、来源冲突、工具失败/超时、模型失败回退、重复调用停止和对抗性槽位误标。该集合验证内部契约,不代表本地 MySQL/Qdrant/真实模型效果;没有 100-300 条人工黄金集前不宣称正式召回率达标。
## HTTP Shadow 边界
## HTTP 运行边界
- `aihr.agent.grounded-mode` 只允许 `OFF/SHADOW`,仓库与生产默认 `OFF`。`SHADOW` 复用现役认证主体、应用和项目输入,但在异步线程中重新解析并校验项目、空间与应用授权。
- `aihr.agent.grounded-mode` 允许 `OFF/SHADOW/ACTIVE`,仓库默认 `OFF`。`SHADOW` 复用现役认证主体、应用和项目输入,但在异步线程中重新解析并校验项目、空间与应用授权;`ACTIVE` 只在文本请求符合严格计划、授权和证据门禁时接管用户可见结果。
- 旧 `AihrAgentOrchestrator` 先完整生成用户可见 `AgentResponse`;旁路的计划、工具、DecisionResult 或失败均不得改写 `answer/status/citations/data/contextVersion`。媒体和附件请求明确跳过。
- 在生产 `ACTIVE` 下,合格文本请求由 `AihrAgentActiveService` 适配为兼容 `AgentResponse`;不支持的意图、工具失败、授权失败或异常继续返回旧链路结果,不改变旧客户端 DTO。
- 专用有界队列满时立即 `REJECTED`,watchdog 超时后取消任务;原子终态保证超时与迟到完成只记录一次。旁路失败不得阻断主请求。
- `aihr_agent_shadow_run` 只保存 run ID、query SHA-256、授权范围哈希、结构化 intent/tool/status/reason、数量和耗时,不保存原始问题、答案、手机号、token、附件名、Citation/Fact 正文或工具响应正文。
- 默认 `grounded-shadow-timeout-ms=4000` 是保守的旁路保护预算,不是模型服务 SLA。2026-08-04 的本地真实模型诊断仅通过进程环境临时放宽到 45000ms;样本显示规划耗时可超过 4 秒,因此在完成人工黄金集、延迟分位数和容量评估前不得开启生产 SHADOW,更不得切换客户端答案。
- 默认 `grounded-shadow-timeout-ms=4000` 是保守的旁路保护预算,不是模型服务 SLA。2026-08-04 的本地真实模型诊断仅通过进程环境临时放宽到 45000ms;样本显示规划耗时可超过 4 秒,因此不能把 4 秒预算当作模型 SLA,也不能据此扩大生产 ACTIVE 范围。生产当前仅保留受控文本范围,仓库默认仍为 `OFF`。
## 2026-08-04 本地实依赖验证
本次只在本地以 `SHADOW + 45000ms` 诊断运行,仓库默认值仍为 `OFF + 4000ms`,用户可见响应继续由旧 Orchestrator 生成。最近一组真实请求的 Semantic Planner 耗时约 `1.4-4.1s`、单次 shadow 总耗时约 `3.1-7.3s`;早期模型冷启动曾出现 `18.4s` 离群值。Qdrant 直接探测约 `0.2s`,当前主要延迟来自受约束模型规划、证据分类和旧知识查询审计,不应仅靠放宽 watchdog 掩盖。默认 4 秒预算仍不足以作为生产 SHADOW SLA,需先取得真实分位数和容量数据。
本地诊断曾以 `SHADOW + 45000ms` 运行,仓库默认值仍为 `OFF + 4000ms`。最近一组真实请求的 Semantic Planner 耗时约 `1.4-4.1s`、单次 shadow 总耗时约 `3.1-7.3s`;早期模型冷启动曾出现 `18.4s` 离群值。Qdrant 直接探测约 `0.2s`,当前主要延迟来自受约束模型规划、证据分类和旧知识查询审计,不应仅靠放宽 watchdog 掩盖。默认 4 秒预算不是模型服务 SLA,后续灰度仍需真实分位数和容量数据。
2026-08-04 生产发布后完成了 JAR、服务、schema 和公开接口核验;未完成认证态用户逐例问答验证。生产 `ACTIVE` 是有限范围的受控运行状态,不等于所有入口都已迁移,也不替代 100–300 条人工标注黄金集。
治理索引已完成本地幂等重建并通过当前事实核对:MySQL 有效 `production`、`PUBLISHED`、`HUMAN_VERIFIED` fragment 为 `224`,`aihr_knowledge_governed_v1` 为 `green`、`224` points、`1024` 维 Cosine,模型为 `BAAI/bge-m3`;224 个 points 与 MySQL fragment 一一对应,payload 必填治理字段缺失为 0,全部属于 `production/PUBLISHED/HUMAN_VERIFIED`。这只证明索引和治理过滤可用,不证明检索召回率达标。