LAYER 04 · 理解安全与耐久性
审批、策略与权限预设
把一次性人类决定、会话策略和沙箱模式分成三个正交旋钮
preset = sandbox knob + approval knob为什么“danger-full-access + never ask”仍然不等于所有工具都能执行?
先建立直觉
门禁区域、是否呼叫管理员、物品禁运清单是三套制度:权限预设只是把前两项组合成方便选择的套餐,不能取消硬性禁运。
MECHANISM
机制拆解
ctx.approval 为一次具体操作返回 allowed-once/rejected/cancelled/unavailable;除 allowed-once 外全部 fail closed。ApprovalPolicy 只有 ask 与 never。
PermissionPreset 把 sandbox/mode 与 approval/policy 写入各自权威 setter;current() 从实际 knob 折叠结果派生,未匹配时显示 custom。
第 1 步 / 共 5 步
选择预设
记录 permission/preset 用户意图。
INVARIANTS
无论怎么扩展,都不能破坏
- unavailable 必须拒绝
- allowed-once 只授权当前操作
- 预设不拥有强制执行,只组合权威旋钮
FAILURE MODES
最容易踩中的坑
- ×把 never 理解成自动允许
- ×审批请求复制一份可能漂移的工具参数
- ×把 custom 当可选择的预设写入日志
VERIFY IN SOURCE
不要相信结论,去源码里复核
以下链接固定到官方 deepseek-harness@47f9438;查看当前上游时请留意后续 breaking changes。
KNOWLEDGE CHECK
先停十秒,再揭晓答案
审批应答者异常时为什么不是重试或默认允许?
为什么下一章紧接在这里
审批决定“是否继续”,沙箱与能力 seam 决定“在哪里、能影响什么”。