AI 슬롭을 코드베이스에서 감지하는 도구를 만든 방법 (그리고 발견한 패턴)

발행: (2026년 3월 7일 AM 11:48 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

문제

지난 1년 동안 AI 코딩 어시스턴트—Cursor, Copilot, Claude 등—를 많이 사용해 왔습니다. 속도는 굉장히 빠르지만, 코드 리뷰에서 같은 게으른 패턴들이 계속 나타나는 것을 눈치챘습니다:

  • 어디에든 있는 TODO 주석, 실제 구현과 종종 모순됨
  • data2, temp, result_final 같은 자리 표시자 변수명
  • pass만 있는 빈 except 블록
  • 전체가 주석 처리된 코드 블록
  • handle_it, do_stuff, process_data와 같이 세 가지 서로 다른 일을 하는 함수

가장 안타까운 점은 이 패턴들이 기존 린터에 보이지 않는다는 것입니다. pylint는 함수 이름이 processDatahandleStuff든 신경 쓰지 않으며, flake8TODO 주석을 표시하지도 않습니다. 하지만 인간 리뷰어는 즉시 이런 부분을 발견하고, 제출한 코드를 정말 이해하고 있는지 의문을 제기합니다.

그래서 저는 roast‑my‑code라는 CLI 도구를 만들었습니다—이 도구는 바로 이런 패턴들을 찾아냅니다.

탐지 규칙

분석기는 AI Slop, Code Quality, Style 세 가지 카테고리를 중심으로 구성됩니다. 각 카테고리는 가중 점수를 가지며, AI Slop이 전체 점수의 50 %를 차지합니다.

AI Slop 패턴 (높은 심각도)

# Detect TODO/FIXME/HACK comments
TODO_PATTERN = re.compile(r'#\s*(TODO|FIXME|HACK|XXX)', re.IGNORECASE)

# Placeholder variable detection
PLACEHOLDER_NAMES = {
    'foo', 'bar', 'baz', 'temp', 'data2', 'result2',
    'test123', 'foo_bar', 'test_var'
}

# Hallucinated imports (common fake packages AI invents)
FAKE_IMPORTS = {
    'magiclib', 'utils2', 'helpers.everything',
    'common_utils', 'my_helpers'
}
0 조회
Back to Blog

관련 글

더 보기 »