docs(agent): update steering evidence

This commit is contained in:
jxxghp
2026-09-11 22:21:35 +08:00
parent 46d80a7c6a
commit 7fcf6aace5

View File

@@ -118,7 +118,7 @@ uv run --locked --no-sync python -m scripts.evaluation --live \
这轮真实运行先发现两个可复现边界工具结果只有尾部时LangChain 默认按 `start_on=human` 裁剪会返回空列表;即使允许尾部裁剪,若丢掉首条用户消息,摘要也会忘记输出 schema 并把 `total_count` 误当成第 7 页依据。`ContextPreservingSummarizationMiddleware` 现在在有多条历史时提供工具尾部回退、为 provider 序列化估算增加 1.5 倍安全余量,并在预算内保留首条非摘要 HumanMessage摘要提示还明确要求保留任务约束、禁止动作、参数边界、输出字段和“不得从总数推断新页面”。单条不可裁剪输入仍返回“新建或清空会话”的明确错误不会无限重试。
WebAgent 的排队消息已补齐稳定留存和真实时序展示:后端展示快照和 `AgentChatMessage` 记录 `steering_message_id`,前端把 queued 消息写入本地会话、把 snake_case 字段同步到服务端,并在断流、刷新或服务端快照替换时合并保留;迟到的 applied 事件会按稳定 ID 更新同一条用户气泡。应用点会收口前一段助手、把用户消息插入其后并创建 continuation 助手,后续文本和工具事件按真实事件流进入 continuation。工具事件携带稳定 `tool_id``running/done/error` 状态,前端可区分真正执行中的工具和已完成/失败的工具,不再把所有提示显示为“最新一条执行中”。追加验证发现 continuation 助手插入后若把原始对象直接存入 steering 映射,后续工具状态会写入但不会触发 Vue 重渲染;前端提交 `44e19778b70fd17bc0a7ddf63021866ef45bdaa5` 改为从响应式消息数组取回 continuation并增加“工具 1 完成 → 插入用户消息 → 工具 2 running”的时序回归。本轮后端相关测试 162 项、前端 `AgentAssistantPanel.spec.ts` 42 项、`vue-tsc --noEmit`、格式和 ESLint 通过,远端 `Frontend Tests` run [34596734349](https://github.com/jxxghp/MoviePilot-Frontend/actions/runs/34596734349) 成功。
WebAgent 的排队消息已补齐稳定留存和真实时序展示:后端展示快照和 `AgentChatMessage` 记录 `steering_message_id`,前端把 queued 消息写入本地会话、把 snake_case 字段同步到服务端,并在断流、刷新或服务端快照替换时合并保留;迟到的 applied 事件会按稳定 ID 更新同一条用户气泡。应用点会收口前一段助手、把用户消息插入其后并创建 continuation 助手,后续文本和工具事件按真实事件流进入 continuation。工具事件携带稳定 `tool_id``running/done/error` 状态,前端可区分真正执行中的工具和已完成/失败的工具,不再把所有提示显示为“最新一条执行中”。追加验证发现 continuation 助手插入后若把原始对象直接存入 steering 映射,后续工具状态会写入但不会触发 Vue 重渲染;前端提交 `44e19778b70fd17bc0a7ddf63021866ef45bdaa5` 改为从响应式消息数组取回 continuation并增加“工具 1 完成 → 插入用户消息 → 工具 2 running”的时序回归。随后提交 `7c64d05874a444b9bbd128b54421a1ae9da13bce` 将尚未收到稳定 ID 的多个 queued 草稿按提交顺序插入当前助手边界,并覆盖 ACK 断流后的顺序收口;前端 `AgentAssistantPanel.spec.ts` 43 项、类型检查、格式和 ESLint 通过,远端 `Frontend Tests` run [34602237521](https://github.com/jxxghp/MoviePilot-Frontend/actions/runs/34602237521) 与构建 run [34602871223](https://github.com/jxxghp/MoviePilot-Frontend/actions/runs/34602871223) 成功。
前端后续修复把未收到稳定 `steering_message_id` 的本地草稿改为有序集合,并在 queued ACK 阶段直接插入当前助手段之后的真实边界;应用事件只负责收口旧助手、创建 continuation 和绑定稳定 ID。这样主流事件、短 ACK、断流恢复或多个补充消息交错时用户消息从首次显示开始就保持工具调用之间的顺序不会先落在列表末尾再跳到顶部也不会因单一草稿引用被覆盖。新增回归覆盖两个 ACK 断流后按提交顺序应用的补充消息;前端 `AgentAssistantPanel.spec.ts` 现为 43 项,类型检查、格式和 ESLint 均通过。