Cost-Aware LLM Pipeline 是一套用于在保持质量的前提下控制 LLM API 成本的模式集合。它把模型路由、预算追踪、重试逻辑和提示缓存组合成一个可组合的流水线。
用途
该技能面向需要调用 LLM API(如 Claude、GPT 等)的应用,帮助开发者在处理复杂度不一的批量任务时,将 API 花费控制在预算之内,同时不牺牲复杂任务上的质量。
主要能力
1. 按任务复杂度进行模型路由
根据文本长度和条目数量自动选择模型:简单任务使用更便宜的模型,复杂任务才使用昂贵模型。示例代码中定义了 Sonnet 与 Haiku 两个模型常量,并设置文本长度阈值(10,000 字符)和条目数量阈值(30 项)。当文本长度或条目数量达到阈值时选择 Sonnet,否则选择 Haiku(据资料称便宜 3-4 倍)。函数还支持通过 force_model 参数强制指定模型。
2. 不可变成本追踪
使用冻结的 dataclass 追踪累计花费。CostRecord 记录模型、输入 token 数、输出 token 数和美元成本;CostTracker 保存预算上限和记录元组。每次添加记录都返回新的 tracker,从不修改自身状态。提供 total_cost 属性计算总成本,over_budget 属性判断是否超预算。
3. 窄范围重试逻辑
仅对瞬时错误重试,对认证或错误请求快速失败。示例中可重试错误包括 APIConnectionError、RateLimitError、InternalServerError,最大重试次数为 3,采用指数退避(2 的 attempt 次方秒)。AuthenticationError、BadRequestError 等则立即抛出。
4. 提示缓存
缓存较长的系统提示,避免每次请求重复发送。示例中在消息内容里为系统提示文本添加 cache_control 的 ephemeral 类型,用户输入作为可变部分单独放置。
使用方式
资料提供了一个组合函数示例,将四种技术整合到单个流水线中:先路由模型,再检查预算(超预算则抛出 BudgetExceededError),然后带重试和缓存地调用 API,最后以不可变方式记录成本并返回结果与新的 tracker。
定价参考(2025-2026)
资料给出以下相对成本参考:Haiku 4.5 输入 $0.80/1M tokens、输出 $4.00/1M tokens,相对成本 1x;Sonnet 4.6 输入 $3.00/1M tokens、输出 $15.00/1M tokens,相对成本约 4x;Opus 4.5 输入 $15.00/1M tokens、输出 $75.00/1M tokens,相对成本约 19x。
最佳实践
从最便宜的模型开始,仅在满足复杂度阈值时才路由到昂贵模型;在处理批量任务前设置明确的预算上限,尽早失败而不是超支;记录模型选择决策,以便根据真实数据调整阈值;对超过 1024 token 的系统提示使用提示缓存,既省成本又降低延迟;绝不对认证或验证错误重试,只对瞬时故障(网络、速率限制、服务器错误)重试。
应避免的反模式
无论复杂度如何都对所有请求使用最昂贵的模型;对所有错误都重试(在永久性失败上浪费预算);修改成本追踪状态(使调试和审计变得困难);在代码库中硬编码模型名称(应使用常量或配置);对重复的系统提示忽略提示缓存。
适用场景
任何调用 Claude、OpenAI 或类似 LLM API 的应用;成本快速累积的批量处理流水线;需要智能路由的多模型架构;需要预算护栏的生产系统。
限制
资料未提供该技能的安装命令、依赖要求、支持的编程语言范围、与其他框架的集成方式以及具体的性能基准数据。