保护措施永远不足以保护关键路径
摘要
作者认为,对于AI代理中的关键操作,如数据库写入和支出,必须在基础设施层面(例如通过中介服务或钱包)强制执行硬性边界,而不是仅依赖基于提示的指令。
我最近移除了代理中的直接数据库写入,并要求所有写入都通过一个中介服务,该服务会检查引用和权限。代理的指令已经解释了它被允许写入的内容。这是有用的指导,但我不希望指令成为保护数据库的唯一手段。我们都知道这有多不靠谱。模型可能误解指令,在后续步骤中携带过时的上下文,或者干脆做出错误判断。如果写入很重要,边界必须存在于写入实际发生的地方。中介服务现在在变更到达数据库之前检查它。它可以拒绝缺少引用的写入,阻止超出代理权限的写入,并记录决策原因。提示仍然重要。执行已经转移到中介服务中。代理的支出也应该同样工作。提示可以说‘不要花费超过5美元’。这句话仍然是概率性上下文中的指令。钱包应该知道每次请求的最大金额、每日上限、总额上限,以及代理被允许支付的主机。当达到上限时,下一步支付应在资金转移之前停止。我认为对于能够购买东西的代理来说,这不是可选的基础设施。任何仅存在于提示中的限制都是建议性的。硬性边界应该位于不可逆操作发生的地方。我正在为代理构建一个钱包,所以我对此并不中立。数据库中介服务让这种模式对我来说更加清晰,因为相同的规则适用于这两个地方。指令指导代理,而基础设施决定代理实际能做什么。你目前在哪里设置硬性支出控制?它们是在工具包装器、代理服务、钱包中,还是主要仍在提示中?
相似文章
AI编码代理的护栏到底该放在哪里?
关于在何处设置护栏以防止AI编码代理进行未经授权的更改的讨论,探讨部署工作流各个阶段的摩擦点。
人类总会打破规则,AI亦然:论“硬性门禁”的必要性
本文分析了 PocketOS 一起由 AI 代理误删生产数据库的事件,主张采用验证器独立性和可逆性检查等“硬性门禁”,而非单纯依赖提示词工程。
AI护栏
本文讨论了在人工智能中实施护栏的重要性,以确保安全和伦理合规。
在公开发布AI Agent应用之前,您会添加哪些防护措施?
一位开发者反思了在公开发布AI Agent应用之前应落实的关键安全措施——例如支出上限、速率限制和备用模型——以避免隐藏成本和意外行为。
如果您的智能体执行了不可逆操作(交易、发送资金),则需要在决策与操作之间设置一个确定性护栏工具。
在AI智能体的决策与其不可逆操作(如交易或发送资金)之间,需要设置一个确定性护栏工具以确保安全。