257cb0f5d5
- 重构 automation-memory-design.md 为 v2 版本,新增 Execution Profile 抽象层 - 删除 auth-global-rewrite-design.md 和 auth-global-rewrite-plan.md - 更新 agent/api-endpoints.md 协议文档 - 更新 ASR 与 worker token latency 优化 TODO 文档
3.0 KiB
3.0 KiB
Worker Token/Latency 优化 TODO
日期: 2026-03-17 Owner: backend runtime 状态: pending
背景
- Router 阶段成本与延迟基本可接受。
- Worker 阶段(deepseek-chat)
input_tokens与latency显著偏高,是总成本的主要来源。 - 优化目标是在不降低结果质量与稳定性的前提下,优先压缩 Worker 输入 token。
现状观察
- Worker 平均
input_tokens明显高于 Router。 - Worker 平均延迟明显高于 Router。
- 成本主要由 Worker 阶段贡献。
核心优化方向(按优先级)
P0(优先执行,低风险高收益)
-
路由提示词瘦身:从“全量路由清单”改为“route_id 约束 + 服务端映射”。
- 模型仅输出
route_id与必要参数。 - 后端基于静态 route catalog 映射到最终
path。 - 目标:减少每次 system prompt 的固定 token 开销。
- 模型仅输出
-
Finalize 最小上下文化:避免 finalize 回放完整 memory。
- finalize 阶段仅输入:最后一轮候选答案 + 必要工具结果摘要 + schema 指令。
- 不再注入完整历史会话。
- 目标:降低两段式结构化输出的额外输入成本。
-
工具按需暴露(dynamic tool allowlist)。
- 按 router 的 task/result typing 只下发当前任务必需工具。
- 避免每轮 ReAct 携带全量工具 schema。
- 目标:降低每次 reasoning 的工具描述负担。
P1(次优先,稳定收益)
-
system prompt 分层裁剪。
- 按
agent_type与ui_mode组装最小提示词集合。 - Router 不携带 Worker 专属规则;
ui_mode=none不携带 rich UI 细则。
- 按
-
输出体积约束。
- 限制
key_points、suggested_actions、ui_hints.actions数量与文本长度。 - 降低
output_tokens,同时减少前端渲染负担。
- 限制
-
上下文策略优化(摘要 + 最近少量原文)。
- 从“固定最近 N 轮原文”改为“结构化摘要 + 最近 1~2 轮原文”。
- 控制长会话 token 膨胀。
P2(可选增强)
- Prompt 缓存命中优化。
- 固定可缓存前缀,动态段后置。
- 利用 provider prompt cache 降低计费 token(若模型侧支持)。
不建议作为当前主线
- 直接切换为 ReAct 原生
structured_model作为主方案(当前实测稳定性与成本不占优)。 - 在未完成 P0 优化前,优先投入复杂的 ReAct 内核重写。
验收指标(更新)
- 在典型多轮场景中,Worker
input_tokens降低 >= 30%。 - Worker p95
latency_ms降低 >= 20%。 - 结构化输出校验成功率不低于当前基线。
- 关键路径功能行为保持不变(agent run 结果与前端交互不回退)。
验证方式
- 固定场景脚本对比(优化前/后同输入):
- 指标:
input_tokens、output_tokens、latency_ms、cost、结构化成功率。
- 指标:
- 线上观测(
public.messages):- 按 stage(router/worker)聚合对比日均与 p95。
- 回归校验:
- 工具调用结果一致性;
ui_hints/ui_schema可渲染性与导航动作正确性。