TL;DR
리포지토리 규모의 취약점 복제는 단순 코드 생성이 아니라 탐색, 입력 문법 추론, PoC 생성, 듀얼 빌드 검증을 포함하는 복합 작업으로서 실행 능력 외에 올바른 조사 전략이 핵심 병목임이 확인됐다. Mastermind는 전략을 학습 단위로 삼아 실행기와 분리된 플래너를 학습시키므로 서로 다른 실행 백본에도 학습된 전략을 재사용할 수 있다. 그 결과 동일한 실행기를 유지한 상태에서 전략 학습만으로 성공률과 효율성이 유의하게 개선되었다.
왜 중요한가
리포지토리 규모의 취약점 복제는 단순 코드 생성이 아니라 탐색, 입력 문법 추론, PoC 생성, 듀얼 빌드 검증을 포함하는 복합 작업으로서 실행 능력 외에 올바른 조사 전략이 핵심 병목임이 확인됐다. Mastermind는 전략을 학습 단위로 삼아 실행기와 분리된 플래너를 학습시키므로 서로 다른 실행 백본에도 학습된 전략을 재사용할 수 있다. 그 결과 동일한 실행기를 유지한 상태에서 전략 학습만으로 성공률과 효율성이 유의하게 개선되었다.
핵심 기여
전략 병목 규정
리포지토리 규모 취약점 재현에서는 잘 작동하는 실행기라도 잘못된 조사 전략 때문에 실패하는 경우가 많아 전략 선택이 주된 병목이라는 사실을 실험적으로 입증했다. 전략 감도 실험과 Best-of-N 및 순차적 경험 누적 비교를 통해 전략 질이 결과에 인과적 영향을 미침을 보였다.
이중 루프 Mastermind 프레임워크
플래너(학습 가능한 전략 정책)와 큐레이터(태스크 로컬 경험 저장)를 분리하고 실행기는 고정하는 이중 루프 구조를 제안했다. 플래너는 SFT로 워밍업된 후 milestone 기반 GRPO로 업데이트되며, 큐레이터는 검증된 롤아웃 기록을 누적하여 순차적 시도에서 전략을 조건화한다.
실험적 유효성 및 전이성
CyberGym 평가에서 GPT-5.5 실행기와 결합된 Mastermind가 84.5%의 M7 패스율을 달성했고 동일 플래너를 GPT-5.4 mini와 GLM 5.1에 재사용해 각각 60.0%와 71.0%로 개선을 보였다. 이 결과는 전략 학습이 실행기 불변의 전이 가능한 개선 수단임을 시사한다.
핵심 아이디어 이해하기
리포지토리 규모의 취약점 재현은 긴 행동 궤적을 하나의 학습 단위로 취급하면 학습 비용이 지나치게 크고 잡음에 민감하다는 문제를 가진다. Mastermind는 실행(trace) 대신 자연어로 된 '전략'을 정책의 출력 단위로 삼아 파라미터 업데이트를 전략 공간에서 수행함으로써 샘플 효율성과 전이성을 확보했다. 전략은 어디를 조사할지, 어떤 입력 구조를 목표로 할지, 어떻게 PoC를 검증할지를 명시하는 간결한 계획이므로 여러 실행기에서 재사용 가능하고 비교적 안정적이다.
방법론
Mastermind는 네 구성요소로 동작한다: 큐레이터는 태스크 로컬 경험을 활성화하고 누적하며 플래너는 그 경험과 태스크 문맥을 입력으로 받아 최대 2,000토큰 길이의 자연어 전략을 생성한다. 생성된 전략은 고정된 실행기(Executor)에 전달되어 리포지토리 탐색·파일 편집·PoC 제출을 수행하고, 검증기(Verifier)가 CyberGym 실행 결과와 마일스톤 점수를 산출하여 큐레이터에 기록하고(경험 루프) 플래너 학습에 보상 신호로 제공한다(정책 루프). 학습은 먼저 supervised fine-tuning으로 전략 생성 패턴을 워밍업한 다음 GRPO(Group Relative Policy Optimization)를 적용하여 동일 스냅샷에서 생성한 그룹 내 전략들의 상대 보상을 정규화해 정책을 갱신했다. 다양성 확보를 위해 슬롯 조건(slot-conditioned sampling) 은 각 GRPO 그룹에 8개의 서로 다른 가설 슬롯을 주입하여 보완적 가설을 유도했고 보상 신호는 CyberGym 마일스톤에 따라 밀집화된 값을 부여했다.
관련 Figure

이 다이어그램은 전략 수준 학습의 핵심 설계 결정을 구조적으로 드러낸다. 플래너는 큐레이터로부터 활성화된 태스크 경험을 입력으로 받아 전략을 생성하고, 실행기는 그 전략을 실제 PoC 롤아웃으로 변환하며 검증기는 마일스톤 점수를 산출해 큐레이터와 플래너로 피드백을 보낸다. 그림은 전략을 정책 학습 단위로 취급하고 태스크별 사실은 큐레이터에 보관하는 설계 철학이 어떻게 두 개의 폐회로(경험 루프와 정책 루프)로 구현되는지를 명확히 연결한다.
Mastermind의 이중 루프 아키텍처를 시각화한 다이어그램으로 큐레이터, 플래너, 실행기, 검증기 및 경험 루프와 정책 루프의 피드백 흐름을 보여준다.
주요 결과
주요 결과는 엄격한 듀얼 빌드 기준인 마일스톤-7 패스율이다. GPT-5.5 실행기와 결합된 Mastermind는 200개 평가 태스크에서 169개를 해결해 84.5% 패스율을 기록했고 이는 Best-of-8(63.0%), PAGENT 가이드(70.5%) 및 순차적 경험 반복(77.0%)보다 높았다. 동일한 학습된 플래너를 GPT-5.4 mini와 GLM 5.1에 재사용했을 때 GPT-5.4 mini는 45.0%에서 60.0%로, GLM 5.1은 58.5%에서 71.0%로 개선되어 전략의 전이 가능성을 보였다.
기술 상세
전체 아키텍처는 Curator–Planner–Executor–Verifier 파이프라인으로 구성되어 플래너 파라미터는 전략 생성에만 학습 부담을 지우고 큐레이터는 태스크 고유 사실을 보관했다. 정책 학습은 두 단계로 이루어졌고 첫 단계는 Claude Code와 Codex 궤적에서 생성한 입력-출력 쌍으로 completion-only cross-entropy를 최적화하는 SFT였다. 두 번째 단계는 GRPO로, 각 태스크에서 동일 정책 스냅샷으로부터 16개의 전략을 샘플링하고 이를 두 개의 8-way 그룹으로 나누어 그룹 내 평균 및 표준편차로 보상을 정규화한 뒤 advantage를 계산해 정책을 업데이트했다. 수식 측면에서 사용된 주요 보상은 식(1)로 표현되며 원문은 R(s,y)=log(1+r_milestone(m(y))) + γ_ℓ f_ℓ(s) + p_status(y) 이다. 변수 의미는 다음과 같다: R(s,y)는 최종 보상, r_milestone는 마일스톤 별 원시 보상 값(예: m7=12.0), m(y)는 검증기 출력 y를 마일스톤 정수로 매핑한 값, f_ℓ(s)는 전략 길이 보정 항, γ_ℓ은 길이 항 계수, p_status는 타임아웃/무효 롤아웃에 대한 음수 패널티다. 계산 흐름은 먼저 검증 결과 y로 마일스톤 m(y)를 얻고 그 마일스톤에 해당하는 r_milestone 값을 가져와 log(1+·)로 압축한 뒤 길이 항과 상태 패널티를 더해 최종 보상을 만든다. 예시 계산으로 m(y)=7일 때 r_milestone(7)=12.0이므로 log(1+12.0)≈2.565가 주된 항이 되고 유효한 전략 길이 보정으로 최대 1.0을 더하거나 타임아웃 패널티로 일부를 빼는 형태가 된다. 이 보상 항목은 희소한 성공 대신 분석→행동→검증의 중간 성과에 밀집된 신호를 제공해 GRPO가 수렴하기에 충분한 피드백을 확보했다.
한계점
논문에서 명시한 제약 중 하나는 평가가 CyberGym 벤치마크에 국한되어 있어 다른 소프트웨어 엔지니어링 태스크로의 일반화가 보장되지 않는 점이다. 또 일부 예외 케이스(arvo:16972, arvo:52317, arvo:52430)는 듀얼 빌드 검증에서 일관된 M6 상태를 유지하여 최종 M7로 승격되지 않았고 이는 벤치마크 검증기의 경계나 패치 특성에 기인할 가능성이 있음을 지적했다. 마지막으로 학습을 위해 수천 건의 실행기 롤아웃이 필요하므로 계산 비용과 시간 소요가 크며 실무 적용 시 인프라 부담이 남는다.
키워드
용어 해설
- Strategy-level RL
- — 전략 수준 강화학습은 긴 실행 궤적 대신 재사용 가능한 자연어 전략을 정책의 출력 단위로 삼아 보상 신호로부터 정책을 갱신하는 접근이다. 본 논문 맥락에서는 긴 리포지토리 실행(trace) 대신 최대 2,000토큰의 전략 텍스트를 생성하여 실행 비용을 크게 낮추고 전달 가능한 패턴을 학습하는 데 중요했다.
- Curator experience
- — 큐레이터 경험 저장소는 태스크별로 누적되는 파일 위치, 실패한 가설, 마일스톤 결과 등 단기간 유효한 사실을 보관하는 구조이다. 이 저장소는 정책 가중치에 짐을 주지 않고 순차적 시도에서 이전 시도의 근거를 빠르게 제공하는 데 사용되었다.
- Milestone reward
- — 마일스톤 보상은 이산적 단계(예: 소스 위치 확인, PoC 제출, 듀얼 빌드 재현)에 따라 내리는 계층적 보상 스케줄이다. CyberGym의 0–7 마일스톤을 원천으로 사용하여 희소한 최종 성공보다 더 촘촘한 학습 신호를 생성했다.
- Slot-conditioned sampling
- — 슬롯 조건 샘플링은 동일 태스크 그룹 안에서 상이한 가설(예: parser-format, bounds-allocation 등)을 강제하여 전략 다양성을 확보하는 기법이다. GRPO 그룹 내에서 서로 보완적인 전략을 생성하도록 설계되어 탐색-품질 균형을 개선했다.
- CyberGym
- — CyberGym은 리포지토리 규모의 실제 취약점 복제 작업을 모아둔 벤치마크로서 ARVO와 OSS-Fuzz 태스크를 포함한다. 본 논문은 Level 1(설명 텍스트 제공) 설정을 기본으로 260개 학습, 200개 평가 태스크 분할로 실험을 수행했다.
코드 예제
def mastermind(task):
while not converge:
experience = curator.activate(task)
strategy = planner.generate(experience)
rollout = executor.execute(strategy)
result = verifier.validate(rollout)
curator.accumulate(result)
planner.calibrate(result)이 코드는 Mastermind의 핵심 루프를 간결한 파이썬 유사 코드로 보여주며 큐레이터 활성화, 플래너 생성, 실행기 수행, 검증기 확인, 경험 누적 및 플래너 보정의 순서를 나타낸다.
0: task d, curator C, planner pi_theta, executor E, verifier V
0: maximum attempts N
1: tau* <- ⊥ ; m* <- 0
2: for n = 1, …, N do
3: x_n <- C.Activate(d)
4: s_n ~ pi_theta*(·| d, x_n)
5: tau_n <- E(d, s_n)
6: y_n <- V(d, tau_n)
7: C.Update({(d, s_n, tau_n, y_n, n)})
8: if m(y_n) > m* then
9: tau* <- tau_n ; m* <- m(y_n)
11: if m* = 7 then break
15: return tau*, C이 의사코드는 Algorithm 1 Mastermind 추론 스트림을 그대로 옮긴 것으로, 각 시도에서 큐레이터 활성화부터 결과 업데이트와 조기종료 조건까지 절차를 보여준다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.