TL;DR

  • SlopOne은 정적 분석과 Typesafe AI의 Jev 의사결정 모델을 결합해 유지보수성을 예측하며, 테스트에서 전문가 수준으로 다른 알고리즘보다 뛰어난 성능을 보인 코드 품질 모델임.
  • SlopOne은 무료 연구 프리뷰로 공개되며, Qlty CLI에서 사용할 수 있음.
  • Jev는 코드의 의미를 읽어 유지보수 어려움, 상호작용하는 조건과 변경 가능한 값, 중복 정보 등을 판단하는 System One 모델임.
  • SlopOne의 유지보수성 점수 추이를 시각화하는 보고서와 점수를 낮추는 문제를 반영한 AI 리팩터링 프롬프트가 제공됨.
  • Jev 사용에는 자체 API 키가 필요하며, 과거 코드 분석 비용은 통상 Jev 사용 크레딧 1달러 미만임.

SlopOne 공개

  • AI가 생성한 품질 낮은 코드가 소프트웨어 팀과 코드베이스에 부담을 주는 상황에서, 이를 예방하고 수정하기 위한 방식으로 SlopOne을 공개함.
  • SlopOne은 유지보수 가능한 코드와 코드베이스를 시간이 지나며 악화시키는 저품질 코드를 구분하는 AI 기반 모델임.
  • 내부 테스트에서 코드 유지보수성을 정확히 예측하는 능력으로 비교 대상인 모든 사용 가능한 알고리즘을 앞섰으며, 전문 소프트웨어 엔지니어 수준의 성능을 보임.
  • 전통적인 정적 분석의 통계와 Typesafe AI의 새 Jev 의사결정 모델의 분류 결과를 결합한 하이브리드 모델을 학습함. 두 데이터 소스의 결합으로 어느 한쪽만으로는 달성할 수 없는 정밀도와 재현율을 구현함.
  • SlopOne의 유지보수성 추이를 시각화하는 코드 품질 트렌드 보고서와 AI 주도 리팩터링을 시작하는 기능도 함께 공개했으며, 모두 Qlty CLI에서 무료로 이용 가능함.

Jev 기반 지능형 유지보수성 점수

  • 자동 유지보수성 점수는 역사적으로 코드 구조는 이해하지만 의미는 파악하지 못하는 정적 분석 도구에서 산출됨. Qlty는 함수 복잡도, 깊이 중첩된 조건문, 유사하거나 동일한 코드 블록 등의 통계를 바탕으로 점수를 계산해 왔음.
  • SlopOne은 전통적인 정적 분석 신호에 Jev의 판단을 결합함. Jev는 TypeSafe AI의 새 System One 모델로, 지능적인 판단을 빠르고 저렴하게 수행함.
  • Jev에는 다음과 같은 질문을 던짐.
  • 숙련된 개발자가 이 코드를 유지보수하기 어렵다고 판단할지 여부
  • 코드를 이해하려면 서로 영향을 주는 여러 조건이나 변경 가능한 값을 계속 염두에 둬야 하는지 여부
  • 같은 정보가 여러 곳에 저장돼 수작업으로 일관성을 유지해야 하는지 여부
  • Jev는 검토자의 판단을 모든 파일에 적용해 머신러닝(ML) 모델에 입력할 수 있을 만큼 저렴하고 빠르게 생성함. 이러한 답변과 정적 분석 통계를 특징값으로 결합하고, 사람이 품질을 표시한 코드 데이터로 머신러닝 모델을 학습함.
  • 이 방식으로 유지보수성을 점수화한 사례는 아는 한 없으며, 내부 벤치마크에서 SlopOne은 비교 대상으로 테스트한 모든 유지보수성 점수 체계보다 앞섬. 현재 이용 가능한 최선의 유지보수성 점수라고 판단하며, 후속 자료에서 더 자세히 공유할 예정임.
  • 내부 사용 결과 기존 도구보다 눈에 띄게 나은 성능을 확인했으며, 개선된 정확도와 정밀도는 자동 리팩터링 루프의 유용한 입력임.

선택하고 클릭해 리팩터링

  • 보고서를 살펴본 뒤 정리할 파일을 선택하고 ‘Copy refactor prompt’를 클릭해 생성된 프롬프트를 원하는 코딩 에이전트에 붙여넣을 수 있음.
  • 프롬프트에는 선택한 파일, 정적 분석 결과와 Jev의 답변, 점수 하락에 가장 크게 기여하는 문제에 대한 SlopOne의 가중치가 포함됨.
  • Jev의 답변은 코드의 의미를 읽고 도출되므로 코딩 에이전트의 리팩터링 작업에 더 나은 단서를 제공함.

SlopOne으로 코드 품질 추이를 확인하고 자동 리팩터링 시작

  • SlopOne은 무료이며, Jev용 API 키는 사용자가 직접 준비해야 함. 지원 제공자는 Typesafe, Vercel, OpenRouter임.
  • 과거 코드에 대한 SlopOne 분석 실행 비용은 일반적으로 Jev 사용 크레딧 1달러 미만임.
  • curl https://qlty.sh | bash로 설치 스크립트를 실행한 다음, TYPESAFE_API_KEY 환경 변수에 API 키를 설정하고 qlty slop-one 명령을 실행함.
  • API 키가 없으면 TypeSafe AI에 가입할 수 있음.
  • 방법론과 측정 결과는 추후 공개 예정임. 그때까지 각자 코드에서 SlopOne을 실행하고, 점수가 자신의 판단과 일치하는 지점과 그렇지 않은 지점을 GitHub 토론에 공유해 달라고 요청함: github.com/orgs/qltysh/discussions/2871
  • 글쓴이: Francis Hwang, Qlty Software