
MARS: Modular Agent with Reflective Search for Automated AI Research
핵심 포인트
- 1현재 LLM 에이전트는 높은 평가 비용과 복잡한 코드베이스 관리 문제로 인해 Automated AI Research 분야에서 상당한 어려움을 겪고 있습니다.
- 2MARS는 이러한 문제를 해결하기 위해 Budget-Aware Planning, Modular Construction, Comparative Reflective Memory를 도입하여 AI 연구에서 효율성과 모듈성을 최적화합니다.
- 3MLE-Bench 평가에서 MARS는 오픈소스 프레임워크 중 최고 수준의 성능을 달성했으며, 통찰력의 효과적인 일반화를 통해 "Aha!" moments를 보여줍니다.
MARS (Modular Agent with Reflective Search)는 자동화된 AI 연구(Automated AI Research)의 고유한 도전 과제, 즉 계산 비용이 큰 평가(computationally expensive evaluation), 불투명한 성능 기여(opaque performance attribution), 그리고 모놀리식(monolithic) 스크립트 생성과 같은 문제를 해결하기 위해 고안된 프레임워크이다. MARS는 AI 연구 프로세스를 최적의 소프트웨어 repository를 탐색하는 과정으로 재정의하며, 세 가지 핵심 기둥을 기반으로 한다.
- Budget-Aware Planning (예산 인식 계획):
- Actions and Expansion (행동 및 확장): MCTS 탐색 공간을 위한 세 가지 고유한 연산자를 정의한다:
Drafting (Root Expansion): 완전히 새로운 솔루션 를 처음부터 생성한다.Improvement: 유효하고 실행 가능한 노드에 적용되며, 목표 함수 O를 최대화하기 위해 부모 노드 의 모듈과 메인 스크립트를 수정한다.Debugging: 실행에 실패한 노드에 적용되며, 런타임 오류를 해결하기 위해 의 솔루션 구조를 상속하고 특정 모듈 또는 orchestration 스크립트를 수정한다. 버그가 있는 자식 노드는 최대 번의 디버깅 시도를 통해 자동 디버깅 루프에 진입한다.
- Node Selection (노드 선택): Upper Confidence Bound for Trees (UCT) 알고리즘을 사용하여 고성능 솔루션의 활용(exploitation)과 새로운 솔루션의 탐색(exploration) 사이의 균형을 맞춘다. 특정 조건(예: 자식이 없거나, 최적 솔루션이 개의 유효 노드 이후에도 개선되지 않거나, 버그 노드 또는 개 이상의 자식을 가진 유효 노드)에서 루트 노드가 완전히 확장된(fully expanded) 상태가 된다.
- Efficiency-Guided Reward Function (효율성 기반 보상 함수): 검색을 효율적으로 안내하기 위해 성능 향상에 보상을 주고 긴 실행 시간에 페널티를 부과하는 보상 함수 를 설계한다. 노드 의 성능 지표 와 실행 시간 , 시간 제한 를 고려한다.
여기서 와 은 탐색된 노드 집합 V 내의 최대 및 최소 성능 지표이다.
그 다음, 효율성 기반 보상 는 다음 공식으로 계산된다:
여기서 는 페널티 가중치 하이퍼파라미터이다.
- Modular Construction (모듈식 구성):
- Solution Representation (솔루션 표현): 노드 솔루션 은 개의 독립적인 모듈 과 하나의 오케스트레이션(orchestration) 스크립트 으로 구성된 튜플로 정의된다: . 각 모듈 는 특정 하위 작업(예: 데이터 전처리, 모델 구성)을 캡슐화하고, 은 전체 파이프라인을 오케스트레이션한다.
- Three-Stage Workflow (3단계 워크플로):
Idea Generation (아이디어 생성): Idea Generation Agent는 솔루션의 다양한 측면을 포괄하는 포괄적인 자연어 계획을 제시한다.Module Decomposition (모듈 분해): Modular Agent는 계획을 파싱하고 솔루션을 논리적이고 독립적인 기능 모듈로 분해한다.Component Implementation and Debugging (컴포넌트 구현 및 디버깅): Coding Agent는 각 모듈 를 순차적으로 구현하고, validation 스크립트를 사용하여 기능을 디버깅하고 검증한다. 검증이 완료되면, agent는 메인 스크립트 을 통해 모듈들을 오케스트레이션한다.
- Diff-Based Editing (Diff 기반 편집): 비효율적인 전체 repository 재생성을 방지하기 위해, 코드 수정은 표준화된 diff 형식으로 구조화된다. 이는 단일 추론 단계에서 원자적인(atomic), 다중 파일 업데이트를 가능하게 한다.
- Comparative Reflective Memory (비교 반사 기억):
Lesson Learning 메커니즘은 탐색 과정에서 얻은 고가치 통찰력을 압축된 'lesson pool'로 증류한다.
- Solution Improvement Lessons (솔루션 개선 교훈): 유효한 솔루션에서 교훈을 합성하기 위한 2단계 프로세스를 사용한다. 첫째, Empirical Analysis Agent가 실행 로그를 검토하여 객관적인 결과(예: 손실 추세, 지표 유효성)를 추출한다. 둘째, Lesson Distillation Agent가 새로운 솔루션을 현재 최적의 솔루션과 비교하여, 알고리즘 변경사항, 영향 분석, 그리고 미래 반복을 위한 일반화된 규칙을 포함하는 구조화된 교훈을 증류한다.
- Debugging Lessons (디버깅 교훈): 실패한 실행의 경우, 전용 에이전트가 버그가 있는 코드, 오류 로그 및 적용된 수정을 분석한다. 이 에이전트는 수정의 효능을 확인하고, 실패 원인 로직을 설명하며, 유사한 오류를 사전에 식별하기 위한 지침을 제공하는 교훈을 출력한다.
- Lesson Management (교훈 관리): Review Agent가 LLM 기반 추론을 통해 새 교훈을 기존 풀과 비교하여 중복되는 통찰력을 필터링함으로써, 검색된 컨텍스트가 다양하고 관련성을 유지하도록 보장한다.
- Lesson Utilization (교훈 활용): 솔루션 개선 또는 디버깅 작업을 실행할 때, 에이전트는 해당 교훈 범주에서 관련 지식을 활용한다. 컨텍스트 관리를 위해 에이전트 메모리에는 가장 최근의 개 교훈이 유지되며, 에이전트는 교훈을 적용할 때 명시적으로 인용하도록 지시받는다.
이러한 세 가지 기둥을 통해 MARS는 MLE-Bench에서 오픈소스 프레임워크 중 최신 기술(state-of-the-art) 성능을 달성했으며, 각 제안된 메커니즘의 필요성을 검증하는 ablation study를 통해 그 효과가 입증되었다. 시스템은 또한 "Aha!" 순간과 같은 질적 발견을 보여주며, 이는 에이전트가 검색 경로 전반에 걸쳐 통찰력을 효과적으로 일반화함을 시사한다.