← 최신 논문
💻 computer science

Phoenix: Safe GitHub Issue Resolution via Multi-Agent LLMs

Phoenix는 7단계의 계층적 안전 제어와 베이스라인 인지 평가 전략을 채택하여, 큐레이션된 SWE-bench Lite 슬라이스에서 75%의 오라클 해결률을 달iah하는 동시에 실제 이슈에 대해 100%의 정확성 보존을 유지하며 트리아지부터 풀 리퀘스트 생성까지 GitHub 이슈를 안전하게 해결하는 멀티 에이전트 LLM 시스템입니다.

원저자: Kipngeno Koech, Muhammad Adam, Baimam Boukar Jean Jacques, Joao Barros

게시일 2026-06-19
📖 4 분 읽기☕ 가벼운 읽기

원저자: Kipngeno Koech, Muhammad Adam, Baimam Boukar Jean Jacques, Joao Barros

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

수백만 명의 사람들이 책에 수정 사항, 새로운 기능 요청, 또는 오타를 지적하는 포스트잇을 붙여놓는 GitHub라는 거대하고 북적이는 도서관을 상상해 보세요. 이 메모들을 "이슈(issues)"라고 부릅니다. 보통은 인간 사서가 메모를 읽고, 책의 정확한 페이지를 찾아내어, 무엇이 잘못되었는지 파악하고, 텍스트를 다시 작성한 뒤, 선임 사서에게 검토를 요청하여 다시 서가에 꽂아야 합니다. 이는 느리고 고된 작업입니다.

Phoenix는 이 업무를 수행하기 위해 설계된 새로운 AI 로봇 팀이지만, 매우 엄격한 규칙을 가지고 있습니다: "해를 끼치지 말 것(Do no harm)."

Phoenix가 어떻게 작동하는지 다음과 같이 쉬운 개념으로 나누어 설명합니다:

1. 전문가 팀 (6명의 에이전트)

모든 것을 한꺼번에 하려다 실수하기 쉬운 하나의 초지능 로봇 대신, Phoenix는 잘 짜인 조립 라인처럼 특화된 6명의 전문 작업자 팀을 사용합니다:

  • 플래너 (The Planner): 포스트잇을 읽고 지도를 그립니다. 어떤 페이지를 변경해야 하는지, 그리고 어떻게 고칠 것인지 결정합니다.
  • 재현자 (The Reproducer - 탐정): 무언가를 고치기 전에, 이 로봇은 문제를 재현하려고 시도합니다. "자, 만약 내가 X를 하면, 책이 고장 나는가?"라고 묻습니다. 만약 책이 고장 났다는 것을 증명할 수 있다면 다음 단계로 넘어갑니다. 만약 그렇지 않다면, 팀이 막히지 않도록 이 단계를 건너뜁니다.
  • 코더 (The Coder): 작가입니다. 플래너의 지도를 받아 실제로 페이지의 텍ек스트를 다시 작성합니다.
  • 테스터 (The Tester): 품질 검사관입니다. 새로운 텍스트가 새로운 오류를 일으키는지 확인하기 위해 책을 검사 기계에 통과시킵니다.
  • 실패 분석가 (The Failure Analyst - 의사): 테스터가 새로운 오류를 발견하면, 이 로봇은 왜 그런 일이 발생했는지 진단하고 코더에게 어떻게 고칠지 알려줍니다. 이들은 두 번의 수정 기회를 가지며, 두 번 모두 실패하면 멈추고 인간의 도움을 요청합니다.
  • PR 에이전트 (The PR Agent - 메신저): 수정이 완료되면, 모든 것을 패키징하여 최종 승인을 위해 인간 사서에게 전달합니다.

2. "안전망" (7단계 보호 계층)

이 논문은 AI가 단순히 무작위로 책을 다시 쓰기 시작하면 위험할 수 있다고 강조합니다. Phoenix는 재앙을 방지하기 위해 7가지 "안전 가드"를 갖추고 있습니다:

  • 울타리 (The Fence): 로봇들이 건드려서는 안 될 파일을 삭제하지 못하도록 도서관 벽 밖으로 나가는 것을 막습니다.
  • ID 카드 (The ID Badge): 로봇들이 작업 도중 튕겨 나가지 않도록 유효한 열쇠(토큰)를 가지고 있는지 확인합니다.
  • 정리 요원 (The Clean-Up Crew): 로봇들이 혼란을 겪지 않도록 포스트잇의 지저분하고 혼란스러운 부분들을 제거하여 보여줍니다. 이는 잘못된 형식 때문에 로봇이 헷과지는 것을 방지합니다.
  • 출입 금지 구역 (The "No-Go" Zone): 도서관의 보안 시스템 파일(워크플로우 파일)은 절대 건드리지 않습니다. 이를 건드리면 모두가 접속하지 못하게 될 수 있기 때문입니다.
  • 정지 버튼 (The Stop Button): 로봇이 루프에 빠지거나 같은 실수를 반복하면 시스템이 전원을 차단합니다.
  • 단독 작업자 (The Solo Worker): 로봇들이 서로 충돌하는 것을 방지하기 위해 한 번에 한 권의 책만 작업합니다.
  • 새 열쇠 (The Fresh Key): ID 카드가 만료되기 전에 자동으로 갱신하여 작업이 타임아웃으로 인해 중단되지 않도록 합니다.

3. "전과 후" 테스트 (기준점 인식)

이것이 Phoenix의 가장 영리한 기술입니다. 때때로 도서관의 책은 로봇이 손을 대기 전부터 이미 고장 난 상태일 수 있습니다.

  • 기존 방식: 로봇이 오타를 고쳤지만, 책이 이미 고장 난 상태였기 때문에 여전히 테스트를 통과하지 못합니다. 그러면 로봇은 실패의 책임을 떠안게 됩니다.
  • Phoenix 방식: 로봇이 변경을 가하기 전에, 책의 현재 상태에 대한 "스냅샷"을 찍습니다. 로봇이 변경을 마친 후, 새로운 상태를 스파크샷과 비교합니다.
    • 만약 책이 이미 고장 난 상태였고 계속 고장 난 상태라면(하지만 새로운 것이 추가로 고장 나지는 않았다면), Phoenix는 "성공! 상황을 악화시키지 않았음"이라고 판단합니다.
    • 만약 책이 정상 작동 중이었는데 이제 고장이 났다면, Phoenix는 "정지! 회귀(regression)가 발생함"이라고 판단합니다.

4. 결과가 보여주는 것

연구진은 두 가지 방식으로 Phoenix를 테스트했습니다:

  • 연습 게임 (SWE-bench Lite): Phoenix에게 24개의 특정하고 미리 정의된 문제들을 주었습니다. Phoenix는 이미 작동하던 것을 망가뜨리지 않고 **75%**의 문제를 완벽하게 해결했습니다.
  • 실전 테스트 (42개의 실제 이슈): 14개의 서로 다른 실제 프로젝트에서 발생한 42개의 실제 이슈에 Phoenix를 투입했습니다.
    • 안전성: Phoenix는 **100%의 "정확성 보존(Correctness Preservation)"**을 달로했습니다. 즉, 이전에 통과하던 테스트를 결코 망가뜨리지 않았습니다. 매우 안전했습니다.
    • 성공률: 하지만, 수정 사항 중 절반 정도만이 실제로 올바른 수정이었습니다. 나머지 절반은 로봇이 엉뚱한 곳에 코드를 작성한(예: 소설 섹션에 수리 매뉴얼을 쓰는 것과 같은) "환각(hallucinations)" 현상이었습니다. 로봇은 어떻게 고쳐야 하는지는 알았지만, 가끔 문제의 정확한 위치를 찾지 못했습니다.

핵심 요약

Phoenix는 매우 신중하고 고도로 훈련된 견습 사서와 같습니다. 이는 상황을 악화시키지 않는 데 탁ual하며, 엄격한 프로세스를 따르는 데 능숙합니다. 그러나 설명이 파일 이름과 완벽하게 일치하지 않을 경우, 문제의 정확한 위치를 찾는 데 어려움을 겪기도 합니다.

논문은 AI가 현실 세계에서 유용해지려면, 속도보다 안전이 우선되어야 한다고 결론짓습니다. Phoenix는 특화된 에이전트 팀과 엄격한 안전 가드를 사용함으로써, 소프트웨어를 실수로 망가뜨리지 않고도 소프트웨어 수정을 자동화할 수 있음을 증명합니다. 남은 주요 과제는 "플래너" 로봇이 책의 정확한 페이지를 더 자주 찾을 수 있도록 돕는 것입니다.

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

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

Digest 사용해 보기 →