Files
social-app/docs/todo/2026-03-17-worker-token-latency-optimization.md
T
qzl 257cb0f5d5 docs: 更新自动化记忆设计文档与协议路由
- 重构 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 文档
2026-03-18 17:03:33 +08:00

3.0 KiB
Raw Blame History

Worker Token/Latency 优化 TODO

日期: 2026-03-17 Owner: backend runtime 状态: pending

背景

  • Router 阶段成本与延迟基本可接受。
  • Worker 阶段(deepseek-chatinput_tokenslatency 显著偏高,是总成本的主要来源。
  • 优化目标是在不降低结果质量与稳定性的前提下,优先压缩 Worker 输入 token。

现状观察

  • Worker 平均 input_tokens 明显高于 Router。
  • Worker 平均延迟明显高于 Router。
  • 成本主要由 Worker 阶段贡献。

核心优化方向(按优先级)

P0(优先执行,低风险高收益)

  1. 路由提示词瘦身:从“全量路由清单”改为“route_id 约束 + 服务端映射”。

    • 模型仅输出 route_id 与必要参数。
    • 后端基于静态 route catalog 映射到最终 path
    • 目标:减少每次 system prompt 的固定 token 开销。
  2. Finalize 最小上下文化:避免 finalize 回放完整 memory。

    • finalize 阶段仅输入:最后一轮候选答案 + 必要工具结果摘要 + schema 指令。
    • 不再注入完整历史会话。
    • 目标:降低两段式结构化输出的额外输入成本。
  3. 工具按需暴露(dynamic tool allowlist)。

    • 按 router 的 task/result typing 只下发当前任务必需工具。
    • 避免每轮 ReAct 携带全量工具 schema。
    • 目标:降低每次 reasoning 的工具描述负担。

P1(次优先,稳定收益)

  1. system prompt 分层裁剪。

    • agent_typeui_mode 组装最小提示词集合。
    • Router 不携带 Worker 专属规则;ui_mode=none 不携带 rich UI 细则。
  2. 输出体积约束。

    • 限制 key_pointssuggested_actionsui_hints.actions 数量与文本长度。
    • 降低 output_tokens,同时减少前端渲染负担。
  3. 上下文策略优化(摘要 + 最近少量原文)。

    • 从“固定最近 N 轮原文”改为“结构化摘要 + 最近 1~2 轮原文”。
    • 控制长会话 token 膨胀。

P2(可选增强)

  1. Prompt 缓存命中优化。
    • 固定可缓存前缀,动态段后置。
    • 利用 provider prompt cache 降低计费 token(若模型侧支持)。

不建议作为当前主线

  • 直接切换为 ReAct 原生 structured_model 作为主方案(当前实测稳定性与成本不占优)。
  • 在未完成 P0 优化前,优先投入复杂的 ReAct 内核重写。

验收指标(更新)

  • 在典型多轮场景中,Worker input_tokens 降低 >= 30%。
  • Worker p95 latency_ms 降低 >= 20%。
  • 结构化输出校验成功率不低于当前基线。
  • 关键路径功能行为保持不变(agent run 结果与前端交互不回退)。

验证方式

  1. 固定场景脚本对比(优化前/后同输入):
    • 指标:input_tokensoutput_tokenslatency_mscost、结构化成功率。
  2. 线上观测(public.messages):
    • 按 stagerouter/worker)聚合对比日均与 p95。
  3. 回归校验:
    • 工具调用结果一致性;
    • ui_hints/ui_schema 可渲染性与导航动作正确性。