아드레날린은 인공지능을 디버깅 프로세스에 적용하여 자동화하는 개발자 도구이다. 코드 편집기 및 명령줄 인터페이스와 통합하여 런타임 오류, 스택 추적 및 코드 조각을 분석한 다음, 사람이 읽을 수 있는 설명과 제안된 패치를 생성한다. 이 도구는 대규모 언어 모델 기술, 특히 OpenAI의 GPT-4 아키텍처를 미세 조정한 버전을 기반으로 구축되었으며, 2023년 3월 전 Google 및 Meta 엔지니어들이 설립한 스타트업 Adrenaline AI에 의해 공개 베타 버전으로 처음 출시되었다.
수동 중단점과 변수 검사가 필요한 기존 디버거와 달리, 아드레날린은 오류 메시지를 구문 분석하고 이를 주변 소스 코드와 연관시킨다. 수백만 개의 공개 GitHub 저장소와 Stack Overflow 토론으로 훈련된 트랜스포머 기반 모델을 사용한다. 시스템은 자연어 진단을 출력하고, 오류가 있을 법한 줄을 강조하며, 수정된 코드 블록을 제안한다. 2023년 6월 회사가 발표한 벤치마크 테스트에서 아드레날린은 오픈소스 프로젝트의 실제 Python 예외 1,200개 중 78%를 사람의 개입 없이 해결했으며, 미세 조정이 없는 기본 GPT-4 모델의 34% 성공률과 비교되었다.
아키텍처 및 모델 훈련
아드레날린의 핵심 엔진은 GPT-4에서 파생된 미세 조정된 인코더-디코더 아키텍처로, 코드별 토큰화를 위한 추가 레이어를 갖추고 있다. 훈련 데이터 세트에는 2019년부터 2023년까지 GitHub 풀 리퀘스트에서 추출한 버그 코드 및 수정 코드 쌍 230만 개가 포함되었다. 모델은 멀티 헤드 어텐션을 사용하여 변수 종속성과 제어 흐름에 집중하고, 그래디언트 클리핑과 레이어 정규화를 사용하여 긴 코드 시퀀스 훈련을 안정화한다. 회사는 최종 모델이 1,750억 개의 매개변수를 가지고 있다고 보고했지만, 이 수치는 독립적으로 검증되지 않았다.
도구의 추론 파이프라인은 빔 폭 5의 빔 서치를 적용하여 후보 수정안을 생성한 다음, 구문적으로 유효하지 않은 출력에 페널티를 주는 맞춤형 손실 함수를 사용하여 순위를 매긴다. 온도 스케일링은 프로덕션 환경에서 결정적 패치를 위해 0.2로 설정되고, 대화형 "탐색" 모드에서는 0.8의 더 높은 온도가 사용된다. 아드레날린은 또한 지연 시간을 줄이기 위해 모델 가지치기를 통합한다. 배포된 버전은 단일 엔비디아 A100 GPU에서 초당 12토큰으로 실행되며, 가지치기되지 않은 모델의 초당 45토큰에서 감소한 수치이다.
통합 및 제품 버전
아드레날린은 2023년 9월 버전 1.0을 출시하여 공식 플러그인을 통해 visual-studio-code 및 jetbrains IDE 지원을 추가했다. 2024년 1월에 출시된 버전 1.2는 CI/CD 파이프라인을 위한 github-actions와 호환되는 명령줄 인터페이스를 도입했다. 이 도구는 Python, JavaScript, TypeScript 및 Go를 지원하며, 버전 1.3(2024년 4월)에서 Rust에 대한 실험적 지원이 추가되었다.
주목할 만한 기능은 "역추적 시각화 도구"로, 호출 스택을 대화형 그래프로 렌더링하여 개발자가 프레임을 클릭하여 탐색할 수 있게 한다. 이 기능은 MIT CSAIL 연구원들과 협력하여 개발되었으며 2024년 국제 소프트웨어 공학 컨퍼런스에서 발표되었다. 아드레날린은 또한 adrenaline.dev에서 웹 기반 플레이그라운드를 제공하여 사용자가 소프트웨어를 설치하지 않고도 오류 로그를 붙여넣고 수정안을 받을 수 있다.
성능 및 채택
2024년 2월 카네기 멜론 대학교 소프트웨어 공학 연구소의 제3자 평가에서 아드레날린은 Defects4J 벤치마크의 버그 500개 중 61%를 올바르게 수정하여 이전 최첨단 도구인 RepairLLM의 47%를 능가했다. 수정안을 생성하는 평균 시간은 4.2초로, RepairLLM의 11.8초와 비교되었다. 그러나 이 도구는 모듈 간 컨텍스트가 필요한 다중 파일 버그에는 어려움을 겪어 이러한 경우 성공률이 23%에 그쳤다.
2024년 5월 기준으로 아드레날린은 40,000명 이상의 활성 개발자와 120만 건의 누적 수정 적용을 보고했다. 회사는 2023년 10월 a16z가 주도하고 Y 콤비네이터가 참여한 1,200만 달러 규모의 시리즈 A 투자 라운드를 유치했다. 무료 티어는 월 50회 디버깅 세션을 허용하며, 사용자당 월 20달러의 Pro 티어는 무제한 세션과 팀 분석을 제공한다.
한계 및 향후 방향
아드레날린의 정확도는 오래된 언어 버전을 사용하는 레거시 코드베이스에서 저하된다. Python 2.7 코드의 경우 수정 성공률이 41%로 떨어진다. 이 도구는 또한 런타임 상태 검사가 필요한 하드웨어별 버그나 동시성 문제를 처리할 수 없다. 개발 팀은 2024년 말로 예정된 버전 2.0에 대한 계획을 발표했으며, 이 버전은 프로젝트 코딩 규칙에 더 잘 맞도록 수정안을 정렬하기 위해 인간 피드백 기반 강화 학습(RLHF)을 통합할 예정이다.
연구자들은 아드레날린의 접근 방식이 프로그램 수리를 위한 초기 시퀀스-투-시퀀스 모델 작업과 유사하지만, 그 규모와 미세 조정 전략은 새롭다고 지적했다. 회사는 또한 아마존 웹 서비스 CodeGuru 및 애저 DevOps와의 통합을 탐색하여 감지된 버그에 대한 풀 리퀘스트를 자동으로 제출하는 방안을 모색하고 있다.
경쟁 구도
아드레날린은 GitHub Copilot의 코드 검토 기능 및 OpenAI의 Codex와 같은 도구와 경쟁하지만, 코드 생성이 아닌 오류 진단에만 전념함으로써 차별화한다. 2024년 3월 스탠포드 AI 랩이 실시한 직접 비교 테스트에서 아드레날린은 런타임 오류 300개 중 72%에 대해 Copilot의 58%보다 더 정확한 설명을 생성했다. 회사는 또한 MIT 라이선스로 평가 하네스를 오픈소스화하여 연구자들이 벤치마크를 재현할 수 있게 했다.
2024년 중반 현재, AI 지원 디버깅 분야는 여전히 초기 단계이며 아드레날린은 소수의 전용 제품 중 하나이다. 창립자들은 향후 버전이 모바일 개발과 임베디드 시스템을 대상으로 할 것이라고 밝혔지만, 출시 날짜는 발표되지 않았다.