首页 / 文章 / AI代理分析器——衡量代理成本、缓存浪费与上下文膨胀
← 返回
AI技术

AI代理分析器——衡量代理成本、缓存浪费与上下文膨胀

✍️ zhirenhun 📅 2026/7/22 👁 140 阅读 ⏱ 6 分钟
AI代理分析器——衡量代理成本、缓存浪费与上下文膨胀

AI代理分析器——衡量代理成本、缓存浪费与上下文膨胀

原文:https://dev.to/rguiu/ai-agent-profiler-measure-agent-cost-cache-waste-and-context-bloat-p86

我构建了一个本地优先的性能分析器,它作为透明反向代理位于你的编码代理(Claude Code、OpenCode)和LLM提供商之间,记录每个请求且不增加延迟。这就像是你的代理的perf工具——精确显示你的token去向。

实时演示(包含示例数据的只读仪表板)。

分析我自己的会话后揭示的问题

  • 我的API成本中只有约60%是实际提示词。其余是我从未见过的代理开销——子代理探索(搜索)、上下文压缩、当我离开时的接续摘要,以及会话标题生成。该分析器将每个请求分类为11种类型(主请求、搜索、压缩、接续、标题、子代理、网页抓取、配额、工具结果、指南、未知),并显示"按类型分类的成本"表格。当我告诉代理"彻底探索"时,仅搜索子代理就消耗了约25-30%的token。
  • 5分钟缓存TTL惩罚是真实且昂贵的。Claude Code放置了cache_control: {"type": "ephemeral"}标记,但没有明确的TTL——因此你的缓存前缀(系统提示、工具、消息历史)在大约5分钟不活动后过期。离开去阅读文档或喝杯咖啡,回来后下一个请求就要为可能超过200K的token支付完整的缓存写入费用。在Opus模型上,缓存写入是你回来后第一个请求的巨大乘数。分析器检测冷重新生成,用严重性徽章标记它们,并精确显示每个空闲间隙的成本。
  • 长会话会加剧这个问题。每一轮都会增加缓存前缀,因此冷刷新成本线性增长。一个3小时的会话每次过期时可能重新写入超过200K的token。分析器跟踪上下文随时间增长,并在工具定义本身在每个调用中重新发送10-15K token时发出标记。
  • 我尝试优化但基本失败了。我构建了一个完整的优化层(修剪过时的工具结果、压缩系统提示、移除未使用的工具)并进行了基准测试。早期数字看起来惊人——但它们是错误的。跨会话缓存预热膨胀了基线,而成本模型最初忽略了缓存写入token。一旦两者都修复,节省就消失了。编辑缓存前缀会将廉价读取变成昂贵写入,而客户端每轮仍然重新发送完整的历史记录。我在仓库的docs/optimization/FINDINGS.md中写了验尸报告。

如何尝试

npm install -g ai-agent-profiler
aap install              # 种子配置
aap serve                # 终端1:代理 + 仪表板在 :8080/ui
aap run claude           # 终端2:通过代理启动Claude Code

支持Anthropic、OpenAI、DeepSeek、AWS Bedrock(SigV4)和Ollama。零遥测,秘密已编辑。所有指标可从原始跟踪重建。

仓库:https://github.com/rguiu/ai-agent-profiler

我希望能得到反馈

  • 我遗漏了哪些分析盲点?关于你的代理,你今天无法回答什么问题?
  • 有没有人尝试过代理级别的优化并遇到不同的经济效应?我是否错过了某个技巧,还是提供商缓存对于代理发送请求的方式确实接近最优?
  • 知道大约40%的API账单是非用户开销,是否会改变你配置子代理或工具简介的方式?
  • 是否还有其他人为5分钟缓存TTL感到困扰?你在实际使用中观察到的实际TTL是多少?
  • Shell钩子与结构化输出——具有token高效结构化输出的AI原生工具是正确的解决方案,还是输出过滤就足够了?

——

🧑‍💻

zhirenhun

一个热爱技术的程序员,喜欢分享前沿AI知识和开发经验。

AI实践
← 上一篇
我用约970行Python构建了一个编码代理并诚实地对其进行了基准测试
下一篇 →
2026年9大最佳开源大语言模型(对比)

📌 相关推荐

停止相信仅文本代理排行榜:来自 Cua-Bench 和 Factorio 的教训
2026/8/26
Agent Memory 有两种不同含义,回答引擎给出的却是错误的那一种
2026/8/26
LLM的止境:AI辅助VAPT流水线的确定性评分
2026/8/22
← 返回文章列表