Harness 优化与 Meta-Harness
目录
- 优化目标:不只「更快」,而是「更省、更稳、更可调」
- 延迟优化
- 成本优化
- 稳定性:自愈与重试
- Meta-Harness:用 Agent 优化 Agent
- [与 Agent性能优化与监控 的关系](#与-agent性能优化与监控-的关系)
- 前端视角的 Harness 优化
- 延伸阅读
优化目标:不只「更快」,而是「更省、更稳、更可调」
Agent Harness 的优化维度与纯 API 不同:多步放大任何一步的浪费。一次 5 步 Agent 请求若每步多 500ms 延迟、多 2k input token,总成本可能是单次聊天的 5–10 倍。
| 维度 | 指标 | 2026 参考方向 |
|---|---|---|
| 延迟 | P95 end-to-end | 并行 tool、流式首 token、小模型路由 |
| 成本 | $/successful task | Prompt cache、RAG 减量、步数压缩 |
| 成功率 | task completion rate | Eval Harness 回归、repair 一次 |
| 安全 | guardrail block rate | 误杀率与漏放率分开看 |
延迟优化
1. 流式优先
- LLM:边生成边推给前端(SSE / Web Streams)
- 工具:能异步的不要阻塞 UI(「正在查询订单…」状态)
- 编排:不要等所有 tool 完成才 stream——部分 SDK 支持 interleaved streaming
2. 并行工具
模型一次返回多个 tool_calls 时,无依赖的工具并行执行:
searchUser(id) ─┐
searchOrder(id) ─┼→ 合并结果 → 下一步 LLM
getInventory() ─┘
Harness 在网关层做 dependency graph(简单场景:全部并行;复杂场景用 LangGraph)。
3. 模型路由(Model Routing)
| 子任务 | 模型 |
|---|---|
| 意图分类 / 是否需 tool | 小、快、便宜 |
| 复杂推理 / 长文档 | 推理或 flagship |
| 结构化提取 | 带 Structured Outputs 的 mini |
路由本身可以是 Harness 里的一次 cheap classifier call,或规则(消息长度、是否含附件)。
4. speculative 执行(谨慎)
对高概率 tool(如「查当前用户 profile」)在用户消息到达后 与 LLM 并行 prefetch——命中则省一步。必须有 cache invalidation,否则易脏读。
成本优化
1. Prompt Caching
稳定前缀(system + 工具 schema + 长期 Skill)尽量放 cacheable 块;Harness 保证:
- system 字符串版本化,勿随意改标点
- 工具 schema 变更走发布流程(触发 Eval)
2. 减少步数
- 合并 tool:
getOrderDetail代替getOrder+getItems+getShipping - Plan 一次执行:Plan-Execute 减少「想一步动一步」的往返
- 提前终止:输出验证通过即 stop,不要多余「总结一步」
3. Context 减量
见 模式 ② 上下文预算;额外技巧:
- RAG hyde / rerank 提高精度,降低 k
- Tool result 只回模型需要的字段(projection)
4. 批处理与队列
非实时任务(报表 Agent)走队列 + 批 API,不占在线 P95。
稳定性:自愈与重试
| 失败类型 | Harness 策略 |
|---|---|
| 429 / 5xx | 指数退避 + 换 region/备用 provider |
| JSON 解析失败 | 同一模型 repair prompt 一次 |
| Tool 超时 | 标记 partial,让模型换策略或告知用户 |
| 重复 loop | 模式 ④ 检测后注入「你必须给出 final answer」 |
禁止:无上限重试同一 tool call——会放大下游压力。
Meta-Harness:用 Agent 优化 Agent
Meta-Harness 指:外层再用模型或自动化 分析 trace、调 Harness 参数,而非直接面向用户。
| 用途 | 示例 |
|---|---|
| 日志分析 | nightly 扫 trace,聚类「重复失败 tool」 |
| Prompt 调优 | 对 Eval 失败 case 生成 patch 建议(人审后合并) |
| 策略搜索 | A/B maxSteps=3 vs 5 的成功率与成本 |
| 合成数据 | 从生产 trace 脱敏生成 Golden Set |
边界:Meta-Harness 不得自动改生产配置 without 门禁;输出应是 PR + Eval 通过。
与 Agent性能优化与监控 的关系
该文偏 指标与架构;本文偏 Harness 层可拧的旋钮。面试可合并回答:
性能分三层:模型选型与 cache、Harness 步数与并行、基础设施 autoscale。Agent 场景最大杠杆通常是 减步数 + 工具并行 + 小模型路由。
前端视角的 Harness 优化
- 可中断:AbortController 贯穿 fetch 与 AI SDK
- 乐观 UI:tool 执行中展示 skeleton,不白屏
- traceId 展示(内测):客服可复制 trace 给研发
- Debounce 合并:用户连发消息时 cancel 上一轮 run