SolAgent: A Specialized Multi-Agent Framework for Solidity Code Generation
SolAgent 是一个专门的多智能体框架,它利用结合了 Forge 编译器和 Slither 静态分析器的双环细化机制,在生成安全且功能完备的 Solidity 智能合约方面显著超越了现有的 LLM 和 AI 工具,同时还能将高质量的轨迹蒸馏到更小的开源模型中。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
以下是对 SolAgent 论文的解释,通过简单的概念和富有创意的类比进行了拆解。
核心问题:用“魔法笔”建造数字堡垒
想象一下,你正在建造一座数字堡垒(即智能合约),里面存放着数百万美元。一旦你建好并锁上门,你就无法更改其中的任何一块砖。如果你犯了一个微小的错误,小偷就会破门而入并窃取一切。
最近,我们得到了一支“魔法笔”(大语言模型或 LLM),它可以瞬间为我们编写代码。但由于这支笔就像一个非常有自信但缺乏经验的学徒,它写出的代码看起来很漂亮,但往往存在以下问题:
- 它无法运行: 代码隐藏着错误,会导致程序立即崩溃(编译失败)。
- 它不安全: 它留下了黑客可以利用的秘密后门。
- 它会卡住: 它试图一次性写完整个堡垒,结果因负担过重而放弃。
论文指出,仅仅要求“魔法笔”去“写一个安全的合约”是不够的。我们需要一个更好的系统。
解决方案:SolAgent(大师级建筑师团队)
作者创建了 SolAgent,它不仅仅是一个 AI,而是一个协同工作的专业化 AI 智能体团队。SolAgent 不仅仅是写一次代码然后听天由命,它模仿了人类专家构建软件的方式:编写、检查、修复、重复。
把 SolAgent 想象成一个建筑工地,有两个主要工人以及一套高科技工具:
1. 两名工人
- 编码智能体(建筑师): 这个 AI 接收你的请求(例如:“建造一个只有持有钥匙才能打开的保险库”),并编写初始的代码草案。
- 精炼智能体(检查员): 这个 AI 不仅仅是阅读代码,它还会积极地测试代码。它查看建筑师的作品,寻找错误,并准确地告诉建筑师该如何修复它们。
2. 高科技工具(“双环”系统)
SolAgent 的天才之处在于它使用两个特定的工具来检查工作,从而创建一个质量控制的“双环”系统:
内环(“锻造炉”测试):
- 类比: 想象一台压力测试机,试图破坏你保险库的门。
- 作用: 它通过编译器(Forge)运行代码,以查看代码是否真的有效。如果代码崩溃或未通过数学测试,精炼智能体会收到一份报告说:“这一行坏了”,并将其发回给建筑师进行修复。
- 结果: 这确保了代码的功能性。
外环(“Slither”安全扫描):
- 类比: 想象一位带着金属探测器的安全专家,在保险库周围走动,寻找隐藏的陷阱或松动的砖块。
- 作用: 它使用静态分析器(Slither)来扫描已知的安全漏洞(例如“重入攻击”漏洞,即小偷可以通过这种方式欺骗保险库进行两次支付)。如果发现漏洞,它会通知精炼智能体立即修补。
- 结果: 这确保了代码的安全性。
3. 文件系统(“图书卡”)
通用 AI 经常会感到困惑,因为它们不知道项目中还存在哪些其他文件。SolAgent 配备了一个文件系统工具。
- 类比: AI 不再靠猜测工具箱里有什么,而是可以直接走到工具棚前,打开门,阅读箱子上的标签,并抓取完成任务所需的正确工具。这有助于它理解具有许多不同部分的复杂项目。
它是如何运作的:“停止”按钮
你可能会想:“他们难道不会永远不停地修复代码吗?”
论文引入了一种动态停止机制。它就像一个聪明的计时器,知道何时该收手:
- 成功: 如果代码通过了所有测试并且没有安全漏洞,则停止。
- 卡住: 如果 AI 一直在重复犯同一个错误(陷入循环),则停止以节省时间。
- 停滞: 如果代码在尝试几次后没有任何改进,则停止。
结果:为什么它很重要
研究人员在名为 SolEval+(一个真实的智能合约挑战集)的严苛基准测试中对 SolAgent 进行了测试。
效果显著更好:
- 标准 AI(仅使用“魔法笔”)在第一次尝试时只能正确完成约 25% 的合约。
- SolAgent 在第一次尝试时就能正确完成 64.39%。这比成功率翻了一倍多。
- 类比: 如果你让 100 个随机路人去造一个保险库,可能只有 25 个人能造出能用的;而 SolAgent 就像雇佣了一位大师级建筑师,在 100 个案例中造出了 64 个可以正常工作的保险库。
更安全:
- 与人类编写的代码相比,SolAgent 将安全漏洞减少了近 40%。
- 类比: 它发现了并修复了那些即使是经验丰富的建筑师有时也会忽略的隐藏陷阱。
成本更低(“蒸馏”技巧):
- 运行一个 AI 智能体团队是很昂贵的。因此,作者提取了建筑师与检查师之间的“高质量对话”(轨迹),并利用这些数据来训练一个更小、更便宜的 AI 模型(Qwen3-8B)。
- 类比: 他们将大师级厨师厨房里的笔记整理出来,教给一名初级厨师如何做出同样完美的菜肴。这个初级厨师(小模型)学到的烹饪水平几乎可以媲美那个庞大的团队,但速度更快且成本更低。
总结
SolAgent 是一种使用 AI 编写区块链代码的新方法。它不再仅仅信任单个 AI 在第一次尝试时就做到完美,而是建立了一个团队,通过编写代码、使用编译器进行测试、使用安全扫描器查找漏洞,并不断修复错误,直到达到完美。其结果是,它生成的代码比目前的 AI 或甚至人类专家通常产出的代码更加可靠和安全。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。