Socratic-SWE: Self-Evolving Coding Agents via Trace-Derived Agent Skills
Socratic-SWE는 에이전트의 과거 해결 흔적을 구조화된 기술로 변환하여 표적화되고 검증 가능한 수리 작업을 생성함으로써, 고정된 변이 절차에 의존하지 않고 지속적인 개선을 가능하게 하여 SWE 벤치마크에서 최첨단 성능을 달もの하는 폐쇄 루프 자기 진화 프레임워크를 도입한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 로봇에게 고장 난 소프트웨어를 고치는 법을 가르치려 한다고 상상해 보세요. 보통은 로봇을 위해 수천 개의 구체적인 "숙제"를 작성하고, 정답을 찾고, 채점해야 합니다. 이는 비용이 많이 들고 느리며, 그 숙제가 로봇의 실제 약점과 일치하지 않는 경우가 많습니다.
이 논문은 이러한 코딩 로봇을 훈련시키는 새로운 방법인 Socratic-SWE를 소개합니다. 교사가 정적인 숙제를 건네주는 대신, 로봇이 자신의 실수와 성공을 분석하여 이를 개인화된 학습 가이드로 변환함으로써 스스로를 가르치게 합니다.
작동 방식은 다음과 같습니다. 쉬운 비유를 사용하겠습니다.
1. 기존 방식: 정적인 교과서
학생이 목공을 배우려고 노력하는 상황을 상상해 보세요. 기존 방식에서는 선생님이 고치는 법을 알려주는 1,000개의 미리 작성된 설계도를 학생에게 줍니다.
- 문제점: 어떤 설계도는 너무 쉬워서(학생이 이미 고치는 법을 알고 있음), 어떤 설계도는 불가능해서(학생이 아직 적절한 도구를 갖추지 못함) 문제가 됩니다. 선생님은 학생이 지금 당장 무엇 때문에 힘들어하는지 알지 못합니다.
- 결과: 학생은 이미 알고 있는 것에 시간을 낭비하거나, 해결할 수 없는 문제에 막혀 결국 실력이 향상되지 않고 멈춰버립니다.
2. 새로운 방식: Socratic-SWE (자기 주도 학습 견습생)
Socratic-SWE는 게임의 판도를 바꿉니다. 로봇이 학생인 동시에 선생님이 되는 **폐쇄 루프(closed loop)**를 만듭니다.
1단계: "트레이스(Trace)" (비디오 리플레이)
로봇이 버그를 수정하려고 시도할 때마다, 로봇은 **트레이스(trace)**라고 불리는 디지털 "발자국"을 남깁니다. 이것은 로봇의 전체 사고 과정을 보여주는 비디오 리플레이와 같습니다.
- 어디를 살펴보았는가?
- 어떤 코드를 변경했는가?
- 테스트가 통과되었는가, 아니 번째 실패했는가?
- 실수로 다른 것을 망가뜨리지는 않았는가?
과거에는 연구자들이 이 리플레이를 단순히 "통과" 또는 "실패"라는 성적을 주는 데만 사용하고 비디오를 버렸습니다. Socratic-SWE는 이렇게 말합니다. "잠깐! 이 비디오를 다시 보자."
2단계: "기술(Skills)" 추출 (학습 가이드)
시스템은 모든 리플레이를 관찰하며 패턴을 찾습니다.
- 로봇이 실패했을 때: "아, 탭을 세 개 열어둔 파일을 수정하려고 할 때마다 첫 번째 파일을 저장하는 것을 잊어버리는구나"라는 것을 알아차립니다.
- 로봇이 성공했을 때: "에러 로그를 확인한 후에 편집하면 보통 제대로 해내는구나"라는 것을 알아차립니다.
이것을 시스템은 구조화된 **"에이전트 기술 레지스트리(Agent Skill Registry)"**로 변환합니다. 이것은 개인화된 학습 가이드나 코치의 치트 시트라고 생각하면 됩니다. 로봇이 무엇에 서툰지(예: "부작용을 확인하는 것을 잊지 마세요")와 무엇을 잘하는지를 정확히 나열합니다.
3단계: 새로운 숙제 생성 (맞춤형 퀴즈)
이제 로봇은 이 학습 가이드를 사용하여 새로운 숙제를 만듭니다.
- 무작위로 버그를 고르는 대신, 로봇은 다음과 같이 묻습니다. "내 학습 가이드에 따르면, 나는 '다중 파일 편집'에서 계속 실패하고 있어. 그럼 내가 한 번에 세 개의 파일을 편집해야 하는 까다로운 버그를 새로 만들어보자."
- 이를 통해 숙제가 로봇의 현재 약점을 완벽하게 겨냥하도록 보장합니다.
4단계: "검증기(Verifier)" 문지기
새로운 숙제가 로봇에게 주어지기 전에, 엄격한 **문지기(Gatekeeper)**가 이를 검사합니다.
- 실제로 존재하는 버그인가?
- 로봇이 실제로 고칠 수 있는 것인가?
- 테스트가 신뢰할 수 있는가?
만약 숙제가 고장 났거나 불가능한 것이라면 폐기됩니다. 오직 고품질의 해결 가능한 과제만이 훈련 풀에 들어갑니다.
"그래디언트 정렬(Gradient Alignment)" (나침반)
한 가지 똑똑한 트릭이 더 있습니다. 시스템은 로봇이 단순히 아무 문제나 풀기를 원하는 것이 아니라, 올바른 방향으로 나아가기를 원합니다.
- 시스템에는 "신뢰할 수 있는 방향"(알려진 고품질 과제 세트)이 있습니다.
- 로봇이 새로운 과제를 생성할 때, 시스템은 다음과 같이 묻습니다. "이 새로운 과제를 해결하는 것이 우리의 신뢰할 수 있는 나침반과 같은 방향으로 로봇을 움직이는가?"
- 만약 그렇다면, 그 과제는 유지됩니다. 그렇지 않다면, 버려집니다. 이는 로봇이 가짜 문제에만 통하는 "꼼수"를 배우는 것을 방지합니다.
결과: 더 빠르게 똑똑해지기
연구진은 네 가지 주요 벤치마크(코딩 에이전트를 위한 기말고사 같은 것)에서 테스트를 진행했습니다.
- 베이스라인(Baseline): 고정된 데이터로 훈련된 표준 로봇.
- 경쟁 모델: 이 특정 "기술 레지스트리" 방식 없이 스스로를 가르치려고 시도하는 다른 로봇들.
- Socratic-SWE: 세 번의 자기 주도 학습 라운드만 거친 후, 가장 어려운 테스트(SWE-bench Verified)에서 **50.4%**를 기록했습니다. 이는 정체되거나 매우 느리게 향상되었던 다른 모델들에 비해 엄청난 도약이었습니다.
이것이 왜 중요한가
이 논문은 Socratic-SWE가 인간이 끝없이 새로운 숙제를 써줄 필요가 없다는 것을 증명한다고 주장합니다. 로봇의 과거 기록(트레이스)을 재사용하여 기술 가이드를 구축함으로써, 로봇은 스스로 커리큘럼을 지속적으로 생성할 수 있습니다. 이는 로봇의 과거 실패를 미래의 연료로 바꾸어, 끊임적인 인간 교사 없이도 스스로 진화하고 발전할 수 있게 합니다.
요약하자면: 이것은 마치 로봇이 자신의 게임 리플레이를 보고, 스스로 학습 가이드를 쓰며, 스스로 연습 드릴을 만들고, 자신이 정말로 향상되었는지 확인하기 위해 시험을 치르는 것과 같습니다. 그리고 이 자기 코칭 방식이 인간이 똑같은 학습지를 건네주는 것보다 더 효과적이라는 사실이 밝혀졌습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.