AI Slop Detector v2.6.1 Self-Audit: 나는 3개의 나쁜 파일을 심었는데 — 잡았나요?

발행: (2026년 1월 14일 오전 03:59 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

AI 코드는 거의 아무것도 구현하지 않으면서도 “프로덕션‑레디”처럼 보일 수 있습니다.

  • 린트 통과.
  • 클린 아키텍처 준수.
  • 배포 가능.

그런데 실행 경로를 추적해 보면 실제 로드‑베어링 로직이 거의 없습니다.

이것이 AI 슬롭입니다: 깨진 코드는 아니지만 설득력 있게 빈 코드.

저는 AI Slop Detector를 만들어 그 막연한 “뭔가 이상해” 느낌을 검사 가능한 신호로 바꾸었습니다.

그런 뒤 불편한 신뢰성 테스트에 직면했습니다:

도구가 내 레포도 비난할까?

v2.6.1은 신뢰 릴리스

이번 릴리스는 감사 가능성안정성에 초점을 맞춥니다:

  • 의존성 규칙이 더 이상 “코드 안의 마법”이 아니라 YAML로 옮겨져 동적으로 로드됩니다 (숨겨진 가정 감소).
  • 테스트 + 커버리지 강화: 165개의 테스트, 전체 커버리지 85 %, CI 게이트 커버리지 0 % → 88 % 개선.

목표: 도구가 회귀하기 어렵게, 신뢰하기 쉽게 만드는 것입니다.

자체 감사

저는 누구든지 할 수 있는 방식으로 탐지기를 자체 코드베이스에 실행했습니다:

slop-detector --project .

전체 결과: CLEAN
결손 점수: 19.78 (낮을수록 좋음)
전문 용어 팽창: 0.11

원문 보고서 주석: 저는 생성된 그대로 PDF 형태의 전체 자체 검사 보고서를 편집 없이, 검열 없이, 재포맷 없이, 해석적 변경 없이 공개합니다.

“CLEAN”이 완벽을 의미하는 것은 아닙니다.
그 의미는 여기에 충분히 실제 구현이 있어 검토가 가치 있다는 것입니다.

실제 실험: “알려진‑나쁜” 파일 3개를 심어봤습니다

점수만으로는 의심하기 쉬워서, 저는 의도적으로 레포에 세 개의 나쁜 고정물을 추가해 탐지기가 올바른 이유로 작동하는지 확인했습니다.

1) 빈 쉘

0‑라인 파일이 100.00 점수를 받았으며, 보고서는 이를 명확히 설명합니다:

“Empty file: nothing to analyze → remove / implement / mark stub.”

번역: 때때로 코드는 존재하지만 아무 일도 하지 않으며, 이는 눈에 보여야 합니다.

2) 위험한 구조 (structural_issues.py)

점수 71.21, 시스템을 조용히 부패시키는 패턴을 표시합니다:

  • 모든 예외를 잡는 catch‑all 오류
  • 가변 기본값
  • 스타 임포트
  • 전역 상태

번역: 코드는 실행될 수 있지만 나중에 신뢰하거나 디버그하기 어려워질 수 있습니다.

3) 버즈워드 + 슬롭 칵테일 (generated_slop.py)

점수 96.77, 다음과 같은 전문 용어를 트리거합니다:

  • “state‑of‑the‑art”
  • “transformer”
  • “optimized”

…그리고 고전적인 슬롭 패턴이 함께 나타납니다.

번역: 인상적인 언어와 약한 실체는 종종 함께 등장합니다.

반전

cli.py 안에 있던 “production‑ready” 라는 제 표현도 플래그되었습니다.
도구는 단순히 코드를 감사한 것이 아니라 주장까지 감사한 것입니다.

왜 이것이 AI 시대 리뷰 문제인가

대다수 도구는 어제의 질문에 답합니다:

  • “구문적으로 유효한가?”
  • “안전한가?”
  • “복잡한가?”

AI 시대 워크플로는 사전 질문이 필요합니다:

여기에 의미 있는 구현이 전혀 없나요?

AI Slop Detector는 판결 기계가 아닙니다.
“보기엔 괜찮은데…” 를 측정 가능한 후속 작업으로 바꾸는 리뷰 신호입니다.

빠른 시작

pip install -U ai-slop-detector

# 단일 파일
slop-detector mycode.py

# 전체 프로젝트 스캔
slop-detector --project .

CI 게이트 모드 (soft / hard / quarantine)

# Soft: 보고서만 출력 (절대 실패 안 함)
slop-detector --project . --ci-mode soft --ci-report

# Hard: 임계값 초과 시 빌드 실패
slop-detector --project . --ci-mode hard --ci-report

# Quarantine: 점진적 적용
slop-detector --project . --ci-mode quarantine --ci-report

한 가지 빠른 리뷰 질문

“이 함수가 래핑하는 것과 실제로 다른 점은 무엇인가?”

답이 구체적인 동작 대신 문서 문자열 약속으로 돌아간다면, 보통 스캐폴딩일 가능성이 높습니다.

직접 사용해 보면

실제 사례를 공유해 주세요:

  • 마주친 오탐 사례
  • 놓친 설득력 있는 빈 코드
  • PR에서 보이는 고정물 아이디어
Back to Blog

관련 글

더 보기 »