← 최신 논문
💻 computer science

EXPEREPAIR: Dual-Memory Enhanced LLM-based Repository-Level Program Repair

ExpeRepair는 구체적인 수정 사례를 위한 에피소드 기억과 추상적인 통찰을 위한 의미 기억으로 구성된 이중 기억 시스템을 활용하여 맥락 인식 프롬프트를 동적으로 구성함으로써, 역사적 수정 지식을 효과적으로 재사용하여 SWE-Bench Lite 및 Verified 벤치마크에서 최첨단 오픈소스 성능을 달성하는 새로운 LLM 기반 프레임워크입니다.

원저자: Fangwen Mu, Junjie Wang, Lin Shi, Song Wang, Shoubin Li, Qing Wang

게시일 2026-05-12
📖 3 분 읽기☕ 가벼운 읽기

원저자: Fangwen Mu, Junjie Wang, Lin Shi, Song Wang, Shoubin Li, Qing Wang

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 복잡한 빈티지 자동차 엔진을 수리하려는 숙련된 정비사라고 상상해 보세요. 과거에는 새로운 문제가 발생할 때마다 매번 처음부터 시작해야 했습니다: 매뉴얼을 읽고, 무엇이 잘못되었는지 추측한 후, 수리 방법을 시도하고 그것이 작동하기를 바랐습니다. 실패하면 마지막 실수에서 배운 것을 잊은 채 다시 시도했을 뿐입니다.

ExpeRepair는 그 정비사에게 인간의 뇌 작동 방식을 모방한 초강력 양층 기억 시스템을 제공하는 것과 같습니다. 매번 처음부터 시작하는 대신, 이 시스템은 AI 가 과거 수리 경험을 "기억"하고 그로부터 배우도록 도와주어 소프트웨어 버그 수정 능력을 크게 향상시킵니다.

다음은 이를 단순한 개념으로 분해한 작동 원리입니다:

두 가지 유형의 기억

해당 논문은 인간의 기억이 하나의 거대한 통이 아니라 두 가지 뚜렷한 부분으로 구성되어 있다고 설명합니다. ExpeRepair 는 이 설계를 모방합니다:

  1. 에피소드 기억 (The "Photo Album"):

    • 정의: 이는 구체적이고 실제적인 예시들의 집합입니다. 과거 수리 기록을 담은 스크랩북이라고 생각하세요. 여기에는 특정 오류 메시지, 정확히 고장 난 코드, 그리고 이를 해결한 특정 패치라는 "수리 전과 후"의 정확한 사진들이 담겨 있습니다.
    • 도움: 새로운 버그가 발생하면 시스템은 이 스크랩북을 넘겨 유사한 과거 사례를 찾습니다. "지난주에 비슷한 고장 난 전등 스위치를 고쳤었지; 같은 방법을 시도해 보자." 이는 따라야 할 구체적인 레시피를 제공합니다.
  2. 의미 기억 (The "Rulebook"):

    • 정의: 이는 모든 과거 수리 경험에서 얻은 추상적인 지혜입니다. 구체적인 사진이 아니라 일반적인 원칙에 관한 것입니다. 평이한 영어로 작성된 "최고의 실무 방법"이나 "경험칙" 목록이라고 생각하세요.
    • 도움: 이는 AI 에게 일반적인 교훈을 가르칩니다. 예를 들어, "보안 문제를 수정할 때는 항상 엣지 케이스를 확인하라"거나 "하나의 함수가 여러 입력을 처리한다면 언급된 것뿐만 아니라 모두 수정해야 한다"는 식입니다. 이는 AI 가 이전에 본 적 없는 새로운 상황에 적응하도록 돕습니다.

버그 수정 방식 (작업 흐름)

이 시스템은 버그를 수정하기 위해 두 명의 "에이전트"(AI 작업자) 를 사용합니다: 하나는 버그 존재를 증명할 테스트 스크립트를 작성하고, 다른 하나는 실제 수정 코드를 작성합니다.

  • 과거 방식: AI 는 버그 보고서를 받으면 일반적인 훈련 데이터에 기반하여 수정 방법을 추측하고 최선의 결과를 기대합니다. 실패하면 동일한 정적 지시사항을 가지고 다시 시도합니다.
  • ExpeRepair 방식:
    1. 되돌아보기: 새로운 버그를 수정하기 전에 시스템은 사진 앨범(에피소드 기억) 에서 유사한 과거의 실패와 성공 사례를 확인합니다.
    2. 규칙 읽기: 또한 이 유형의 문제와 관련된 고수준 조언이 담긴 규칙책(의미 기억) 도 확인합니다.
    3. 동적 지시사항: 고정된 사전 작성된 매뉴얼을 사용하는 대신, 시스템은 AI 작업자를 위한 맞춤형 "동적" 프롬프트를 생성합니다. "이것이 새로운 버그입니다. 지난달에 고친 유사한 버그가 있습니다 (사진 앨범에서). 그리고 엣지 케이스 처리에 관한 이 규칙을 기억하세요 (규칙책에서)."라고 말합니다.
    4. 학습 및 업데이트: 수정이 완료되면 (혹은 실패하더라도) 시스템은 그 경험을 저장합니다. 구체적인 세부 사항은 사진 앨범에 추가하고, 배운 교훈을 다음을 위해 규칙책에 요약하여 저장합니다.

결과

연구진은 이 시스템을 두 가지 유명한 실제 소프트웨어 버그 데이터셋 (SWE-Bench Lite 및 SWE-Bench Verified) 에서 테스트했습니다.

  • 점수: 강력한 AI 모델 (Claude 4 Sonnet) 을 사용하여 ExpeRepair 는 더 어려운 테스트 세트에서 **74.6%**의 버그를 성공적으로 수정했으며, 가벼운 세트에서는 **60.3%**를 수정했습니다.
  • 비교: 이는 테스트한 모든 오픈소스 방법 중 가장 좋은 성능이었습니다. SWE-agent, Aider, AutoCodeRover 와 같은 다른 최상위 도구들을 능가했습니다.
  • 비용: AI 모델을 고비용으로 재훈련할 필요 없이 이러한 높은 점수를 달성했습니다. 단순히 자신의 과거 작업을 "읽음"으로써 학습했을 뿐입니다.

중요성

이 논문은 현재의 AI 수리 도구들이 시험을 치르고 점수를 받은 후 다음 시험 직전까지 모든 것을 잊어버리는 학생들과 같다고 주장합니다. ExpeRepair 는 학습 가이드를 유지하고 실수를 검토하며 풀어나가는 문제마다 더 똑똑해지는 학생과 같습니다.

구체적인 예시 (에피소드) 와 일반적인 지혜 (의미) 를 결합함으로써, 이 시스템은 AI 가 소프트웨어를 수정할수록 더 나아지는 피드백 루프를 생성합니다. 이는 인간 개발자가 실제로 시간이 지남에 따라 배우고 개선하는 방식을 모방합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →