← 最新论文
🤖 AI

SmartEval: A Benchmark for Evaluating LLM-Generated Smart Contracts from Natural Language Specifications

本文介绍了 SmartEval,这是一个综合性基准测试,包含由 9,000 个由大语言模型生成的 Solidity 智能合约构成的语料库、一个五维评估标准以及一个经过验证的流程,该流程不仅揭示了典型的失败模式,还证明了大语言模型生成的智能合约在功能遵循性上可超越真实实现。

原作者: Abhinav Goel, Agostino Capponi, Alfio Gliozzo, Chaitya Shah

发布于 2026-05-12
📖 1 分钟阅读☕ 轻松阅读

原作者: Abhinav Goel, Agostino Capponi, Alfio Gliozzo, Chaitya Shah

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象你是一位只说通俗英语的老板,你想雇佣一支超级聪明但思维刻板的机器人团队,来为一家数字银行(称为“智能合约”)编写规则。你告诉机器人:“如果有人存入资金,就给他们一张收据;如果他们试图盗窃,就锁上门。”

问题在于,这些机器人非常擅长逐字逐句地执行指令,但它们有时会忽略规则的精神实质,或者犯下微小的错误,导致银行崩溃。在现实世界中,一旦数字银行建成,就无法随意修补;它是永久性的。因此,你需要一种方法,在让机器人接管运营之前,测试它们是否做得好。

本文介绍了SmartEval,这是一个巨大的“成绩单”系统,旨在为这些机器人编写的数字合约打分。

以下是本文的分解说明,使用了简单的类比:

1. 大考(基准测试)

研究人员进行了一次涉及9,000 个不同数字合约的大规模测试。

  • 来源:他们采用了 9,000 套用通俗英语编写的指令集(例如“我想要一份公寓租赁协议”)。
  • 机器人:他们将这些指令输入到顶级人工智能(GPT-4o-mini)中,以生成实际代码。
  • 专家:他们还让人类专家编写了这些相同合约的“完美”版本。
  • 目标:将机器人的工作成果与专家的工作成果进行比较,看谁做得更好。

2. 评分系统(评分标准)

SmartEval 不仅仅说“通过”或“失败”,而是使用五星评级系统,从五个具体方面对合约进行评分:

  1. 是否完成了所有要求?(功能完整性)
  2. 是否使用了正确的名称?(变量保真度)
  3. 逻辑流程是否正确?(状态机正确性)——这就像确保交通灯从绿灯变到黄灯再变到红灯,而不是直接从绿灯变到红灯。
  4. 是否掌握了业务规则?(业务逻辑保真度)——这是最重要的部分,就像确保租金确实被收取。
  5. 代码是否整洁且编写良好?(代码质量)

3. “安全网”流水线

研究人员并没有只是让 AI 编写代码然后听天由命。他们建立了一条带有安全检查员的工厂流水线

  • 步骤 1:“翻译器”将你的英语句子转化为严格的蓝图。
  • 步骤 2:“构建者”AI 根据该蓝图编写代码。
  • 步骤 3:“检查员”AI 检查安全漏洞(就像窃贼试图撬锁)。
  • 魔法大门:如果检查员发现严重问题(“中等”或“高”严重程度的问题),代码不能离开工厂。它会被送回“优化器”AI 去修复错误,然后再次接受检查。这个循环会一直持续,直到代码安全为止。

4. 令人惊讶的结果

当他们比较机器人合约与人类专家合约时,发生了一些有趣的事情:

  • 机器人赢了(在纸面上):AI 生成的合约实际上得分更高(高出约 8 分),超过了人类编写的合约。
  • 为什么?:机器人极其字面化。如果你说“添加一个按钮”,它们就会添加一个按钮。它们完美地遵循了指令。
  • 人类的优势:人类专家有时会“走捷径”以使代码更快或更便宜(节省“燃气”费用),或者重新组织内容使其看起来更整洁。由于测试严格遵循确切指令,人类因为过于富有创意或高效而失分。
  • 陷阱:机器人在处理复杂任务时遇到了困难。当指令变得非常长且复杂时(例如包含 8 个以上不同规则的合约),机器人开始犯错,代码经常无法编译(崩溃)。

5. 评分系统有效吗?

研究人员担心:“是 AI 在给自己打分吗?”为了证明他们没有作弊,他们进行了三项检查:

  1. 人工检查:来自哥伦比亚大学的三位博士专家对 30 个合约进行了评分。他们的分数与 AI 的分数几乎完全吻合(误差在 0.34 分以内)。
  2. 工具检查:他们将代码通过标准的非 AI 安全扫描器(称为 Slither)运行。AI 审计员与工具在安全问题上79% 的时间达成一致。
  3. “如果”测试:他们关闭了流水线中的部分环节(如安全检查员),发现质量下降。这证明了他们系统中的每个部分实际上都是必要的。

结论

SmartEval 是一种新的、可靠的方法,用于测试 AI 是否能编写安全、可运行的数字合约。它发现,虽然 AI 在字面遵循指令方面表现出色,但在处理非常复杂的多步骤逻辑时仍有困难。该系统还证明,通过添加“安全检查员”和“修复循环”,你可以将一个混乱、易出错的 AI 转变为一个可靠的代码生成器,其安全性甚至超过单独工作的单个人类专家。

重要提示:该论文承认,虽然代码看起来正确且能编译,但他们尚未测试这些合约在真实资金流动的实际环境中是否真的表现正确。他们还指出,AI 目前还不懂得像人类专家那样节省资金(燃气费用)。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →