为 AI Agent 增加 GREEN/AMBER/RED 三级权限:GREEN 自动执行,AMBER 需要确认,RED 必须人工审批。实测用 99999 美元退款触发 RED 拦截成功,支付 API 未被调用。
大多数 AI Agent 安全系统对每一个操作都采用同样的处理方式——要么阻止,要么放行。但一封普通的邮件回复和一笔 5000 美元的退款并不属于同一风险等级,用同一种方式对待它们,要么过于限制,要么过于危险。
我刚刚为 agent_acid 添加了一套三级权限系统:
🟢 GREEN(绿色)——自动执行,无需额外检查(与之前相同) 🟡 YELLOW(黄色)——必须通过 verify_fn 验证后才能执行(例如业务规则检查或 LLM-as-judge) 🔴 RED(红色)——完全暂停执行。在人类明确批准或拒绝之前,什么都不会发生——甚至不会"先执行再回滚"
refund_tool = ReversibleTool(
name="issue_refund",
execute=lambda kwargs: payment_api.refund(kwargs),
compensate=lambda kwargs, result: payment_api.reverse(result["id"]),
risk_level=RiskLevel.RED,
risk_reason="Refunds always require human sign-off.",
)
我通过一个在线 Agent 尝试发起一笔 99,999 美元的退款来测试这个系统。它被标记为 RED,停留在 pending 状态,随后被我作为人工审批者拒绝了。真实的支付 API 从未被调用——一次都没有。
这是 agent_acid 的第四层安全机制,与回滚、护栏(guardrails)和影子执行(shadow execution)并列。14 个自动化测试全部通过。
GitHub: github.com/muhammadwaqasai/agent_acid pip install agent-acid
很好奇大家在生产环境中是如何处理 AI Agent 的人类介入审批(human-in-the-loop approval)的。

We're a place where coders share, stay up-to-date and grow their careers.