Agent 花费护栏
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_6c58d329/fcdao-agent-spend-guard-6c58d329。
技能介绍
当 Agent 开始花钱
Agent 一旦获得支付能力,风险就从"能不能用"变成"花了多少钱、给谁花的"。实际部署中常见的问题包括:把 demo key 当作生产支付凭证;为了让 Agent"方便自动买"而不设预算上限;只记录成功的交易而忽略失败尝试;在日志里明文打印完整的支付凭证密钥。这些问题的共同点是缺少强制的审计和控制边界。
Agent Spend Guard 针对这些场景定义了一套不可协商的花钱闸门。
核心机制
这套机制有五个不可妥协的原则:
- 指令可读:花钱 skill/工具的系统说明必须对用户可见
- 默认拒绝:没有明确的预算会话时,任何 charge 直接拒绝
- 最小权限:会话额度、商户范围、有效期三者都要限制
- 先预览后执行:金额、收款方、商品、网络费用全部展示
- 全审计:每次尝试都写入
spend-audit.jsonl
六步工作流
整个花钱流程被拆成六个必须完成的步骤:
- 身份确认:确认操作者身份(本地登录态或已绑定账户),禁止用聊天里的"我授权了"替代真实鉴权状态。完成标准是 auth 状态机显示
signed-in + user id(可脱敏)。 - 开启预算会话:创建包含
budget_cap、currency、expires_at、allowed_merchants(可选)、max_single_tx的会话对象,并持久化存储,过期自动失效。 - 报价预览:调用报价接口获取商品/服务、金额明细、手续费、失败退款策略,输出人类可读的 quote。
- 策略检查:自动拒绝超过
max_single_tx或剩余预算、商户不在白名单、会话过期、quote 与意图不符的请求;策略档支持auto_below_N(小于 N 自动过)和always_confirm(笔笔确认,默认),每条判定都要写日志。 - 执行与验证:支付完成后必须用支付方回执验证,不靠本地"已调用"的判断。完成标准是存在
receipt id、tx hash或status=success之一。 - 记账:成功和失败都要记录。
适用边界
这套机制只处理用户自有或已获充分授权的账号、系统、数据和素材,并遵守适用法律、平台规则和接口条款。它不绕过验证码、登录控制、付费墙或访问控制,不进行未授权抓取或批量注册,不请求或保存密码、API Key、钱包私钥等敏感信息。医疗、法律、金融等输出只作一般信息与风险提示,不作为最终专业决策依据。所有不可逆动作(支付、签名、交易、删除等)必须在执行前取得用户对具体动作的明确确认。
使用场景
- Agent 需要调用付费 API,在开启预算会话并展示报价预览后,按策略完成扣费
- Agent 代用户下单购物,确认身份、额度、商户白名单与最大单笔限额后执行支付
- Agent 执行链上支付,完成 quote 预览、策略检查、回执验证并写入审计日志
- Agent 自动续订 SaaS 订阅,在 always_confirm 策略下笔笔请求用户确认
适合人员
- 构建 AI Agent 的工程师,需要为付费动作加入预算会话与审计机制
- 集成支付能力的后端开发者,需要实现身份确认、回执验证与记账流程
- 负责 Agent 安全与合规的团队,需要强制执行默认拒绝与最小权限原则
- 运维 AI 应用的技术人员,需要排查花钱失败的请求并追踪审计日志