你在使用 AI 代理时盲目操作。以下是解决办法。

发布: (2026年3月1日 GMT+8 00:58)
9 分钟阅读
原文: Dev.to

I’m happy to translate the article for you, but I’ll need the text you’d like translated. Could you please paste the content (or the portion you want translated) here? I’ll keep the source link and all formatting exactly as you requested.

故事

上周二凌晨 2 点,我醒来时看到 OpenAI 寄来的一张 $340 账单
我的编码代理整晚都在运行。我以为它只是在重构一些测试,但它在一次格式错误的 API 响应上陷入了无限重试循环,消耗了 800 万 token

我直到收到账单才知道这件事。

如果你正在使用 AI 代理(编码助手、自治任务运行器、聊天机器人),你可能也在 盲目操作。下面是问题的描述以及解决方案。

你看不到的

当你启动像 AiderCursor 或自定义 LangChain 工作流这样的编码代理时,你会看到最终输出:

  • 它写的代码
  • 它给出的答案
  • 它完成的任务

隐藏的内容:

  1. 为了达到这些结果它调用了多少次 LLM
  2. 使用了哪些模型(真的需要 GPT‑4,还是 3.5 就能完成?)
  3. 实际的提示词和响应
  4. 每次调用耗时多久
  5. 哪些调用失败并被重试
  6. 每个任务的费用是多少

你会收到 OpenAI 或 Anthropic 的月度账单,但无法将其追溯到具体的任务或提示词。这就像运行一个没有日志和监控的网络服务——你不会这么做。那么,为什么要在 AI 上这么做呢?

No Visibility 的后果

  1. 意外账单 – 您的代理可能使用远超预期的 token(例如,重复读取同一文件 15 次,或在每次调用时将整个代码库作为上下文发送)。在账单到来之前您根本不知道。
  2. 静默的性能问题 – 缓慢是由于 LLM 延迟、网络问题,还是提示词不佳?没有追踪信息只能猜测。
  3. 无法优化 – 不能衡量的东西就无法改进。是否可以在某些调用中使用更便宜的模型?是否提示词过多?缓存是否生效?毫无头绪。

为什么现有的可观测性平台不足

典型建议:使用可观测性平台(LangSmith、Weights & Biases、Arize、Langfuse 等)。它们很棒,但存在两个问题:

  1. 仪器化开销 – 你必须对每个代理、框架和自定义脚本进行仪器化。如果你将 LangChain 与原始 OpenAI 调用和 Anthropic SDK 调用混合使用,获取一致的追踪将是一场噩梦。
  2. 覆盖不完整 – 它们只能看到你发送给它们的内容。忘记包装一次调用,它就不可见。如果某个库直接进行 API 调用,你就会错过它。

真正的解决方案:中心代理路由器

你真正想要的是一个 单一的瓶颈点,它能够自动看到每一次 LLM 调用,而无需记得去给任何东西加仪器。

架构

Your Agent → Router → OpenAI / Anthropic / Local Model

而不是:

Your Agent → OpenAI API
Your Agent → Anthropic API
Your Agent → Local Model

路由器会看到每个请求和响应,记录日志,跟踪时间,计算费用,并向你展示实际发生的情况。

介绍 NadirClaw

这是我们构建 NadirClaw 的过程(完全披露:我负责维护它;它是开源的,地址 https://github.com/doramirdor/NadirClaw)。它最初是作为一种节省成本的工具(在可能的情况下将昂贵的调用路由到更便宜的模型)。但可观测性部分的价值远超预期。

当每一次 LLM 调用都经过一个中心点时,你会自动获得:

  • 完整的请求/响应日志 – 查看确切的提示词和原始响应。通过阅读实际对话来调试异常行为。
  • 按任务的成本追踪 – 按代理、任务或用户标记请求。识别高成本的异常情况。
  • 延迟指标 – 每个模型/提供商的 p50、p95、p99 延迟。及早发现慢速调用和超时。
  • 错误率与重试 – 调用失败的频率是多少?哪些模型的错误率最高?重试是智能的还是只是在烧钱?
  • 提供商对比 – 在成本、速度和可靠性方面,将 OpenAI、Anthropic 和本地模型进行逐一对比。
  • 零仪器化需求 – 将你的应用指向路由器而不是直接指向 API。所有日志都会自动记录。

实际案例

上周,一个编码代理本应编写单元测试。它工作正常,但感觉速度慢。

仪表盘洞察:

  • 平均任务:12 次 LLM 调用(远超预期)
  • 其中 8 次调用使用 GPT‑4
  • 6 次 GPT‑4 调用的 提示词完全相同

根本原因:缓存错误导致代理在每次迭代中重新分析相同的文件。

  • 修复前: 每个任务约 90 秒$0.40 的 API 成本
  • 修复后: 每个任务约 25 秒$0.08 的 API 成本

我们在看到实际调用模式后,花了 10 分钟 就修复了它。

安全与集成

  • 路由器在locally(或在您的 VPC 中)运行。您的提示和响应永不离开您的基础设施。
  • 如果您已经拥有可观测性栈(Datadog、New Relic 等),可以通过 OpenTelemetry 导出跟踪。
  • 内置仪表盘对大多数团队来说已经足够。

入门指南

  1. 启动 NadirClaw

    • Docker:

      docker run -p 3000:3000 doramirdor/nadirclaw
    • 或通过 npm 安装:

      npm i -g nadirclaw
  2. 将你的代理指向路由器而不是提供商:

    export OPENAI_API_BASE=http://localhost:3000
    # 或相应地配置你的 SDK/客户端
  3. 将你的 API 密钥 添加到路由器配置(config.yaml 或环境变量)。

  4. 打开仪表盘,访问 http://localhost:3000/dashboard.

你将立即看到每一次调用、每一次响应、费用和耗时——无需仪器化、无需更改 SDK、无需其他操作。

Final Thought

没有日志和指标,你不会运行生产服务。也不要在没有它们的情况下运行 AI 代理。
中心路由器为你提供可观测性、成本控制和信心——全部无需任何代码更改。

试试看,开始基于真实数据而非猜测进行优化。 🚀

每一次调用都会被记录。你可以追溯问题到具体的提示,并基于真实的使用模式进行优化。

当你在凌晨 2 点收到意外账单时,你会准确知道是什么导致的。

维护者

Amir Dor 维护着 NadirClaw,一个专注于可观测性和成本优化的开源 LLM 路由器。可在 GitHub 上找到:

github.com/doramirdor/NadirClaw

0 浏览
Back to Blog

相关文章

阅读更多 »

当工作成为心理健康风险时

markdown !Ravi Mishrahttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fu...