黑箱时代如何重新定义控制?本文用三种黑箱与三层控制构成决策矩阵,说明何时需要理解、验证、限权、监控和恢复。
这个系列从一句有冲击力的判断开始:当代码生产超过人类理解,控制必须从实现转向约束。
经过八篇讨论,这句话需要被改得更精确。软件从来没有完全透明,约束也从来没有脱离实现。AI 真正加剧的是生成、验证与组织理解之间的不对称。应对它的办法不是宣布“透明性终结”,而是判断:面对哪一种未知,我们还需要理解什么,又需要哪些独立证据和恢复能力?
本篇不再重复一次未来宣言,而把全系列压缩成一个可操作的矩阵。
最终代码可能清晰可读,团队却不知道它依赖了哪些上下文、为何选择这种结构、哪些假设没有进入仓库。来源黑箱影响的是意图、追溯和审查质量。
它主要出现在开发阶段,但不是 AI 独有。复制旧代码、使用外包制品或继承缺少记录的遗留系统也会产生相同问题。AI 让这类变化更容易快速、大批量出现。
源码、模块和配置都能访问,系统行为却由依赖、网络、数据、并发、部署环境和第三方服务共同形成。大型分布式系统长期处在这种状态。
系统黑箱的难点不是找不到任何代码,而是没有一个视角能穷尽所有交互。理解必须借助接口、架构图、实验、遥测和事故经验分布在组织中。
当大模型直接参与生成、分类、规划或工具调用,同一输入可能因上下文、采样、模型版本和外部数据产生不同结果。此时静态源码无法完全规定产品输出。
行为黑箱需要评测分布、置信与失败类别、权限边界和持续监控。它不应被倒推到所有 AI 生成代码:模型写出的普通排序函数,仍然可以是一个确定性程序。
运行时代码代理可能同时具备三种黑箱:生成理由难追溯,工具与依赖形成复杂系统,决策又具有统计性。组合风险更高,但分析仍要逐层进行。
认识控制不要求一个人理解全部系统,而要求关键知识有明确归属,重要决定可以追溯,团队知道哪些组件只依赖契约、哪些区域必须深入审查。
常见资产包括设计说明、架构决策记录、代码审查、来源证明、依赖清单和责任地图。它们提供解释与调查基础,却不能单独保证系统行为正确。
行为控制把目标和禁区转成接口、类型、不变量、权限政策、测试、静态分析和形式证明。对运行时模型,还包括离线评测、对抗测试、工具策略和输出验证。
它的边界是规格问题:没有写出的风险不会自动被证明,错误约束也可能被完美执行。因此证据必须标明主张、适用条件和残余不确定性。
运行控制假定生产环境会出现模型外事实。它通过监控、审计、限流、隔离、灰度、熔断、降级、补偿和事故响应缩短影响。
运行控制也不能替代前两层。无限权限的系统即使监控完善,也可能在告警抵达前造成不可逆损害;没有设计理由的系统即使成功回滚,也可能反复制造同类事故。
| 对象 | 认识控制 | 行为控制 | 运行控制 |
|---|---|---|---|
| 来源黑箱 | 记录模型、输入版本、设计取舍与批准者 | 小批生成、独立审查、构建与测试门槛 | 将具体部署绑定到可核验制品和审批 |
| 系统黑箱 | 接口所有权、依赖图、关键数据流、责任地图 | 契约、不变量、隔离、兼容性与故障测试 | 可观测性、容量保护、灰度、降级与恢复 |
| 行为黑箱 | 说明模型能力、数据、已知限制与适用范围 | 代表性评测、对抗测试、权限与工具约束 | 漂移监测、抽样审计、停止条件与人类升级 |
矩阵中的九格不是必须全部堆满的合规清单。它的作用是暴露空白:若团队只说“我们有测试”,可以继续追问测试针对哪种黑箱、支持哪一层控制,以及真实运行失败时谁行动。
一个生成内部报表脚本的助手,与一个可以批准贷款、调整药物剂量或修改生产防火墙的代理,不应使用同一控制标准。
可以沿四个问题确定强度:
低风险任务可以依赖抽样审查和普通测试。高风险、广影响、难逆转又难观察的系统,则需要更强规格、独立验证、细粒度权限、人类批准和事故演练。
主要风险是来源和实现质量。保留小 diff,检查算法与边界,用性质测试和静态分析验证即可。研究基础模型内部特征通常不是必要控制。
来源、系统两种黑箱同时重要。除了代码证据,还要检查数据迁移、幂等、依赖失败、权限、灰度范围和补偿路径。控制重点是跨模块不变量与故障半径。
三种黑箱同时存在。模型判断具有统计性,工具调用具有外部副作用,还可能读取敏感数据。除了离线评测和制品审计,还要设置金额上限、身份验证、速率限制、异常升级、人类复核和即时停用能力。
案例说明,“AI 系统需要概率控制”只对行为本身具有概率性的场景成立。开发阶段用了生成工具,不足以把整个软件从确定性工程改写为统计工程。
完全开放所有内部细节会制造信息过载,也可能泄漏安全和隐私信息。完全依赖外部行为又会让调试、审计和知识积累困难。
成熟设计应当分配透明性:
真正要反对的不是黑箱,而是没有选择依据的黑箱:团队不知道自己隐藏了什么,也不知道用什么证据弥补。
本系列最终采用的定义是:
工程控制,是在明确适用条件和残余不确定性的前提下,拥有与风险相称的理由相信系统会保持在可接受边界内,并能在越界时及时发现、限制和纠正。
这个定义不承诺绝对安全,也不把一切降为概率。确定性协议可以保留确定性性质,统计模型则需要分布性证据;两者都必须面对规格遗漏、环境变化和组织执行问题。
它也没有把理解排除在控制之外。理解帮助我们提出正确性质、解释反例和修复未知故障;约束帮助我们在无法理解全部细节时限制风险;运行反馈帮助我们发现此前理解和规格都没有覆盖的现实。
AI 不会让工程从理性走向神秘,也不会自动把复杂性提升为更高级秩序。它只让我们更难继续假装:实现出现了,理解、验证和责任就会自然跟上。
黑箱转向最值得保留的,不是“透明性已经死亡”这句宣言,而是一条更朴素的纪律:实现越容易生成,越要说明什么不能交给生成;系统越难穷尽,越要给关键主张配置证据;行为越难预测,越要限制权限并准备恢复。
未来的软件可能包含更多机器生成的内部细节,但它是否值得信任,仍取决于人类怎样设计边界、检查证据、分配责任并从失败中更新。