Agent 技能库 / 成本控制
llm-cost-estimator
按调用量估算月成本,并给出缓存/分级/批处理的降本测算,附命令行估算脚本。
触发条件(frontmatter.description)
估算大模型 API 的月成本,并给出降本方案。当用户问"这个功能跑起来要多少钱""成本怎么算""怎么省钱"时使用。需要用户提供调用量、输入输出长度、当前单价。
目录结构
llm-cost-estimator/ ├── SKILL.md └── scripts/estimate.py
安装方式
- Claude Code把技能目录复制到以下位置,重启会话后自动可用
~/.claude/skills/<技能名>/项目级可放 <项目>/.claude/skills/ - Claude.ai / Desktop下载 .zip 后在 设置 → Capabilities → Skills 上传需要开启 Skills 功能
- Hermes Agent放到技能目录,Hermes 启动时自动加载
~/.hermes/skills/<技能名>/ - 其它 Agent任何支持 SKILL.md 约定(YAML frontmatter + 步骤 + 脚本)的框架都可直接使用本质是一个带说明文档的脚本目录
下载的 zip 解压后是 llm-cost-estimator/ 目录,直接整个放进去即可,不用改文件名。
技能包内容
--- name: llm-cost-estimator description: 估算大模型 API 的月成本,并给出降本方案。当用户问"这个功能跑起来要多少钱""成本怎么算""怎么省钱"时使用。需要用户提供调用量、输入输出长度、当前单价。 --- # LLM 成本估算 ## 什么时候用 - 新功能上线前评估预算 - 月底账单超预期,要找原因 - 在「模型分级 / 缓存 / 批处理」之间做取舍 **不要用**:没有调用量和长度信息时(先问,不要凭空假设用量)。 ## 步骤 1. **要三个数**:日调用量、平均输入 token、平均输出 token(可用 `scripts/estimate.py` 里提供的经验值兜底) 2. **算基线**:日成本 = 调用量 ×(输入 token×输入价 + 输出 token×输出价) 3. **找浪费点**(按影响排序): - system prompt 是否每次重复(→ 上下文缓存,通常省 50%+ 输入) - 能否模型分级(70% 简单请求下沉小模型) - 离线任务能否走批处理(约 5 折) - 重复问题能否结果缓存 4. **给优化后的数字**,并标注「依赖的假设」 ## 输出 ``` ## 基线成本 日 / 月(分输入、输出) ## 最大浪费 (一项,给出占比) ## 优化方案(按 ROI) 1. ... → 预计降到 X ## 需要你确认的假设 - ... ``` ## 验证 - 所有数字都能从公式复算 - 假设与结论分开列 - 明确说明「价格以官网为准」(不写死单价) ## 陷阱 - 用平均输出长度估算(长尾回复拉高均值,应按 P90) - 漏算 system prompt 的重复计费 - 把重试流量忘了(重试率高时成本会凭空涨 10%+)
SKILL.md 说明(Agent 读到后照此执行)
# LLM 成本估算 ## 什么时候用 - 新功能上线前评估预算 - 月底账单超预期,要找原因 - 在「模型分级 / 缓存 / 批处理」之间做取舍 **不要用**:没有调用量和长度信息时(先问,不要凭空假设用量)。 ## 步骤 1. **要三个数**:日调用量、平均输入 token、平均输出 token(可用 `scripts/estimate.py` 里提供的经验值兜底) 2. **算基线**:日成本 = 调用量 ×(输入 token×输入价 + 输出 token×输出价) 3. **找浪费点**(按影响排序): - system prompt 是否每次重复(→ 上下文缓存,通常省 50%+ 输入) - 能否模型分级(70% 简单请求下沉小模型) - 离线任务能否走批处理(约 5 折) - 重复问题能否结果缓存 4. **给优化后的数字**,并标注「依赖的假设」 ## 输出 ``` ## 基线成本 日 / 月(分输入、输出) ## 最大浪费 (一项,给出占比) ## 优化方案(按 ROI) 1. ... → 预计降到 X ## 需要你确认的假设 - ... ``` ## 验证 - 所有数字都能从公式复算 - 假设与结论分开列 - 明确说明「价格以官网为准」(不写死单价) ## 陷阱 - 用平均输出长度估算(长尾回复拉高均值,应按 P90) - 漏算 system prompt 的重复计费 - 把重试流量忘了(重试率高时成本会凭空涨 10%+)