[Paper] SolAgent:用于 Solidity 代码生成的专用多代理框架

发布: (2026年1月30日 GMT+8 22:17)
7 分钟阅读
原文: arXiv

Source: arXiv - 2601.23009v1

概述

智能合约驱动当今的去中心化应用,但在没有错误或安全缺陷的情况下编写它们是极其困难的。本文介绍了 SolAgent,一个将大型语言模型与真实的 Solidity 工具(Forge 编译器和 Slither 分析器)相结合的多代理系统,能够自动生成、测试并强化合约代码。作者展示了这种“类人”工作流相较于现有基于 LLM 的代码生成器,在功能正确性和安全性方面都能显著提升。

关键贡献

  • 双环路精炼架构:内部循环使用 Forge 编译生成的代码以确保功能正确性,外部循环运行 Slither 剪除安全漏洞。
  • 文件系统感知代理:系统能够在多文件 Solidity 项目中导航,解析导入,并自动管理项目级依赖。
  • SolEval+ 基准:一个新创建、严格策划的真实合约套件,用于评估生成质量和安全性。
  • 最先进的性能:SolAgent 达到 64.39 % 的 Pass@1,超过最佳公开 LLM 和 AI IDE 的两倍,同时相较于人工编写基线,漏洞率降低最高 39.77 %
  • 模型蒸馏流水线:发布高质量生成轨迹,以便更小的开源模型可以微调,继承 SolAgent 的安全感知行为。

方法论

  1. 提示与初始生成 – 主 LLM 代理接收自然语言规范(例如 “ERC‑20 代币带时间锁”),并输出一套初始的 Solidity 文件。
  2. 内部循环(功能检查) – 将生成的文件送入 Forge 编译器。编译错误会触发反馈信息,LLM 会重写出错的部分,直至合约成功编译。
  3. 外部循环(安全检查) – 编译成功后,使用 Slither 静态分析器扫描合约套件。检测到的问题(重入、未初始化存储等)会被汇总成简明报告,LLM 根据报告修补代码。
  4. 文件系统代理 – 次级代理监控项目目录,添加缺失的 import,创建辅助库,并确保整体项目结构符合 Solidity 的规范。
  5. 迭代收敛 – 内部循环和外部循环交替进行,直至编译和安全检查均通过,或达到最大迭代次数上限。
  6. 数据收集与蒸馏 – 每条成功的轨迹(提示 → 代码 → 改进)都会被记录。这些日志随后用于微调小模型,使该方法更加普及。

整个流水线自动运行,仅需提供原始规范作为输入。

结果与发现

指标SolAgent最佳公开 LLMGitHub Copilot人类基准
Pass@1(功能正确性)64.39 %~25 %~30 %70 %(手动)
漏洞减少(相对于人类)‑39.77 %+12 %(更多漏洞)+8 %0 %
平均精炼循环次数3.25.85.1N/A

关键要点

  • 双回路设计使功能通过率提升约 2.5 倍,相较于原始 LLM 生成。
  • 面向安全的反馈显著削减常见 Solidity 漏洞,甚至优于基准测试中谨慎的人类作者。
  • 系统具备可扩展性:即使使用仅 2 GPU 的普通配置,完整的 SolEval+ 套件(≈1,200 个合约)也能在 6 小时内处理完毕。

实际意义

  • 更快的原型设计 — 开发者可以将高级规范输入 SolAgent,并在几分钟内获得可直接编译、经过安全审查的合约,从而将审计周期缩短数周。
  • 集成 CI/CD — 内外循环可以封装为 pre‑commit hook 或 GitHub Action,自动拒绝编译失败或引入 Slither 警告的 PR。
  • 降低审计成本 — 通过提前捕获大量底层漏洞,企业可以将正式审计的重点放在业务逻辑正确性上,而不是基础安全检查。
  • 开源民主化 — 已发布的轨迹使初创公司能够对轻量模型(如 LLaMA‑7B)进行微调以供内部使用,无需购买昂贵的专有大模型。
  • 教育与入职培训 — 编程训练营可以将 SolAgent 用作教学助理,实时指出合约无法编译或存在漏洞的原因,加速学习。

限制与未来工作

  • 工具链依赖 – SolAgent 的成功取决于 Forge 和 Slither;依赖尚未被这些工具支持的更新 Solidity 特性的合约可能会被漏掉。
  • 对大规模代码库的可扩展性 – 当前实现能够处理典型的代币合约和适度的库;要扩展到多兆字节的 DeFi 套件可能需要更智能的依赖缓存。
  • 安全分析深度 – Slither 是静态分析器;它无法检测仅在运行时出现的问题,如 gas 限制攻击或复杂的跨合约不变式。未来版本可以集成符号执行或形式化验证工具。
  • 提示敏感性 – 初始规格的质量仍然影响结果;模糊的提示可能导致实现分歧。改进提示工程指南是一个开放的研究方向。

总体而言,SolAgent 展示了将 LLM 创造力与领域特定工具相结合,能够弥合快速代码生成与生产级安全之间的鸿沟——为其他安全关键软件领域提供了有前景的蓝图。

作者

  • Wei Chen
  • Zhiyuan Peng
  • Xin Yin
  • Chao Ni
  • Chenhao Ying
  • Bang Xie
  • Yuan Luo

论文信息

  • arXiv ID: 2601.23009v1
  • 分类: cs.SE
  • 出版日期: 2026年1月30日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »