HAVENLON 不完美主体 | #08 为什么不能让“不完美主体“拥有最终执行权
2026/9/16 9:12:30 网站建设 项目流程

前面几篇一直在说明同一件事:主体可能合法、可能善意、可能能力极强、可能持有完全正确的 Credential,也可能长期表现稳定,但这些条件都推不出"它这一次一定是对的"。接受这个前提之后,一个问题就无法回避——既然主体可能犯错,为什么还要让它拥有最终执行权?

最终执行权不只是"可以发出一个请求",而是它做出的判断可以直接变成现实:一笔钱真正转出,一条命令真正执行,一份数据真正删除,一个生产配置真正生效,一笔交易真正广播,一台设备真正启动。一个主体拥有这种能力之后,它就不再只是参与决策,而是获得了现实塑形能力。

最终执行权不是"更高一级的权限",而是让判断跨过最后一道边界、成为现实的能力。

这也是不完美主体问题最终一定会走向 Execution Control 的原因:如果所有主体都可能错,需要保护的就不只是谁能决定,而是谁能让决定真正发生。

一、执行权和普通权限不是一回事

传统系统用 Permission 描述主体拥有的能力:读、写、删除、Admin、支付、签名。这些当然重要,但最终执行权比一般 Permission 更深一层——一个主体可以拥有提出操作请求的权限,却不一定应该拥有让这个操作落地的能力。交易系统可以允许策略引擎提出交易,最终签名却未必由它完成;开发者可以提交代码,提交不等于自动进入生产;财务人员可以创建付款申请,创建申请不等于资金已经划走。

差别就在于 Capability 与 Final Execution 之间还存在一道边界。而很多 Agent 系统的问题恰恰是这道边界正在消失:Agent 获得 Tool Permission,产生 Decision,调用 Tool,Tool 直接改变现实。于是"拥有工具权限"已经接近"拥有最终执行权"。

当 Tool Call 可以直接改变现实,Tool Permission 就不再只是工具权限,而开始接近现实控制权。

二、这会把错误变成单点事故

如果一个主体只负责判断,它犯错后还有补救空间;只负责建议,错误可以被另一层拒绝;只负责生成 Intent,执行层仍然可以验证。危险的是同一个主体既产生判断,又拥有最后的落地能力。

这会形成一种 Single Point of Failure——不是技术上的单点,而是 Authority Single Point。一个判断错误,不需要别人配合,不需要其他条件失效,不需要系统被攻击,现实就已经改变。可靠系统通常竭力避免"一个组件失败,整个系统立即失败",而当一次错误判断就能直接导致最终执行,系统实际上接受了 One Cognitive Failure 等于 One Real-World Failure 这种极强的错误传播关系。

如果一次认知错误可以直接等价于一次现实错误,那么系统就没有真正的执行边界。

"主体足够聪明"因此不是答案,再聪明也无法保证永不失效。

三、最终执行权会终结所有上游讨论

执行之前,一切仍可被重新解释:Intent 可以修改,Plan 可以调整,审批可以撤销,状态可以重新确认,参数可以重算,Policy 也可以重新评估。执行完成之后性质就变了——数据库已经写入,交易已经广播,资产已经转移,设备已经启动。

Execution 与前面所有步骤的根本区别在于,它是从"可能"进入"已经发生"的那一刻。前面的判断都只是 Proposal,只有执行会产生 Reality。所以如果一个安全体系把绝大部分精力花在身份、权限、审批、Agent Planning 和 Prompt Safety 上,最后却让一个不完美主体直接掌握最终执行,整条链路仍然留着一个巨大的结构缺口。

安全真正的最后一公里不是"谁批准了",而是"谁还能在现实发生之前说最后一次不"。

四、APPROVAL 不是 FINAL AUTHORITY

很多系统会说:我们已经有 Approval——Agent 发起动作,人类审批,通过后执行。但这里仍需区分 Approval Authority 与 Execution Authority:审批者表达的是"我认为这件事可以发生",执行层完成的是"这件事现在发生"。两者之间可能已经改变。

审批时金额是 1000,执行时参数变成 10000;审批时对象是 A,执行时切换成 B;审批时状态成立,执行时状态已经失效;审批时 Credential 有效,执行时授权已经过期。把 Approval 当成永久的 Final Authority,就等于忽略了审批与执行之间的时间差和状态差。真正的执行控制不能只问"有没有批准记录",还要问批准的究竟是哪一个对象、哪一个状态、哪一组参数、哪一个 Intent。

审批证明的是"某人曾经同意",执行控制需要证明的是"这一次执行仍然符合那次同意"。

五、最终执行权必须面对当前状态

很多判断都是基于过去的状态完成的:任务创建时是一种状态,审批时是另一种状态,真正执行时现实可能已经变化——账户余额变了,对象所有权变了,设备状态变了,订单状态变了,权限关系变了,环境风险等级变了,或者另一笔并发任务已经先一步修改了资源。

执行层因此必须回答一个很现实的问题:现在还是不是刚才那个世界?如果不是,此前所有 Allow 都不应该被机械继承。这正是 Runtime Execution Validation 的意义——不是把所有事情重新推理一遍,而是在现实发生之前确认当前状态是否仍然满足执行条件。

可靠的授权不应该只绑定"谁"和"什么",还必须绑定"什么时候"和"在什么状态下"。

六、执行控制不是"再加一道审批"

一提控制,人们容易想到再加一个 Approve、再加一次人工确认、再加一条审批流。但真正的 Execution Control 完全可以没有额外的人类参与,它关注的是最终执行必须满足结构化、可验证的条件:Intent 是否有效,Action 是否属于当前 Mission,Object 是否匹配,State 是否满足,Boundary 有没有被突破,Proof 是否完整,时间是否过期,多个必要主体的判断是否存在冲突。条件全部成立就自动执行,不成立就拒绝,未知则 Fail-Secure。

人工审批依赖人的即时判断,Execution Control 依赖可验证边界。所以它不是为了降低自动化,恰恰相反,边界一旦明确,边界内的动作就不需要每次重新问人。

真正的执行控制不是"每次都要问人",而是"每次都必须满足边界"。

七、为什么最终执行权不能只属于 OWNER

很多系统有一个天然直觉:Owner 应该拥有最终权力——这是我的资产、我的系统、我的设备、我的账户,所以我应该可以做任何事。从所有权角度这很合理,但从不完美主体角度,问题依然存在:Owner 也是主体,也会误操作,也可能被欺骗,Credential 可能被盗,也可能在错误上下文中做决定,或者只是临时失去判断质量。

所以 Ownership 不应该自动等于 Unbounded Execution Authority。这并非否定所有者的权利:所有者可以定义边界、修改策略、撤销授权、重建信任,但某一次具体的高风险执行是否发生,仍应满足既定控制条件。这才是 Owner ≠ God 更深的一层含义。

所有权决定谁有资格定义规则,不意味着所有者的任何瞬时动作都应该凌驾于规则之上。

八、为什么最终执行权也不能只属于 AI

如果 Owner 不应拥有无边界的最终权,AI Agent 更不应该。原因不是 AI 比人更坏,而是它带着几个风险放大器:速度高、规模大、自主链路长、Tool 数量多、可以持续运行、可以把同一个判断自动复制到大量对象上。同样一个错误在 AI 身上会产生更大的半径——一个人一天做错一笔,Agent 可能一分钟做错一千笔;人操作前会犹豫,Agent 会连续执行;人遇到不确定状态可能停下来问,Agent 可能依据概率继续推理。

因此合理的做法不是不给 Agent 能力,而是不给它无条件的最终执行权。它可以拥有极强的 Decision Authority,可以提出大量动作、自动规划、自动计算,但现实层必须存在独立约束。

AI 可以拥有越来越大的认知权力,但不应该自动获得同等规模的现实权力。

九、需要拆分的是 AUTHORITY,而不是组件

很多架构看起来已经分层:Agent 一个服务,Policy 一个服务,Executor 一个服务,SaaS 一个服务。但物理分层不等于 Authority 分层。如果 Agent 生成 Action,Policy 永远相信 Agent 提供的上下文,Executor 永远相信 Policy 的 Allow,那么整个系统仍然只是同一个逻辑主体的延伸。

真正的 Authority Decomposition 要求每一层拥有独立的验证能力、独立的状态来源、独立的 Evidence 和独立的否决条件,最终层能够真正说 No。否则只是把同一个判断拆成了多个微服务。

服务拆分解决的是架构问题,Authority 拆分解决的是信任问题。

十、最终执行权真正需要的是不可绕过的拒绝

判断一个系统有没有真正的执行控制,可以问一个简单的问题:如果上游所有人都说"执行",最后还有没有谁能基于独立条件说"不执行"?如果没有,所谓控制大多只是软约束。

真正的 Final Execution Boundary 必须具备 Non-Bypassable Denial:拒绝不能被同一个主体换条路径绕过。不能 Agent 被拒绝之后换个 API 继续,不能 SaaS 被拒绝之后直接绕开设备,不能 Owner 点一个隐藏按钮就取消所有边界,也不能 Executor 收到一个"强制执行"字段就无条件放行。否则边界只是建议。

真正的控制权不体现在谁能发出命令,而体现在谁有能力让命令最终失效。

批准权代表继续,否决权才代表边界存在。

十一、控制的不是主体,而是现实变化

传统 Access Control 的核心对象是 Subject 对 Resource 的访问,Execution Control 进一步关注 Action 是否有资格改变 Reality。它不首先追问这个 Agent 好不好、这个人可信不可信、这个 SaaS 是否绝对安全——这些都可以作为输入,但最终判断对象是这一次执行。

可以抽象为:WHO 想执行什么 WHAT,针对哪个 OBJECT,当前处于什么 STATE,拥有什么 PROOF,是否位于允许的 BOUNDARY 内。这些条件共同构成 Execution Eligibility。于是系统不需要找到一个完美主体,只需要验证这次 Action 是否满足条件。这正是从 Identity-Centric Security 走向 Execution-Centric Security 的转变。

十二、最终执行权必须与 INTENT 绑定

只看参数仍然不够,因为同一个 Action 在不同 Intent 下含义可能完全不同。转账 500 美元,用于支付供应商是一个任务,用于测试交易是另一个任务,用于退款是第三个任务;金额和目标地址甚至可能相同,但授权来源、业务边界与 Evidence 完全不同。

可靠的执行必须能回答:这个 Action 是从哪个 Intent 演化出来的。这就是 Intent Binding 的意义——不能只有"Agent 请求执行 X",还要知道 X 属于哪个任务、谁发起任务、任务授权了什么、任务是否仍然有效、中间 Action 是否发生变形、执行是否仍是原始 Intent 的合法后继。

如果执行与 Intent 之间没有可验证关系,任何合法 Action 都可能成为脱离原始目的的孤立动作。

十三、最终执行权必须与 PROOF 绑定

Intent 说明这件事应该做,最终执行还需要证明条件真的成立,这就是 Proof。以支付为例:谁发起,谁授权,金额边界,目标账户,订单状态,审批状态,时间有效期,策略结果。这些信息不能只停留在自然语言里,需要成为可验证的 Evidence。

最终 Executor 不必理解整个业务故事,它只需要验证执行前提是否完整。这带来一个重要的结构变化:从 Trust me, this action is valid,变成 Prove that this action is valid。

最终执行权不应该基于主体的自我声明,而应该基于执行前提的可验证证明。

十四、UNKNOWN 必须成为一种明确的拒绝状态

不完美主体最大的风险之一是它会填补空白:信息缺失时推测,状态未知时估计,证据冲突时挑一个更合理的解释。这种能力在认知任务里很有价值,在最终执行层却可能很危险。

因此 Execution Control 必须明确建模 Unknown、Missing、Expired、Conflict 这几种状态,它们不应被解释成"看起来应该没问题",而应进入 Fail-Secure。未知就是未知,缺失就是缺失,过期就是过期,冲突就是冲突,不能由执行主体自己补全。

认知系统可以猜,执行系统不能靠猜。

十五、最终执行权应该属于一组条件,而不是某个主体

传统系统喜欢问"最终谁说了算":Owner、管理员、AI、SaaS,还是设备?在一个完整的不完美主体体系里,这个问题本身可能就不够好。最终执行权不应该属于某一个主体,而应该属于一组必须共同成立的条件——主体身份成立,Intent 成立,Authorization 成立,State 成立,Boundary 成立,Proof 成立,Execution Runtime 验证通过,然后才 Allow。

不是因为某个人最大,不是因为某个 Agent 最聪明,也不是因为某个 SaaS 最可信,而是因为执行条件完整。

最终权力如果必须有一个归属,它最安全的归属不是某个主体,而是可验证条件本身。

十六、限制的不是主体,而是主体的现实半径

控制常被理解成限制能力、降低效率、不信任主体。但执行控制不是要让主体变弱:Agent 依然可以规划、推理、调用大量工具、自动完成任务、生成 Action,甚至自动执行边界内的绝大多数操作。真正受限的是它的错误可以传播到多远,也就是 Execution Radius。

主体越强、速度越快、权限越大,执行边界反而越重要,因为系统防的不是智能,而是错误半径。

Execution Control 不是限制一个主体能想多远,而是限制一次错误最多能走多远。

十七、自动化应该建立在边界上

未来 AI Agent 的价值一定来自自动化,没有人希望每一笔操作都重新人工审批。成熟的系统应该是边界内自动执行,边界外自动拒绝,未知状态停止,重大边界变化重新授权,必要时再把少数语义决策交还给人。

这不是削弱 Autonomy,而是构造 Bounded Autonomy:Agent 可以高度自主,但自主性存在于明确的结构内部。就像汽车可以高速行驶,道路仍然有边界。高效的系统不是没有边界,而是边界足够明确,以至于大部分时间不需要人工干预。

十八、为什么不能让不完美主体拥有最终执行权

系列走到这里已经出现明显的转折。前面讨论过:合法主体会错,合法行为会错,善意主体会错,高能力主体仍然会错,Agent 不需要恶意也能制造危险,Prompt Injection 可以通过改变判断影响执行,Decision 与 Execution 合一会放大错误。这些问题指向同一个结论——不能让任何一个不完美主体拥有无条件的最终执行权。

"任何"这个词很重要:不只针对 AI,也包括人、Owner、管理员、SaaS、设备和自动化程序。所有主体都可以参与判断、提供授权、提供 Evidence、提出 Intent,但现实是否改变,必须由独立的执行条件决定。这正是 Execution Control 出现的位置。它不是再造一个更可信的超级主体,而是拒绝继续寻找超级主体:它不问谁永远正确,而问这次执行凭什么成立;不问谁拥有最高身份,而问哪些条件缺一不可;不追求一个永不犯错的 Agent,而追求即使 Agent、人、SaaS 或设备中的某一方犯错,错误也无法轻易穿过最终边界。

过去的安全主要围绕谁能进入系统、谁能获得权限、谁能调用能力,未来还要再往前一步:谁有资格让现实真正发生变化。而这个答案不该再是某一个主体,而应该是一套可验证、可拒绝、不可绕过的执行边界。

不完美主体可以拥有判断权、能力和授权,但它不应该单独拥有把自己的判断变成现实的最终权力。

因为成熟的安全不是相信最后那个主体永远不会错,而是确保即使它错了,现实仍然有权拒绝它。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询