Parsimony: AI 모델이 코드를 얼마나 덧붙이는지 재는 오픈소스 벤치마크
Show HN: Parsimony – an open-source benchmark for how much code AI models add
TL;DR Highlight
SWE-bench 패치를 구문 단위로 세어, 코드를 덜 늘리는 AI 모델 순위를 매겼다
Who Should Read
AI 코딩 에이전트가 만든 과한 코드 때문에 코드베이스 관리가 걱정되는 백엔드 개발자
Core Mechanics
- 풀었는지만 보고 코드량은 안 본다
- 기존 벤치마크는 정답률과 비용만 잰다.
- 코드가 불어나 나중에 다루기 어려워지는 점은 벌점이 없다.
- 줄 수 대신 구문 요소를 센다
- 호출, 이름, 리터럴 같은 구문 요소(coding unit)를 센다.
- 순증 단위 = 추가 − 삭제로 계산한다.
- 이미 공개된 패치를 분석만 한다
- 패치를 적용한 뒤 바뀐 파일의 전후 버전을 파싱한다.
- 테스트는 다시 돌리지 않고, 테스트·문서·생성 파일은 뺀다. Python만 측정한다.
- 순위는 푼 문제의 평균 순증 단위 오름차순
- 풀었는지는 SWE-bench Verified 결과를 그대로 쓴다.
- 모든 모델이 같은 에이전트(mini-SWE-agent)를 쓰지만 에이전트도 코드량에 영향을 준다.
- 작다고 무조건 좋은 건 아니다
- 단위는 크기만 재고 가독성이나 설계는 못 잰다.
- 삭제 위주 수정은 음수 순증으로 1위가 될 수 있다.
Community Reactions
- Astra가 1위인 건 신호로 약하다는 의견
- Astra 코드는 거의 읽을 수 없는 코드 골프라는 평가였다.
- 댓글 작성자는 Claude의 과한 주석·테스트가 차라리 낫다고 했다.
- 순환 복잡도를 보조 지표로 넣자는 의견
- AI가 쓴 코드에서 복잡도 문제가 점점 보인다는 경험이 있었다.
- 가독성 보조 지표로 cyclomatic complexity를 제안했다.
- 코드가 적으면 리뷰도 덜 힘든지 의문이라는 의견
- 작성량과 리뷰 부담이 비례하는지는 이 지표로 알 수 없다는 취지였다.
- 로컬 모델도 벤치마크에 넣어 달라는 의견
- 로컬에서 돌릴 수 있는 오픈 웨이트 모델과 상용 모델의 격차를 보고 싶다고 했다.
How to Apply
- 에이전트 프롬프트에 최소 변경 규칙 넣기
- 지금 쓰는 코딩 에이전트의 시스템 프롬프트나 CLAUDE.md에 최소 변경 지시를 추가하라.
- 같은 이슈 3개를 전후로 돌려 diff 크기를 비교하라.
- PR마다 순증 크기를 기록하기
- 에이전트가 만든 PR의 추가·삭제 줄 수를 모델별로 남겨라.
- 같은 과제를 풀 때 모델별 평균을 비교해 기본 모델 선정에 써라.
- 리뷰 기준에 코드량 외 지표 병행하기
- 코드량만으로 모델을 고르지 말고 테스트 통과와 가독성 리뷰를 함께 보라.
- 짧지만 읽기 힘든 코드(코드 골프)는 별도로 걸러라.
Try It
# Claude Code나 ChatGPT에 붙여넣기 — Parsimony 아이디어의 간이 버전(코드 최소 변경 리뷰)
아래 diff를 리뷰해 줘. 이 변경이 이슈를 해결하는 데 필요한 최소한인지 판단해 줘.
{{diff}}
다음 순서로 답해 줘.
1. 이슈 해결에 꼭 필요한 변경과 불필요한 변경을 나눠 줘.
2. 불필요한 추가(중복 로직, 과한 방어 코드, 쓸데없는 헬퍼)를 줄 단위로 짚어 줘.
3. 기능을 유지하면서 더 적게 바꾸는 수정안을 보여 줘. 단, 읽기 어려운 압축은 하지 마.
이어서 해 볼 것: 수정 전후 diff의 추가·삭제 줄 수를 비교해 봐.Terminology
관련 논문
The Judge Can Debias Itself: LLM-as-a-Judge가 스스로 편향을 고치게 하는 법
심사 프롬프트에 편향 경고를 넣거나 스스로 비판시켰더니 21개 중 20개 조합에서 정확도가 올랐다
미국 노동시간의 90%는 AI 벤치마크가 제대로 다루지 못하는 일이다
벤치마크 29개를 직업 과제에 매핑했더니 노동시간 90%가 커버 밖
Postgres 19, AI 코드 리뷰가 버그를 너무 많이 찾아 출시 연기
LLM 코드 리뷰가 버그를 쏟아내 Postgres 19가 11월로 밀리고 기능 8~10개가 빠졌다
StarSkirmish Bench v0.2: LLM이 1시간 만에 짜는 StarCraft 봇 대결
LLM에게 1시간 동안 StarCraft 봇을 짜게 했더니 GPT-6 Astra가 1위
그럴듯한 설명 하나면 멀티모달 LLM 심사위원도 속는다 (JUPE 벤치마크)
정답은 그대로 두고 설명만 붙였더니 MLLM 심사위원의 오답 거절률이 12.7~13.8%p 떨어졌다
신경망은 이미 깔끔하다: polysemanticity의 원인 재해석
뉴런을 직접 들여다봤더니 대부분 한 가지 역할이 있었다는 주장
Linus Torvalds의 첫 LLM 보조 패치 시리즈
Linus가 LLM으로 folio 조회 패치 10개를 만들어 read() 벤치가 10배 빨라졌다