内容提要
自动化工具常将操作意图埋入执行逻辑,导致迁移、审计和验证困难。文章主张在人类意图与执行器之间增加“操作规范”层,明确目标、前置条件、约束、证据和恢复规则;执行计划只负责实现方式,规范定义成功标准。这种分离对AI代理尤为重要,可让其灵活选择行动而不重新定义成功。
延伸解读
意图与执行耦合的代价
当操作意图被埋入执行逻辑,迁移执行器时需同时重建操作含义,风险远高于单纯更换工具。文章指出,这会导致审查、审计、可移植性、测试和治理困难,尤其对AI代理,可能生成合法命令却违反未明说的约束。因此,将意图独立表示,是降低变更风险的关键。
操作规范层应包含什么
操作规范层需明确目标、前置条件、约束、所需证据、授权规则和恢复条件。前置条件决定操作能否开始,约束定义执行中或之后必须保持的状态,证据要求指定评估约束所需的数据,恢复策略则提前定义违规时的行为。这些元素共同构成操作契约,与具体执行机制解耦。
对AI代理的意义
AI代理可动态选择行动,若正确性由固定步骤定义,则难以验证。操作规范将成功标准与执行计划分离,代理可自由选择如何达成目标,但不得重新定义成功。这为自主系统提供了灵活性,同时通过约束和证据要求保持行为边界,适合代理获得更多操作权限的场景。
分离的局限与成本
分离意图与执行并不能保证操作正确,目标错误、阈值不当、证据缺失、指标误导、约束冲突、执行器不安全等问题依然存在。规范本身可能错误,形式化只让假设更易检查。此外,维护显式规范会增加工件,需版本化和审查,否则可能过时,且部分决策仍难形式化。
Q&A
为什么软件自动化需要在意图与执行之间增加一层?
因为自动化工具常将操作意图埋入执行逻辑,导致迁移、审计和验证困难。增加“操作规范”层可以明确目标、前置条件、约束、证据和恢复规则,使执行计划只负责实现方式,规范定义成功标准。这种分离对AI代理尤为重要,可让其灵活选择行动而不重新定义成功。
操作规范层具体包含哪些内容?
操作规范层包含:目标(objective)、范围(scope)、前置条件(preconditions)、约束(constraints)、所需证据(required evidence)、授权规则(authorization rules)和恢复条件(recovery conditions)。它不执行命令,而是独立于执行机制保留操作的含义。
前置条件和约束有什么区别?
前置条件回答“操作是否允许开始”,例如支付依赖健康、生产批准存在、工件已签名、维护窗口开放。约束回答“操作运行期间或之后必须保持什么”,例如副本数≥3、错误率≤1%、延迟≤400ms、成本增加≤20%、区域保持us-east-1。前置条件在开始前检查,约束在运行中或运行后评估。
为什么说期望状态(desired state)不足以表达完整的操作意图?
期望状态只描述最终配置,如副本数、镜像版本。但操作意图还包括前置条件(如支付依赖健康)、运行时约束(如可用性不低于99.9%)、证据要求(如错误率低于1%)、治理规则(如生产需要批准)和恢复规则(如延迟超400ms则回滚)。这些不是简单的目标状态属性,因此期望状态只是操作意图的一部分。
操作规范与执行计划有何不同?
操作规范回答“应该发生什么?必须满足什么?需要什么证据?约束失败时怎么办?”,例如部署Orders v42、保持至少3个副本、错误率≤1%、违反约束则回滚。执行计划回答“执行哪些动作?按什么顺序?使用哪些工具?”,例如先扩容到6副本、部署v42到1个副本、路由10%流量等。计划是满足规范的一种可能方式,不同执行器可产生不同计划。
这种分离对AI代理有什么特别意义?
AI代理可能动态选择行动(如重启、扩容、重路由、禁用功能、更改配置)。如果正确性由固定序列定义,动态执行难以验证。但若正确性由操作规范定义,代理可以灵活选择如何做,同时受前置条件、约束、证据和恢复规则限制。代理可以自由决定“如何做”,但不能重新定义“成功意味着什么”。
如何在实际中引入操作规范层?
可以从一个重复操作开始:1. 选择重复操作(如部署服务);2. 提取目标(避免命令);3. 提取前置条件;4. 提取约束;5. 为每个约束定义证据;6. 定义恢复策略;7. 保持执行分离,让现有工具作为执行器;8. 评估现有执行器是否满足提取的规范。可以增量引入,无需新平台。
这种分离不能解决哪些问题?
分离意图与执行不能自动保证操作正确。仍可能遇到:错误的目标、糟糕的阈值、缺失的证据、误导性指标、冲突的约束、不安全的执行器、安全漏洞、错误的恢复策略。规范本身可能出错。形式化表示不会使假设成真,只会使假设更容易检查和评估。此外,更多显式意图意味着更多需要维护的工件,若未版本化和审查,规范可能过时。