modem-dev/slop-scan

Detect AI code slop patterns in your repo

해결하는 문제

JavaScript 및 TypeScript 리포지토리 내에서 자주 발견되는 '스로플'(slop) — 즉, 검토되지 않은 AI 생성 코드에 흔히 나타나는 낮은 판단력, 의심스러운, 또는 보일러플레이트 패턴 — 을 식별합니다. 개발자들이 성숙한 인간 검토를 거친 오픈소스 소프트웨어와 '바이브 코드'처럼 느껴지거나 과도하게 생성된 보일러플레이트에 의존하는 코드베이스를 구분하는 데 도움을 줍니다.

작동 방식

이 도구는 결정론적 CLI를 사용하여 특정 히ュ리스틱(규칙)을 스캔하여 일반적인 AI 관련 패턴을 탐지합니다. 파일 수, 논리적 KLOC, 함수 수 기준으로 원시 스코어와 정규화된 스코어를 제공하여 서로 다른 크기의 리포지토리 간에 공정한 비교를 가능하게 합니다. 또한 delta 모드를 지원하여 이러한 패턴이 시간이 지남에 따라 또는 다른 브랜치 간에 증가하거나 감소하는지 추적할 수 있습니다.

대상 사용자

  • 품질을 감사하기 위해 타사 리포지토리를 검토하는 개발자.
  • 자신의 코드베이스에서 낮은 판단력의 보일러플레이트를 찾고자 하는 팀.
  • AI 생성 리포지토리를 성숙한 오픈소스 기준과 비교하는 연구자.
  • 생성된 코드를 탐지하기 위한 결정론적 히ュ리스틱을 반복적으로 개선하고자 하는 사용자.

주요 기능

  • 결정론적 스캔: 빈 catch 블록, 오류를 가리키는 catch 블록, 중복된 함수 시그니처와 같은 패턴을 검증된 규칙 세트로 탐지.
  • 정규화된 메트릭: 예: 스코어/KLOC 같은 비율을 사용하여 공정한 벤치마킹을 가능하게 함.
  • 확장성: 제3자 규칙 플러그인과 slop-scan.config.json을 통한 사용자 정의 설정을 지원.
  • CI/CD 통합: 인간이 읽기 쉬운 로그를 제공하는 --lint 모드와 기계가 읽기 쉬운 출력을 제공하는 --json 모드를 제공하여 새로운 발견 기반으로 빌드 실패를 유도할 수 있음.
  • 고정된 벤치마크: 2025년 이전의 커밋에 고정된 성숙한 오픈소스와 AI 생성 리포지토리를 비교하는 벤치마크 세트를 포함하여 기준을 설정.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트