5.1 KiB
5.1 KiB
ai-chat 上下文管理与信息组织·完善设计(2026-10-18)
用户令:ai-chat agent 上下文管理/信息组织开发完善;回复别太口水话(2026-10-18)。 证据输入(问题全量论证在彼,此处只引编号不重复):
temp/深查-aichat对话质量复测-2026-10-17.md(E1-E13)、temp/深查-aichat信息UX-2026-10-17.md(F1-F6)。 现状判定:10-04 三大病(上下文失控/反复压缩/终局缺失)基本治愈;残量集中在恢复链污染、终局态半闭环、存量脏数据、信息可达性、输出纪律五个结构性面。
一、信息流模型与缺口定位
链路:发起(直发/inject) → 目标提取(pinned_goals) → 上下文组装(system+摘要+近期) → 执行循环 → 压缩(view/cache) → 恢复(recovery) → 投影(轮桶/轨迹卡) → 呈现(桌面/飞书)
| 缺口 | 根因(结构性,非散点) | 归并的散点 |
|---|---|---|
| G-A 恢复链身份未建模 | 恢复消息无类型标记,兼具「系统信号」与「用户输入」双重身份,被目标提取源再次吸收 | E1 套娃、E3 二次恢复、看板 649 行恢复目标完整性守卫 |
| G-B 终局态半闭环 | boundary_json/loop_state 字段已建、写入闭环未建(填充率 0) | P2-5、E3 竞态窗口 |
| G-C 写入不保数据语义 | 写入方各自为政,全量重写/双写不保留原义 | E11 created_at 重写污染 1750 条、E5 存量目标不迁移、E12 双写 |
| G-D 信息可达性瓶颈 | 呈现层硬上限+折叠体内不可见 | F4-1 会话 50 上限(实测 115 条已击穿)、F1-3+F3-2 注入降级藏审批、F6-1 |
| G-E 输出纪律缺失 | 聚焦准则管「答什么」,不管「怎么答」——主提示词无回复风格条款 | 用户口水话反馈(本次令);摘要提示词已有该纪律可对齐 |
| G-F 阴性结论无守卫 | 工具 0 命中被当事实断言,无复核引导 | E6 假阴性 3 轮错判链 |
二、修复批次(领单视角,M1 先行)
M1 · P1 上下文正确性
- E1+E3 恢复链治本(G-A):恢复消息加 source 标记(与看板 961② inject 标记同基建,复用 V52 source 字段);build_recovery_message 过滤
[系统恢复]前缀目标;目标写入侧拒收同前缀。防二次恢复:快照全部目标=completed 时短路,或恢复后 N 分钟窗口禁重复。 - E11 created_at 保义(G-C):message_repo.rs:285 全量重写保留原 created_at(records 读取带出原值回写)。
- E6 阴性存疑(G-F):search_files/grep 0 命中时结果强制附「阴性存疑,建议复核路径/glob」标记(seq 1549 hint 雏形转正)。
- E4 跑题换装验证:三源活跃度排序已在树(第五十三段),换装后重放 6a5a3e04 seq1802 场景验证。
M2 · P2 上下文域
- E5 存量目标一次性迁移(G-C):active 目标命中「执行/搜索/查看+工具参数」形态或
[系统恢复]/[补充指令]前缀 → 降级为非目标或重取首条任务消息。 - E2 压缩降级透出:压缩失败兜底时前端状态条「上下文已降级」,禁静默。
- E13 超时连败收敛:同命令超时连败 N 次转「换方案/问用户」分支(与看板 B5d 退避策略同族,合并实施)。
- P2-5 终局闭环(G-B):停靠/终局时填充 boundary_json/loop_state,不只落 status。
M3 · P2/P3 信息组织域
- F4-1 会话可达性(G-D):列表 offset 游标分页+侧栏「加载更多」;搜索走后端 LIKE(title+消息内容)。
- F5-1+F5-2 飞书审批闭环(同根一改双收):决议词表归一(trim/剥标点/同义词,复用 normalize_halfwidth)+ 订阅 AiToolCallCompleted 推终态卡;pending 为空时决议回「已失效」提示而非静默放行。
- F1-3+F3-2 折叠体可达(G-D,同根):executing 判定改「桶内存在 running/pending 工具」;scrollToFirstPending 前按 data-trace-key 预展开含 pending 的轨迹卡。
M4 · 输出纪律+UX 小批
- G-E 提示词输出纪律:system_prompt_parts 行为准则追加「回复风格」段——结论先行直接给动作/结果;省略复述用户问题、客套开场、总结性收尾;要点优先于段落;用户没问的不展开。中英双语同步+测试断言(对齐 prompt.rs 既有测试范式)。注意别过度约束:需要解释时照常解释,反的是空话不是内容。
- UX 确定性小批:F1-1 i18n 补键 / F1-2+F3-1 主题 token 化 / F2-1 aria-label / F4-2 loaded 标志 / F6-2+F6-3 Esc 关闭 / 看板尾部队列带图项标记(10-18 残留)。
三、验收口径
- 复测脚本复跑(复用
temp/复测-aichat质量-1017/脚本,timestamp 列口径):恢复消息套娃=0、created_at 污染增量=0、boundary_json 填充率>0(新停靠会话 100%)。 - 可达性:115 条活跃会话全量可从侧栏到达;审批卡在任何折叠形态下 scrollToFirstPending 均可见。
- 输出纪律:3 个真实会话抽查,开场复述/空收尾/无信息客套=0;结论仍在首屏。
- 每批销账附验收命令输出(G4 惯例)。