RAID-AI: 자율 에이전트를 위한 다중 언어 스트레스 테스트
Source: Dev.to
Introduction
우리는 모두 데모를 보았다: LLM이 몇 초 만에 깔끔한 React 컴포넌트나 Python 스크립트를 생성한다. 하지만 실제 현장에서는 엔지니어링이 단순히 생성에 그치지 않는다—유지보수가 핵심이다. 10년 된 Java 레포를 파고들어 레거시 컨텍스트를 이해하고, 전체 빌드를 깨뜨리지 않으면서 버그를 수정해야 한다.
현재 AI MOOC의 Mastery Tier 제출물의 일환으로 RAID‑AI를 만들었다. 이는 Java, Python, JavaScript 전반에 걸친 “Green Agents”를 평가하기 위한 다중 언어 버그‑수정 벤치마크이다.
The Problem: The Benchmarking Gap
대부분의 AI 벤치마크는 진공 상태에 존재하는 “장난감” 문제다. 에이전트가 실제 프로덕션 환경에 준비되었는지 진정으로 테스트하려면 다음을 마주해야 한다:
- Multilinguality – Java의 엄격한 타입과 JavaScript의 동적 특성 사이를 컨텍스트 전환할 수 있는가?
- Environment Constraints – 실제 의존성을 처리할 수 있는가?
- Efficiency – 최소 토큰으로 문제를 해결하고 있는가, 아니면 해결책을 “무차별 대입”하고 있는가?
The Architecture: Under the Hood of RAID‑AI
RAID‑AI는 로컬 버그 저장소와 인터페이스하는 세 개의 독립적인 “Project Managers”(Java, Python, JavaScript)를 관리하는 오케스트레이션 레이어로 동작한다.
- Java component – 수천 개의 실제 버그를 담은 데이터베이스인 Defects4J와 통합했다. WSL/Ubuntu에 환경을 설정하는 과정은 “의존성 지뢰밭”을 헤쳐 나가는 작업이었다.
The Technical “War Story”: Perl and Environment Parity
가장 큰 장애물은 환경 일치를 이루는 것이었다. Defects4J는 Perl 기반 백엔드에 의존하는데, 이는 String::Interpolate.pm 오류를 일으켰다. 나는 libstring-interpolate-perl와 liblist-moreutils-perl 같은 시스템 레벨 라이브러리를 수동으로 설치하며 “의존성 두더지 잡기”에 상당한 시간을 투자했다. 이를 통해 벤치마크가 Java 프로젝트와 통신할 수 있게 만들었다.
이 경험은 AI 엔지니어링에서 중요한 진실을 강조한다: 인프라가 최종 병목이다. 테스트 환경이 재현 가능하지 않다면 AI의 “성공”은 단지 환상에 불과하다.
The Scoring Rubric: Why “Green” Matters
RAID‑AI는 가중 루브릭을 사용해 Green Agent Score를 계산한다:
| Criterion | Weight | Description |
|---|---|---|
| Correctness | 50% | 원본 테스트 스위트를 통과했는가? |
| Code Quality | 20% | 수정이 유지보수 가능하거나 “스파게티”인가? |
| Efficiency | 15% | 시간 및 토큰 소비 (예: 10 분 / 50k 토큰 vs. 2 분 / 5k 토큰). |
| Minimal Change | 15% | 단일 라인 로직 오류에 전체 파일을 재작성하는 에이전트를 벌점 처리한다. |
버그당 600초 제한을 두어 에이전트가 결단력 있고 계산 효율적으로 행동하도록 강제한다.
Lessons from the Mastery Tier
MOOC를 진행하며 Mastery Tier에 도달하면서 “Prompt Engineering”에서 System Design으로 초점이 이동했다. 동료 개발자들에게 전하고 싶은 세 가지 가장 큰 교훈은:
- Polyglot Agents are the Future – 차세대 엔지니어는 “Python Developer”가 아니라 “System Orchestrator”가 될 것이다.
- Adversarial Testing – 에이전트를 투입하기 전에 벤치마크를 직접 시도하고 깨보아야 한다.
- The Importance of Reproducibility – 자동 버그‑수정은 “Checkout → Fix → Test” 루프가 원자적이고 파괴 불가능할 때만 유효하다.
Join the Project
RAID‑AI는 현재 64개의 고우선순위 버그(Java 17, Python 17, JavaScript 30)로 초기화되어 있으며, 이는 시작에 불과하다. 실제 현장에서 작동하는 자율 시스템을 구축하고 싶다면, 이 빌드를 안내한 커리큘럼을 강력히 추천한다.
👉 Check out the MOOC here: https://agenticai-learning.org/f25