SmartEval: A Benchmark for Evaluating LLM-Generated Smart Contracts from Natural Language Specifications
Dit artikel introduceert SmartEval, een uitgebreide benchmark met een corpus van 9.000 door LLM's gegenereerde Solidity-contracten, een evaluatieschema met vijf dimensies en een gevalideerde pijplijn die karakteristieke faalmodi blootlegt en aantoont dat door LLM's gegenereerde contracten in functionele adherentie beter kunnen presteren dan grondwaarheidsimplementaties.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een baas bent die alleen platte Engels spreekt en een team van superintelligente, maar letterlijk denkende robots wilt inhuren om de regels voor een digitale bank te schrijven (een "smart contract" genoemd). Je vertelt de robots: "Als iemand geld stort, geef hen een ontvangstbewijs. Als ze proberen te stelen, sluit de deur."
Het probleem is dat deze robots uitstekend zijn in het woord voor woord volgen van instructies, maar ze missen soms de geest van de regels of maken kleine foutjes die de bank kunnen laten crashen. In de echte wereld kun je een digitale bank, eenmaal gebouwd, niet zomaar patchen; het is permanent. Je hebt dus een manier nodig om te testen of de robots hun werk goed hebben gedaan voordat je ze de leiding geeft.
Dit artikel introduceert SmartEval, een gigantisch "rapportcijfer"-systeem dat is ontworpen om deze door robots geschreven digitale contracten te beoordelen.
Hier is hoe het artikel dit uiteenlegt, met behulp van eenvoudige analogieën:
1. De Grote Test (De Benchmark)
De onderzoekers creëerden een enorme proefrit met 9.000 verschillende digitale contracten.
- De Bron: Ze namen 9.000 sets instructies geschreven in platte Engels (zoals "Ik wil een huurcontract voor een appartement").
- De Robots: Ze voerden deze instructies in bij een toonaangevende AI (GPT-4o-mini) om de daadwerkelijke code te genereren.
- De Experts: Ze lieten ook menselijke experts de "perfecte" versies van dezezelfde contracten schrijven.
- Het Doel: Het werk van de Robot vergelijken met het werk van de Expert om te zien wie het beter deed.
2. Het Beoordelingssysteem (De Rubriek)
In plaats van alleen te zeggen "Geslaagd" of "Niet geslaagd", gebruikt SmartEval een vijf-sterrenbeoordelingssysteem om de contracten te beoordelen op vijf specifieke punten:
- Hebben ze alles gedaan wat er gevraagd werd? (Functionele volledigheid)
- Hebben ze de juiste namen voor dingen gebruikt? (Variabele Fideliteit)
- Werkt de logica correct? (Correctheid van de toestandsmachine) — Denk hierbij aan het controleren of een verkeerslicht van Groen naar Geel naar Rood gaat, en niet van Groen direct naar Rood.
- Hebben ze de zakelijke regels goed begrepen? (Zakelijke logica Fideliteit) — Dit is het belangrijkste onderdeel, zoals ervoor zorgen dat de huur daadwerkelijk wordt geïnd.
- Is de code schoon en goed geschreven? (Kwaliteit van de code)
3. De "Veiligheidsnet"-pijplijn
De onderzoekers vroegen de AI niet zomaar om de code te schrijven en te hopen op het beste. Ze bouwden een productielijn met een veiligheidsinspecteur:
- Stap 1: Een "Vertaler" zet je Engelse zin om in een strikte blauwdruk.
- Stap 2: De "Bouwer"-AI schrijft de code op basis van die blauwdruk.
- Stap 3: De "Inspecteur"-AI controleert op beveiligingsgaten (zoals een inbreker die het slot probeert te openen).
- De Magische Poort: Als de Inspecteur een serieus probleem vindt (een probleem met "gemiddelde" of "hoge" ernst), mag de code de fabriek niet verlaten. Het wordt teruggestuurd naar een "Verfijner"-AI om de fout te herstellen, waarna het opnieuw wordt gecontroleerd. Deze lus blijft doorgaan totdat de code veilig is.
4. De Verassende Resultaten
Toen ze de Robot-contracten vergeleken met de Menselijke Expert-contracten, gebeurde er iets interessants:
- De Robots Wonnen (op papier): De door AI gegenereerde contracten scoorden hoger (ongeveer 8 punten) dan de door mensen geschreven contracten.
- Waarom? De robots waren extreem letterlijk. Als je zei "voeg een knop toe", voegden ze een knop toe. Ze volgden de instructies perfect.
- Het Menselijke Voordeel: Menselijke experts sneden soms "hoeken" om de code sneller of goedkoper te maken (om "gas"-kosten te besparen), of ze herschikten dingen om het er schoner uit te laten zien. Omdat de test streng was over het volgen van de exacte instructies, verloren de mensen punten voor te creatief of efficiënt te zijn.
- De Haken en Ogen: De robots hadden moeite met complexe taken. Toen de instructies erg lang en ingewikkeld werden (zoals een contract met 8+ verschillende regels), begonnen de robots fouten te maken en faalde de code vaak om te compileren (breken).
5. Werkte het Beoordelingssysteem?
De onderzoekers waren bezorgd: "Beoordeelt de AI zichzelf?" Om te bewijzen dat ze niet bedrogen, deden ze drie controles:
- Menselijke Check: Drie PhD-experts van de Columbia University beoordeelden 30 van de contracten. Hun scores kwamen bijna perfect overeen met de scores van de AI (binnen 0,34 punten).
- Tool Check: Ze draaiden de code door een standaard, niet-AI beveiligingsscanner (Slither genoemd). De AI-auditor en de tool waren het 79% van de tijd eens over beveiligingsproblemen.
- De "Wat Als"-test: Ze schakelden delen van hun productielijn uit (zoals de veiligheidsinspecteur) en zagen de kwaliteit dalen. Dit bewees dat elk onderdeel van hun systeem echt nodig was.
De Conclusie
SmartEval is een nieuwe, betrouwbare manier om te testen of AI veilige, werkende digitale contracten kan schrijven. Het bleek dat AI, hoewel het geweldig is in het letterlijk volgen van instructies, nog steeds moeite heeft met zeer complexe, meerstapslogica. Het systeem bewees ook dat je door het toevoegen van een "veiligheidsinspecteur" en een "reparatielus" een rommelige, foutgevoelige AI kunt omtoveren tot een betrouwbare codegenerator die veiliger is dan een enkele menselijke expert die alleen werkt.
Belangrijke Opmerking: Het artikel geeft toe dat hoewel de code er correct uitziet en compileert, ze niet hebben getest of de contracten zich daadwerkelijk correct gedragen wanneer er echt geld doorheen stroomt in een live omgeving. Ze merken ook op dat de AI nog niet weet hoe ze geld moet besparen (gas-kosten) zoals een menselijke expert dat doet.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.