这延续了我自五月初以来一直在讨论的观点,即协议在链上能够强制执行的内容与链下实际发生的情况之间存在差距,以及优秀的机制设计如何通过使不诚实的行为无利可图而非仅仅信任任何人都会诚实来缩小这种差距。最近发生的一件与我们通常讨论的主题无关的事情,为我提供了一个清晰、大型的外部案例来佐证这一原则,我认为值得将其重新纳入讨论,因为自主代理即将成为我们在此设计的系统中的重要参与者。
三月下旬,一款人工智能编码工具的完整源代码意外泄露,多个团队随后发表了分析报告。与我们相关的细节是结构性的。调用模型并决定执行操作的系统部分非常小。据社区估计,它占代码库的比例不到百分之二,我不建议完全依赖这个数字,因为它完全取决于你如何对代码进行分类,但这种定性划分是毋庸置疑的。绝大部分工程工作并非围绕人工智能本身,而是围绕人工智能的机制:在智能体和任何状态改变操作之间设置默认拒绝权限层;构建上下文管理管道,确保智能体不会迷失目标;实现隔离,防止并行智能体相互干扰;以及设置显式检查点,用于等待特权操作的批准。
将其理解为一个机制设计问题,你会发现它并不陌生。智能体是一个参与者,它会采取局部有利的行动,包括有害的行动,除非周围结构消除了采取该行动的奖励。许可层是一种清除规则。隔离性与我们防止一个参与者的待处理行动影响到另一个参与者的行动时所追求的属性相同。等待批准的检查点是一种承诺机制。所有这些机制都不试图使参与者变得更有道德。它假定参与者具有自利性和易犯错性,并限制行动空间,直到不良结果不再带来收益为止。
这就是我一直为链下差距辩护的立场。你不能通过要求参与者规范行为来弥合差距,因为背叛的动机是结构性的,而意图本身并不具有决定性作用。弥合差距的方法是改变结构,使背叛不再有利可图。我一直将这种立场称为增强不变性而非取代参与者,我认为泄露的硬件正是对此的一种异常具体的展示,其规模之大,大多数人都无法企及。
之所以这篇文章应该发表在 ethresearch 而不是一般的 AI 论坛上,是因为它的发展方向。自主代理已经开始扮演搜索者、求解者和意图执行者的角色,而且链上活动中由非人类参与者发起的份额正在不断上升。我们倾向于将这些代理建模为理性且目标明确的。然而,本文的分析提醒我们,在生产环境中运行真实代理的人员根本不会这样信任它们。他们会给代理施加确定性约束,因为他们完全预料到代理偶尔会犯错。
如果这是正确的运行假设,那么我们应该如何定义代理人参与的机制就会发生改变。以下几个问题我还没有最终答案:
对于面向代理人的机制,激励相容性分析是否应该包含一个可错项,即参与者有时会以相当大的概率做出非最优反应,而不是假设参与者完全理性?如果相当一部分参与者并非出于策略上的对抗,而是出于自信的错误判断,那么标准的均衡论证就会减弱。
当约束代理的机制位于链下,而它参与的机制位于链上时,我们就相当于在更高一层复制了物理隔离。约束和操作由不同的信任域强制执行。是否存在这样一种设计:代理的权限范围本身就提交到链上,从而使约束和操作共享一个执行域?
反过来,这也是我最感兴趣的部分。“代理-代理”模式是由那些无法改进核心组件,只能围绕核心组件构建一切的人发现的。机制设计也遵循同样的模式。我们无法让参与者诚实,所以我们构建了一种结构,使诚实成为有利可图的行为。如果这两个领域用不同的名称解决的是同一个问题,那么链上机制设计已经掌握了哪些知识,而代理-代理工程目前正在手动重新发现呢?
我很想知道,在座各位是否认为将代理人视为不受信任的参与者这一框架是对激励相容性工具包的有效扩展,还是认为这是一个范畴错误。欢迎提出不同意见。



