付费模型调用审批门
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1793b15c/llm-approval-gate。
技能介绍
要解决的问题
当 agent 或 skill 直接调用付费 LLM API 时,代码路径里通常没有一个天然的拦截点。结果就是静默烧钱:一次循环里几十次请求,单次看着不贵,累加起来就是账单;而且没有任何告警告诉你这次到底花了多少、该不该花。更现实的问题是,很多流程在编写时根本没考虑成本归属——谁批准的、按什么预算、用的是哪个供应商。
核心能力与关键步骤
这个模块把「用哪个模型、哪个供应商、要花多少钱」抽成一个自包含、零依赖的关卡,供任意会调付费 LLM 的 skill 复用。
- 批准登记核心
model_approval.py:提供approve()写入、get_approval()读取、requires_llm()检测三类接口。 - 调用前必须先过门:任何会调付费 LLM API 的流程,调用前必须先
get_approval(flow_name)或approval_guard(...)。 - 未批准即阻断:返回
None(未批准)时绝不调用任何付费 API,而是降级到本地方案并发出告警,防止沉默烧钱。 - 已批准则附带成本通知:批准后自动附上成本预估通知,让用户知道这次要花多少钱。
- 成本预估
cost_estimator.py(v2.0 新增):零依赖 token 计数 + 内置定价表,覆盖 OpenAI、Anthropic、DeepSeek、阿里 Qwen、Google Gemini;approval_guard()把批准检查与成本预估合并为一次调用。 - 原子写保证:
_save先写临时文件再用os.replace原子替换,要么全写要么不写;即使写入中途崩溃或并发,也不会留下半截 json 导致下次解析失败而误放行或误拒绝。
适用边界与注意点
- 内置定价表是静态快照(2026 年,单位为
$/1M token),价格变化时需要自行更新源码里的表。 - 无 per-flow 记录时会回退到
_default_键,默认键的批准范围需要单独审视,避免一次默认放行覆盖后续流程。 - 它是一道审批门,不替代上游的限流、配额或供应商侧的预算告警。
- 生成的通知消息面向用户侧展示,不等于真实账单对账;精确对账仍需参考供应商的计费记录。
使用场景
- 编排器准备发起一次付费LLM调用前,需先过审批门确认流程、模型和供应商是否已批准
- 自动化脚本会在循环里重复调用付费API,需要用guard阻断未授权请求并降级本地方案
- 团队要按模型和供应商登记预算,在调用前生成这次预估费用并通知用户确认
- 多线程服务共享批准状态时,需要原子写入避免半截记录导致误放行或误拒绝
适合人员
- 开发AI Agent的后端工程师,需要在调用付费模型前插入可复用的审批关卡
- 做成本治理的技术负责人,需要追踪每个流程的模型选择和预计花费
- 构建自动化脚本的开发者,需要在循环调用付费API时防止未授权消费
- 维护多线程服务的工程师,需要保证批准登记的并发安全与一致回退