솔리디티 AI 코딩의 한계? SolEval 결과와 가스비 최적화 프롬프트
블록체인 판에서 ‘코드는 곧 법(Code is Law)’이라는 말은 낭만이 아니라 생존의 문제입니다. 파이썬이나 자바에서는 AI가 짠 코드가 제법 쓸만해졌지만, 이더리움의 솔리디티(Solidity) 앞에서는 이야기가 달라집니다. 법은 한 번 정해지면 고치기 어렵고, 집행할 때마다 ‘세금(가스비)’이 붙으니까요.
최근 발표된 SolEval 연구는 우리가 믿고 쓰던 AI 비서들의 실력을 낱낱이 파헤쳤습니다. 결론부터 말씀드리면, “GPT-4o나 DeepSeek-V3조차 솔리디티 시험지 앞에서는 쩔쩔매고 있다”는 것입니다. 왜 AI가 이토록 고전하는지, 그리고 우리는 이 ‘덜렁대는 AI’를 어떻게 길들여야 하는지 핵심만 짚어드립니다.
1. 왜 AI는 Solidity만 만나면 ‘멘붕’이 올까?
일반적인 코딩이 ‘글짓기’라면, 스마트 계약은 ‘수표에 금액 적기’와 같습니다. 실수 한 번에 수백억 원이 증발하죠. AI를 괴롭히는 장벽은 크게 두 가지입니다.
- 수정 불가(Immutability): 한 번 배포하면 끝입니다. “아 맞다, 버그!”라고 외쳐봐야 이미 돈은 해커의 손에 있습니다.
- 가스비(Gas Fee): 코드가 비효율적이면 실행할 때마다 사용자의 생돈이 나갑니다. 단순히 ‘돌아가는 코드’가 아니라 ‘알뜰하게 돌아가는 코드’가 필수입니다.
기존의 벤치마크들은 이런 특수성을 무시했습니다. 그래서 등장한 것이 실제 오픈소스 리포지토리의 복잡한 의존성을 그대로 반영한 SolEval입니다.
2. 충격적인 성적표: 1등이 겨우 26점?
16개의 최신 LLM을 대상으로 한 SolEval의 평가 결과는 참담합니다. 우리가 천재라고 믿었던 모델들의 실력을 보시죠.
| 모델명 | 정답률 (Pass@10) | 특징 |
|---|---|---|
| DeepSeek-V3 | 26.29% | 정답률은 1위이나 가스비 효율은 빵점 |
| GPT-4o | 23.70% | 범용성은 좋으나 솔리디티 전문성은 부족 |
| DeepSeek-R1 (7B) | 낮음 | 정답률은 낮지만 가스비는 제일 잘 아낌 |
[결과 분석]
가장 똑똑하다는 모델조차 4번 중 3번은 틀린 코드를 내놓습니다. 컴파일조차 안 되거나, 치명적인 보안 구멍이 뚫려 있다는 뜻이죠. 특히 ‘정답’을 맞추는 데 급급해 가스비를 펑펑 쓰는 ‘부잣집 도련님’ 같은 코드만 짜고 있습니다.
3. 오답 사례 vs 정답 사례: 무엇이 차이를 만드나?
AI가 흔히 범하는 실수를 예로 들어보겠습니다.
// 반복문 안에서 매번 스토리지를 읽어 가스비 폭탄 발생
for (uint i = 0; i < users.length; i++) {
totalAmount += balances[users[i]];
}
// 메모리 변수를 활용해 스토리지 접근 최소화 (CEI 패턴 적용)
uint256 length = users.length; // 루프 밖에서 한 번만 읽기
uint256 tempAmount = 0;
for (uint i = 0; i < length; i++) {
tempAmount += balances[users[i]];
}
totalAmount = tempAmount; // 스토리지 쓰기는 마지막에 한 번만
AI는 이 미묘한 ‘한 끗 차이’를 놓치기 일쑤입니다. storage 변수를 루프 안에서 반복 참조하면 매 반복마다 SLOAD 가스가 부과되어, 사용자의 지갑에서 돈이 새어나갑니다.
4. 실전 가이드: AI를 ‘시니어 개발자’로 만드는 프롬프트
연구 결과에 따르면, AI에게 ‘주변 맥락(Context)’을 제대로 주입했을 때 성능이 3배 이상 뛰었습니다. 무작정 “코드 짜줘”라고 하지 마세요. 아래 템플릿을 복사해서 사용하시기 바랍니다.
- 가스 최적화: 스토리지 읽기/쓰기를 최소화할 것.
- 보안: CEI(Check-Effects-Interactions) 패턴을 준수하여 재진입 공격(Reentrancy)을 방지할 것.
🏁 결론: AI는 ‘자동 운전차’가 아니라 ‘성능 좋은 지팡이’
SolEval 벤치마크가 주는 교훈은 명확합니다. AI는 아직 혼자서 법(Code)을 집행할 자격이 없습니다. 맥락을 놓치고, 돈을 낭비하며, 때로는 도둑에게 문을 열어줍니다.
하지만 우리가 명확한 ‘가이드라인(프롬프트)’을 제시한다면, AI는 가장 빠르고 훌륭한 초안 작성자가 됩니다. AI가 짠 코드를 맹신하지 마세요. 검토는 인간의 몫이고, 최적화는 프롬프트의 몫입니다.
오늘 공유해 드린 템플릿으로 여러분의 스마트 계약을 진짜 ‘스마트’하게 만들어 보시기 바랍니다.
