权限请求
Permission request
Harness 在执行未经预先批准的工具调用前向用户展示的请求。模型发起工具调用后,Harness 不会立即执行,而是暂停并询问用户。批准后调用会执行;拒绝后,Harness 会将拒绝作为工具结果反馈给模型。这是 Harness 针对高风险或敏感操作引入人工介入的机制。
权限请求的生命周期:
| 步骤 | 执行方 | 发生的事情 |
|---|---|---|
| 1 | 模型 | 发起工具调用 |
| 2 | Harness | 根据权限模式和已保存的批准记录进行检查 |
| 3 | Harness | 若已预先批准:立即执行。否则:暂停并展示请求 |
| 4 | 用户 | 仅批准本次、批准本 Session 内的后续调用,或拒绝 |
| 5 | Harness | 执行调用,或将拒绝作为工具结果反馈给模型 |
拒绝请求也能引导 Agent。模型会像读取其他工具结果一样读取拒绝,并据此作出反应:换一种方法,或询问你希望它怎么做。大多数 Harness 都允许你在拒绝时附带消息,这会让权限请求成为一个引导节点:“别这么做,改用迁移脚本”会恰好在模型决定下一步行动时传达给它。
代价是,每次请求都需要同步等待你回应。Agent 会一直阻塞到你作答;你守在旁边时没问题,不在时就麻烦了——频繁触发请求的 Agent 无法留在后台 AFK 工作。权限模式就是调节旋钮:哪些调用可以直接运行,哪些必须先询问;理想情况下,再用沙箱保障安全,从而扩大可直接运行的范围。
用法:
“它卡在权限请求上十分钟了——我刚才在开会。”
“这就是人工介入的代价。预先批准安全的工具,让权限请求只在真正有风险的调用上触发。”