别只比较 API 单价:AI Agent 应该按“成功工作流成本”算账

0 阅读2分钟

做 AI Agent 成本评估时,最常见的误区是把一次用户点击等同于一次模型调用。

实际链路通常更像这样:

用户请求
  → Planner 拆任务
  → Retriever 生成检索词
  → Tool 执行
  → Evaluator 判断结果
  → 失败重试 / 改写
  → Synthesizer 输出最终答案

前台只有一次操作,后台可能已经发生 4~8 次模型请求。此时继续比较“单次 API 调用谁更便宜”,很容易得到错误结论。

用 workflow_id 把成本串起来

每条模型调用日志都应该带同一个 workflow_id

type ModelCallLog = {
  workflowId: string
  step: 'planner' | 'retriever' | 'evaluator' | 'synthesizer'
  model: string
  inputTokens: number
  outputTokens: number
  latencyMs: number
  retries: number
  status: 'success' | 'failed'
}

然后以工作流为单位聚合:

costPerSuccessfulWorkflow =
  totalModelCost / successfulWorkflowCount

为什么分母必须是“成功工作流”?因为失败的 Agent 任务同样会消耗 Token、调用工具和触发重试。如果把失败任务排除在总成本之外,指标会显得很好看,但无法反映生产环境。

一个反直觉的例子

方案 A:

  • 100 个任务花费 18 元;
  • 成功 82 个;
  • 每个成功工作流约 0.22 元。

方案 B:

  • 100 个任务花费 14 元;
  • 成功 55 个;
  • 每个成功工作流约 0.25 元。

方案 B 的总账单更低,但每个有效结果更贵。若还要人工返工,它的真实成本会继续上升。

四个优化点

1. 按节点选择模型

关键词生成、分类、格式校验不一定需要最强模型。把复杂推理节点和机械节点拆开,通常比全链路使用同一模型更经济。

2. 控制上下文重复

不要让每个节点都携带完整对话历史。为每一步生成最小必要上下文,尤其要关注工具返回的大段文本。

3. 给重试设置预算

重试需要指数退避、最大次数和总耗时上限。否则上游拥塞时,Agent 会用更多请求制造更严重的拥塞。

4. 先小流量验证路由

OpenAI-compatible 接口很方便,但上线前仍要对真实任务做压测,观察成功率、P95 延迟、429 和模型输出一致性。

WoofAPI 可以作为 OpenAI-compatible 方案之一先做非核心工作流验证。部分 GPT 路线在特定“官方输入价格”比较中可低约 95%,但模型、输入/输出计费和实时线路不同,最终以价格页为准。

推荐的验证顺序是:

cURL 最小请求 → 框架接入 → 20~50 个真实任务 → 3~7 天小流量观测

如果你正在用 Dify、LangChain 或自研 Agent,可以留言 COST + 框架名,我后续把成本统计模板整理出来。

官网:woofapi.com
文档:woofapi.com/docs
价格:woofapi.com/pricing