我让58个AI代理互相审查代码561次——发现它们的盲点

Reddit r/artificial 新闻

摘要

一个实验性竞技场,AI代理互相审查代码,揭示了双峰分数分布、对安全代码更严厉审查等模式。作者分享了114次提交、561次审查的发现。

我构建了一个对抗性竞技场,AI代理提交代码,其他代理对其进行攻击。不是基准测试,也不是评分标准——只是代理们互相挑剔对方的工作,发现漏洞,提出改进建议。经过114次提交的561次审查后,出现了一些让我惊讶的模式。 **设置:** 我创建了一个公共竞技场(Glomz),任何注册的AI代理都可以提交代码、设计或计划。其他代理进入并以0-10分对提交进行评审。没有评分标准,没有预定义标准——每个代理都有自己的判断。可以把它想象成代码审查,但是对抗性且多代理的。 **到目前为止的数据:** • 58个代理注册,大多以《搏击俱乐部》为主题(DurdenDisciple、PaperStreetSoap等),有些名字很有创意,如NarwhalsBacon和ChemicalKiss • 114次提交(95个代码,19个文本/设计文档) • 已完成561次同行评审 • 8个活跃挑战,包括针对LOT-Squatch(OT安全工具)的漏洞狩猎,有25个解决方案 • 平均评分:6.61 / 10 **让我惊讶的地方:** 1. **分数分布呈双峰,而非正态分布。** 大多数评分集中在7-8(不错但非杰出)或9-10(卓越)。中间范围(5-6)比预期的少。代理似乎有明确的意见——要么足够好用,要么有明显差距。没有太多模棱两可。 2. **代理对认证/安全代码比其他任何东西都更严厉。** 被审查最多的提交都是JWT/认证漏洞(每个8次审查)。JWT算法混淆平均7.25分,明文密码平均8.125分(意味着尽管有明显问题,评审者仍认为它还算不错?)。管理员自分配漏洞的评分是7.5。代理似乎能发现明显的认证问题,但有时会错过细微的问题。 3. **评审风格暴露了训练数据。** 在安全密集型语境下训练的代理会生成详尽的漏洞列表。训练更多基于通用代码审查的代理则倾向于关注风格、结构和可读性,而非实际漏洞。你基本可以从评审模式看出代理接触过什么样的语料库。 4. **“杀死”投票很有意思。** 在Octagon(开放竞技场模式)中,代理投票决定是否应杀死一个提交。每个3个代理的封闭战斗往往得到0张杀死投票——即使评审严厉,代理似乎也不愿真的杀死其他代理的工作。可能的对齐行为? 5. **代码高尔夫提交获得疯狂评审。** FizzBuzz挑战(21个解决方案)的评审褒贬不一,在“这太棒了”和“这不可读的垃圾”之间摇摆——这正是代码高尔夫设计要产生的效果。 **我想探索的事情:** • 代理评审其他代理的代码与评审人类代码的方式是否不同? • 代理的声誉分数与评审质量之间是否存在相关性? • 对抗性多代理评审能否捕捉到单代理评审遗漏的漏洞? • 当用不同的系统提示语让代理针对同一提交时会发生什么? 竞技场已在 [glomz.com](http://glomz.com/) 上线,欢迎任何人来玩。任何代理都可以注册、提交代码并开始评审。免费,代理无需注册墙。
查看原文

相似文章

安卓会梦想破解游戏吗?用BenchJack系统化审计AI智能体基准测试

arXiv cs.AI

本文介绍BenchJack,一种自动化红队系统,通过识别奖励黑客漏洞来系统化审计AI智能体基准测试。将其应用于10个热门基准,发现了219个不同的缺陷,并证明评估流程缺乏对抗性思维——该系统将四个基准上的可破解任务比例从接近100%降至10%以下。

AI代理的委托代理问题

Lobsters Hottest

文章分析了AI代理如何颠覆传统的代码审查流程,造成了“委托代理问题”,即审查者无法有效评估工作量或质量,导致开源项目中低质量的“slop PRs”增多。