코드의 느슨함 측정: 장황함과 침식 지표

✍️ OpenClawRadar📅 게시일: September 12, 2026🔗 Source
Ad

LLM은 테스트를 통과하는 코드를 생성하는 데 매우 능숙해졌습니다. 하지만 정확한 코드도 여전히 엉성할 수 있습니다: 중복된 줄, 불필요한 추상화, 형편없는 설계 선택으로 가득할 수 있죠. 저자가 지적했듯이, "코드가 형식적으로 정확하다고 해서 불필요한 추상화를 도입하거나 중복을 만들거나 전반적으로 나쁜 결정을 내리지 않는다는 의미는 아닙니다." 그 결과 코드 줄 수(LOC)이 폭발적으로 늘어나 인간이 따라가기 어려워지고, 일부 주장과 달리 에이전트도 이 엉성함을 관리하지 못합니다.

LLM을 심판으로 쓰는 것이 왜 효과가 없는가

이 글은 AI를 사용해 코드 품질을 판단하는 일반적인 업계 접근법을 일축합니다. 모델에게 코드를 1~10점으로 평가하도록 요청하는 것은 "기본적으로 난수 생성기와 같습니다." 쌍별 비교(A 대 B)는 불안정합니다: 단순히 솔루션 이름만 바꿔도 모델의 선호도가 뒤집힐 수 있습니다. 루브릭과 LLM이 작성한 테스트는 도움이 되지만 "실제로 엉성함을 제거하는 것과는 거리가 멉니다."

가장 간단한 지표: LOC 변화

놀랍게도 효과적입니다: 단순히 코드 줄 수의 변화를 추적하는 것입니다. 저자는 아이러니를 지적합니다: "우리가 이것을 최적화하기 시작하면 의미 있는 측정이 아니게 될 것입니다."

장황함(Verbosity)

중복되고 불필요하게 장황한 줄을 측정합니다. AST-Grep으로 표시되거나 클론으로 표시된 줄의 비율을 총 LOC로 나눈 값입니다:

장황함 = |AST-Grep 표시 줄 ∪ 클론 줄| / LOC
Ad

침식(Erosion)

코드베이스의 질량이 얼마나 몇 개의 크고 복잡한 함수에 집중되어 있는지를 측정합니다. 먼저 함수의 질량을 정의합니다:

질량(f) = CC(f) * sqrt(SLOC(f))

여기서 CC(f)는 순환 복잡도이고 SLOC(f)는 소스 코드 줄 수입니다. 그러면 침식은 순환 복잡도가 10보다 큰 함수가 보유한 총 질량의 비율입니다:

침식 = ∑_{f: CC(f) > 10} 질량(f) / ∑_f 질량(f)

논문 SlopCodeBench에서 소개된 이 두 가지 측정은 저자의 테스트에서 레거시 코드베이스와 LLM이 생성한 엉성함을 꽤 잘 구분했습니다.

핵심 요약

  • LLM 심판은 코드 품질에 신뢰할 수 없으며, 이름을 바꾸면 선호도가 뒤집힙니다.
  • LOC 변화는 놀랍도록 강력한 엉성함 신호이지만, 직접 최적화하면 깨집니다.
  • 장황함은 AST-Grep 표시와 클론 감지를 LOC에 대해 결합합니다.
  • 침식은 CC > 10인 함수의 복잡도 질량을 포착합니다.

대규모로 LLM 생성 코드를 배포하는 팀에게 이 지표들은 분위기 기반 평가에 대한 정량적 대안을 제공합니다.

📖 전체 출처 읽기: HN LLM Tools

Ad

👀 See Also

Oracle, 내부 LLM 사용에도 불구하고 OpenJDK에서 AI 생성 코드 금지
News

Oracle, 내부 LLM 사용에도 불구하고 OpenJDK에서 AI 생성 코드 금지

오라클이 오픈JDK 기여에서 AI 생성 코드를 금지하며 보안 및 지적 재산권 위험을 이유로 들었다. 이는 래리 엘리슨 CEO가 AI가 오라클의 코드를 작성한다고 한 주장과 모순된다.

OpenClawRadar
AI 인프라의 숨겨진 금융 거품 – 주요 시사점
News

AI 인프라의 숨겨진 금융 거품 – 주요 시사점

AI 인프라 지출 붐에 대한 비판적 분석으로, 과거 기술 붕괴와 유사한 지속 불가능한 버블을 경고합니다. 이 PDF는 GPU와 데이터 센터에 대한 막대한 자본 지출이 실제 수익 창출을 훨씬 초과한다고 주장합니다.

OpenClawRadar
그렉 크로아-하트먼의 클랭커 T1000: AMD 라이젠 AI 맥스가 탑재된 프레임워크 데스크탑에서 로컬 LLM으로 리눅스 커널 버그 퍼징하기
News

그렉 크로아-하트먼의 클랭커 T1000: AMD 라이젠 AI 맥스가 탑재된 프레임워크 데스크탑에서 로컬 LLM으로 리눅스 커널 버그 퍼징하기

Greg KH의 'gregkh_clanker_t1000'은 Framework Desktop(AMD Ryzen AI Max+)에서 실행되는 로컬 LLM을 사용하여 Linux 커널을 퍼징하며, 4월 7일 이후 ALSA, HID, SMB, Nouveau, IO_uring 등의 버그를 수정한 약 20개의 패치가 병합되었습니다.

OpenClawRadar
펜타곤, 군사 AI 사용을 둘러싼 분쟁 속 앤트로픽에 최종 제안 전달
News

펜타곤, 군사 AI 사용을 둘러싼 분쟁 속 앤트로픽에 최종 제안 전달

미국 국방부는 Anthropic에 클로드 AI 모델의 무제한 군사적 사용을 위한 최종 제안을 보냈으며, 금요일까지 완전한 접근 권한을 부여하지 않으면 군사 계약을 잃고 공급망 위험으로 분류될 수 있다는 마감 기한을 설정했습니다.

OpenClawRadar