RAG4Tickets: AI-Powered Ticket Resolution via Retrieval-Augmented Generation on JIRA and GitHub Data
본 논문은 검색 증강 생성(Retrieval-Augmented Generation)을 사용하여 JIRA와 GitHub 데이터를 통합함으로써, 소프트웨어 개발 워크플로우의 정확도와 효율성을 크게 향상시키는 맥락 인식 및 증거 기반의 티켓 해결 권장 사항을 제공하는 AI 기반 프레임워크인 RAG4Tickets를 제안한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 거대한 프로젝트를 수행 중인 소프트웨어 개발자라고 상상해 보십시오. 버그가 나타날 때마다 그것은 마치 새로운 탐정 사건과 같습니다. 과거에 이 사건들을 해결하는 것은 수백만 개의 다른 바늘들로 만들어진 건초더미 속에서 바늘 하나를 찾는 것과 같았습니다. 당신은 누군가 이미 유사한 문제를 해결했는지 확인하기 위해 오래된 JIRA 티켓(버그 보고서)을 뒤지고, 수천 개의 개발자 코멘트를 읽고, GitHub의 코드 변경 사항을 샅샅이 훑어야 했습니다. 종종 문제는 동일함에도 불구하고 사용된 단어가 달라서, 해결책을 놓치고 똑같은 일을 반복하며 시간을 허비하곤 했습니다.
이 논문, **"RAG4Tickets"**는 이 문제를 해결하기 위해 스마트한 비서이자 초강력 도서관 사원이자 탐정이 결합된 형태의 시스템을 제안합니다. 작동 방식은 다음과 같이 간단한 단계로 나뉩니다.
1. 문제점: "번역 과정에서 길을 잃은" 도서관
회사의 버그 및 수정 이력을 거대하고 혼란스러운 도서관이라고 생각해 보십시오.
- 문제점: 한 개발자는 "버튼을 클릭하면 앱이 멈춥니다"라고 티켓을 작성합니다. 2년 전의 다른 개발자는 "사용자 상호작용 중에 화면이 잠깁니다"라고 적었습니다. 두 내용은 동일하지만, 단순한 키워드 검색으로는 이 연결 고리를 놓칠 수 있습니다.
- 결과: 개발자들은 문제를 해결하는 데보다 검색하는 데 너무 많은 시간을 소비하게 됩니다.
2. 해결책: "스마트한 사원" (RAG)
저자들은 RAG4Tickets라는 시스템을 구축했습니다. 이 시스템을 책의 제목만 읽는 것이 아니라 그 이면에 담긴 '의미'를 이해하는 고도로 훈련된 도서관 사원이라고 생각하십시오.
1단계: 읽기와 이해 (임베딩 - Embeddings):
시스템은 모든 오래된 버그 보고서, 코멘트, 코드 변경 사항(Pull Request)을 읽습니다. 시스템은 Sentence-Transformers라는 특수 도구를 사용하여 이 단어들을 "의미 지도"(벡터)로 변출합니다. 단순히 "crash"라는 단어를 찾는 대신, "freeze", "lock up", "hang"이 모두 동일한 개념을 가리킨다는 것을 이해합니다.2단계: 초고속 검색 (FAISS):
시스템이 이러한 의미 지도를 생성하면, 이를 FAISS라고 불리는 거대하고 초고속인 인덱스에 저장합니다. 이것은 유사한 아이디어들이 물리적으로 바로 옆에 위치하게 되는 마법 같은 지도와 같습니다. 새로운 버그가 들어오면, 시스템은 단어가 완전히 다르더라도 즉시 가장 유사한 과거 사례 5개 또는 10개를 찾아냅니다.3단계: 탐정의 보고서 (LLM 생성):
시스템은 단순히 예전 티켓들을 보여주는 데 그치지 않고, 사건을 요약하는 탐정 역할을 합니다. 시스템은 찾은 예전 해결책들을 가져와 **대규모 언语言 모델(LLM)**에 입력합니다. 그러면 AI는 새로운 버그를 해결하기 위한 명확한 단계별 가이드를 작성하며, 정확히 어떤 과거의 코드 변경이 문제를 해결했는지 인용합니다. 이는 마치 시니어 엔지니어가 곁에서 "이봐, 우리가 작년에 정확히 이 문제를 해결했어. 그때 사용했던 코드는 이거야"라고 속삭여 주는 것과 같습니다.
3. 실생활에서의 작동 방식
저자들은 웹 애플리케이션의 주요 업그레이드(React 18에서 React 19로의 전환) 과정 중에 이 시스템을 테스트했습니다.
- 시나리오: 개발자들이 새로운 소프트웨어 버전으로 인해 발생하는 특정 유형의 "UI 프리즈(UI freeze)" 현상으로 어려움을 겪고 있었습니다.
- 결과: 시스템은 유사한 프리즈 현상과 관련된 예전 티켓과 코드 변경 사항을 찾아냈습니다. 시스템은 개발자들에게 "이것은 이전에 겪었던 이슈와 유사해 보입니다. 당시 사용했던 코드 수정안은 다음과 같습니다"라고 알려주었습니다.
- 성과:
- 속도: 버그를 해결하는 데 걸리는 시간이 18.5시간에서 10.2시간으로 단축되었습니다 (45% 개선).
- 신뢰도: 약 **68%**의 경우, 개발자들이 AI의 제안을 그대로 수용하거나 아주 약간의 수정만 거쳐 채택했습니다.
- 정확도: 시스템은 적절한 과거 사례를 찾는 데 매우 뛰어났습니다 (82%의 경우, 정답이 상위 5개 결과 안에 포함되었습니다).
4. 이것이 중요한 이유
이 논문은 이것이 단순히 속도에 관한 것이 아니라, **"멋대로 지어내지 않는 것"**에 관한 것임을 강조합니다.
- 환각 현상 없음 (No Hallucinations): AI가 해결책을 쓰기 전에 반드시 실제 역사적 증거(오래된 티켓과 코드)를 먼저 살펴보도록 강제되기 때문에, 가짜 해결책을 만들어낼 가능성이 훨씬 낮습니다. 이는 마치 학생이 시험 문제에 답하기 전에 반드시 교과서를 인용해야 하는 것과 같습니다.
- 지식 재사용: 이는 기업이 "조직적 기억(institutional memory)"을 잃어버리지 않도록 돕습니다. 시니어 개발자가 회사를 떠나더라도 그들의 지식은 사라지지 않고 시스템에 저장되어 모두가 사용할 수 있게 됩니다.
5. 한계점 (Catch)
저자들은 다음과 같은 과제들에 대해 솔직하게 밝히고 있습니다.
- 오래된 실수: 만약 예전 티켓에 잘못된 조언이 포함되어 있었다면, 시스템이 그 실수를 반복할 수 있습니다.
- 변화하는 언어: 소프트웨어 기술이 급격하게 변하는 경우(예: 새로운 버전의 React), 기존의 "의미 지도"가 덜 정확해질 수 있으며, 시스템을 다시 학습시켜야 할 수도 있습니다.
- 비용: 이 시스템을 실행하려면 수백만 개의 기록을 즉각적으로 검색할 수 있는 강력한 컴퓨터가 필요합니다.
요약
요약하자면, RAG4Tickets는 과거의 문제와 현재의 해결책 사이의 점들을 연결해 주는 도구입니다. 이 도구는 혼란스러운 버그 보고서 더미를 스마트하고 검색 가능한 지식 베이스로 바꾸어, 개발자들이 더 빠르고, 덜 좌절하며, 검증된 실제 해결책을 바탕으로 구축하고 있다는 확신을 가지고 문제를 해결할 수 있도록 돕습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.