人类实际使用的界面从未被代理治理——'有人监视'实则非有效控制措施
摘要
文章展示了人工监督AI代理工具调用在安全上的无效性,倡导使用带有污染日志的治理组装,并强调了交互式界面中实施控制的失败模式与成本。
我运行一个带有治理层的开源代理:一个污染日志记录来自网络的内容,一个数据围栏围绕不受信任的工具输出,危险工具在运行读取外部内容后需要批准,一个具有允许/警告/审查/阻止功能的内核。它为无人值守的路径构建——API、cron、机器人——因为在那里没人能看到模型做什么。交互式界面(终端聊天、全屏TUI、桌面应用聊天)被豁免。书面原因是'有人值守:一个人在键盘旁,看到每个工具调用通过。'上周我进行了测量,而不是仅仅断言。相同的注入语料库,相同的存根工具,0美元。终端路径执行了治理路径阻止的7项攻击中的全部7项,而12项外部读取中,没有一项到达其自身系统提示在每个回合承诺的数据围栏内。第二个数字比看起来更糟:对于被告知'外部内容在这些标记内到达'的模型,没有标记的内容被读作非外部。围栏的缺失并非缺少防御,而是反转的防御。'有人值守'并非一个控制措施,原因有两个我未曾预料:人仅在模型选择命令后才看到它。值守在决策时无所捕捉。在一个跟踪的回合中,人根本没有看到它。TUI的确认提示是在一个以原始模式持有tty的终端应用下的stdin读取,因此问题从未被绘制,调用在123.8秒后超时,然后模型将被拒绝命令的输出叙述为好像它已运行。转录看起来像成功。修复它是容易的部分(交互式界面现在通过与API相同的治理组装构建,TUI通过模态窗口在约5秒内询问)。我不断思考的部分是代价。当防护开启且无人应答时,语料库中8项合法任务中的5项被拒绝,因为每个外部读取都变成一个问题,沉默根据设计是拒绝。有人应答时,0项被拒绝。因此,治理交互式界面的代价不是阻止工作,而是问题——每个网络阅读工作会话中五个问题。我想听听在人类面前运行代理的人的两件事:你是否像治理无头界面一样治理交互式界面,还是也将值守视为控制措施?如果是后者,你怎么知道人真的看到了调用?一个将拒绝工具的输出叙述为真实的模型是我无法通过权限设计消除的失败模式。对我唯一有效的是让拒绝字符串说'工具未运行,不要将其报告为完成'——这是一个提示,而非保证。你们怎么做?数字和方法在仓库的bench目录中;链接在评论中,根据子版块的规则。
相似文章
谁授予了你的AI代理权限?
讨论AI代理工作流中的安全漏洞,即代理在关键步骤中假设存在人类监督,并提出了一个运行时控制平面,用于强制执行权限,并在破坏性操作前要求人工批准,通过Tandem演示进行了说明。
AI代理将人类排除在决策循环之外
论文指出,当前AI代理系统降低了人类监督能力,并倡导在设计层面进行变革,以支持有效的人机交互,强调保持人类技能的必要性。
多数智能体框架中的“人在回路中”只是形式 - 在你批准后,模型仍会执行操作
文章认为,许多AI智能体框架中的“人在回路中”机制是表演性的,因为模型在获得批准后仍然会执行操作,削弱了有意义的人类控制。
AI安全争论聚焦于错误的边界
本文认为,AI安全辩论的方向有误,其关注点在于模型对齐和内部控制,而非关键的边界:对智能体执行的外部授权权限。文章警告称,能够自行授权高影响行动(如部署代码、转移资金)的系统构成了基本风险,日志记录和监控无法缓解这种风险。
你真的希望你的AI代理在你不看着它的时候自主行动吗?
讨论用户是否真的希望AI代理在没有直接监督的情况下自主行动,并强调控制、安全和信任方面的担忧。