SolAgent 스마트 계약 자동 생성의 새로운 멀티에이전트 프레임워크
초록
SolAgent는 Solidity 코드 생성을 위해 두 단계의 피드백 루프를 도입한 멀티에이전트 시스템이다. 내부 루프에서는 Forge 컴파일러와 테스트 스위트를 활용해 기능적 정확성을 검증하고, 외부 루프에서는 Slither 정적 분석기로 보안 취약점을 제거한다. 파일 시스템 접근 기능을 추가해 복잡한 프로젝트 의존성을 해결하며, SolEval+ 벤치마크에서 Pass@1 64.39%를 달성해 기존 LLM 및 AI IDE 대비 크게 앞선 성능을 보였다.
상세 분석
SolAgent는 기존 대형 언어 모델(LLM)이 스마트 계약 개발에서 보이는 “한 번에 생성 → 검증”의 한계를 극복하기 위해 설계된 도구‑증강 멀티에이전트 프레임워크이다. 핵심 설계는 두 개의 순환 루프(dual‑loop)로 구분된다. 첫 번째인 정확성 루프는 Forge 컴파일러와 테스트 프레임워크를 이용해 생성된 Solidity 코드의 컴파일 성공 여부와 단위 테스트 통과율을 실시간으로 피드백한다. 이 과정에서 발생하는 컴파일 오류, 논리적 버그, 가스 효율성 문제는 즉시 에이전트에게 전달되어 코드가 반복적으로 수정된다. 두 번째인 보안 루프는 Slither 정적 분석기를 호출해 재진입성, 정수 오버플로, 접근 제어 오류 등 알려진 취약점을 탐지한다. Slither가 반환하는 심각도별 경고는 에이전트가 우선순위에 따라 수정하도록 유도한다.
에이전트 구조는 코딩 에이전트와 리파인먼트 에이전트의 두 역할로 단순화된다. 코딩 에이전트는 사용자 요구사항을 해석해 초기 스마트 계약을 생성하고, 리파인먼트 에이전트는 위 두 루프에서 얻은 피드백을 바탕으로 코드 수정, 가스 최적화, 보안 패치를 수행한다. 이 두 에이전트는 파일 시스템 툴(디렉터리 열람, 파일 읽기)과 결합돼 프로젝트 전체 구조를 파악하고 외부 라이브러리·인터페이스를 정확히 가져올 수 있다.
루프 종료 조건은 성공, 정체, 루프 세 가지 신호에 기반한다. 모든 테스트가 통과하고 고위험 취약점이 없을 경우 즉시 종료하고, 연속 N 라운드 동안 통과율이 개선되지 않으면 정체로 판단한다. 또한 피드백 유사도(Similarity) 가 사전 정의된 임계값 τ 를 초과하면 무한 루프에 빠진 것으로 간주해 조기 종료한다. 이러한 동적 종료 메커니즘은 연산 비용을 절감하고 불필요한 반복을 방지한다.
실험은 실제 고품질 오픈소스 프로젝트에서 추출한 SolEval+ 벤치마크를 사용했다. SolAgent는 Pass@1 64.39%를 기록했으며, 이는 기존 LLM(≈25%) 및 GitHub Copilot 등 AI IDE에 비해 2.5배 이상 높은 수치다. 보안 측면에서도 인간이 작성한 베이스라인 대비 39.77% 적은 취약점을 보였다. 특히 가스 사용량도 평균 12% 절감되는 등 효율성까지 향상시켰다.
또한, SolAgent가 생성한 고품질 인터랙션 트래젝터리를 활용해 모델 디스틸레이션을 수행했다. 전체 컨텍스트와 압축 컨텍스트 두 종류의 데이터를 수집하고, 이를 기반으로 Qwen‑3‑8B 모델을 미세조정했다. 결과적으로 경량 모델도 원본 멀티에이전트 시스템에 근접한 성능을 보이며, 비용 효율적인 스마트 계약 자동 생성 솔루션을 제공한다.
전반적으로 SolAgent는 도구‑증강 피드백 루프와 멀티에이전트 협업을 결합해 Solidity 코드 생성의 정확성, 보안, 가스 효율성을 동시에 최적화한다는 점에서 기존 연구와 차별화된다.
댓글 및 학술 토론
Loading comments...
의견 남기기