什么是按量计费?
按量计费(Usage-Based Billing)是指根据实际消耗而不是固定金额向客户收费。对于 AI Agent 来说,每次 API 调用都有可衡量的成本——与 Token 数量直接挂钩,且不同模型成本各异。按量计费系统需要四要素:
- 事件采集(Event ingestion):每次发生可计费事件时捕获用量数据
- 计量(Metering):将原始事件聚合为每个客户在每个计费周期的总量
- 定价(Pricing):对计量后的用量应用费率卡或阶梯价格
- 开票(Invoicing):生成账单并收款
工具选择
OpenMeter 是 Kong 维护的开源计量引擎。它基于 CloudEvents 标准(CNCF 规范),处理实时事件采集、去重和大规模聚合。你可以自托管。
Kong Konnect Metering & Billing 是构建在 OpenMeter 之上的云平台,增加了计费层:功能特性、定价方案、订阅、开票和支付提供商集成。
系统架构

整个流程如下:
- 用户调用你的 AI API 端点(/generate、/summarize 或 /analyze)
- 你的 Agent 向 OpenAI 发送请求,获取响应并附带 Token 用量数据
- 你的应用向 Kong Konnect API 发送 CloudEvent,包含用量数据
- 平台将事件聚合到计量器中,应用定价方案,生成账单
- 支付提供商收款
前置条件
Python 3.10+、OpenAI API Key、Kong Konnect 账号、Konnect 个人访问令牌、FastAPI 和 REST API 基础知识。
第一步至第九步
项目搭建
pip install fastapi uvicorn openai httpx python-dotenv pydantic
构建 AI API
创建 FastAPI 应用,包含 /generate、/summarize、/analyze 三个端点。每个端点调用 OpenAI API 并返回 Token 用量。
API Key 认证
使用 FastAPI 依赖注入实现 API Key 验证,每个 Key 映射到一个客户 ID。
发送用量事件
创建 CloudEvent 格式负载,包含 Customer ID、Source、Token 用量(input/output/total)、模型名称和时间戳。
创建计量器
在 Konnect 中创建 input_tokens、output_tokens、api_calls 等计量器,配置 SUM/COUNT 聚合方法和时间窗口。
定价方案
定义免费层(10K Token/月)、专业层(100K Token/月,超出 $0.01/Token)和企业层。
客户接入和测试
创建客户记录和订阅,发送测试请求验证计量和账单。
支付集成
集成 Stripe,配置自动账单生成。
常见陷阱与生产建议
- 事件去重通过幂等键处理
- 保护计费 API 端点的速率限制
- 免费用户也要追踪用量
- 上线前使用沙箱模式
- 设置异常用量告警
文章来源:Usage-Based Billing for AI Agents with FastAPI and Kong