Postgres 19, AI 코드 리뷰가 버그를 너무 많이 찾아 출시 연기
Postgres 19 delayed after AI reviewers find more bugs than humans can fix
TL;DR Highlight
LLM 코드 리뷰가 버그를 쏟아내 Postgres 19가 11월로 밀리고 기능 8~10개가 빠졌다
Who Should Read
AI 코드 리뷰를 팀 릴리스 프로세스에 넣으려는데 쏟아질 이슈를 감당할 수 있을지 고민하는 백엔드 개발자
Core Mechanics
- Postgres 19 출시가 11월로 밀렸다
- 원래 9월 말~10월 초 출시 예정이었으나 11월 19일 전후로 일반 공개될 예정이다.
- 중요 기능 8~10개가 되돌려져(revert) 내년 Postgres 20으로 넘어간다.
- 원인 중 하나는 LLM 코드 리뷰
- EDB의 Peter Eisentraut가 블로그에서 LLM 기반 리뷰가 적어도 일부 원인이라고 밝혔다.
- 일부 기능은 베타 중 빠르게 고치기 어려운 구조적 결함이 있었다.
- 사소한 엣지 케이스가 한꺼번에 드러났다
- 예전엔 출시 후 5년에 걸쳐 고쳤을 사소한 이슈들이 LLM 리뷰로 훨씬 빨리 발견된다.
- 이슈마다 평균 3줄 수정이어도 건당 고정 비용이 있어 40건이 쌓이면 시간이 모자란다.
- 기능을 쓴 뒤에 품질 기준이 올라갔다
- 기능을 작성·커밋할 때보다 리뷰 도구가 월등히 좋아져 기준이 사후에 높아졌다.
- Eisentraut는 LLM 리뷰 성능이 계속 오르지 않으면 이 상황이 다음 주기엔 알아서 정리될 거라고 말했다.
- 바이브 코딩 탓은 아니라고 선을 그었다
- 대부분의 기능이 작성될 때는 바이브 코딩 기법이 아직 없었다고 한다.
Community Reactions
- QA가 AI 시대의 병목이라는 의견
- AI가 테스트의 기본 틀은 깔지만 사람처럼 떠오르는 것만 테스트한다는 지적이다.
- 문제가 발견된 뒤 고치는 건 아주 잘한다는 경험담이다.
- 버그 원인은 Postgres의 빈약한 테스트라는 의견
- pgrust를 만드는 댓글 작성자가 기능별 회귀 테스트 위주라 엣지 케이스를 못 잡았다고 주장했다.
- AI로 시뮬레이션 테스트·퍼징·형식 검증을 돌려 코어 Postgres 버그를 약 50개 찾았다고 한다.
- C·Rust 함수를 Lean으로 옮겨 LLM이 증명을 쓰게 해 Postgres 640k줄 중 67k줄(10.5%)을 검증했다고 한다.
- AI 버그 리포트는 믿기 어렵다는 반론
- Linux 커널에서 보고된 82건 중 실제 버그는 6~8건뿐이었다는 사례를 들어 회의적이라는 의견이다.
- AI 리포트를 검증 없이 이슈로 올리지 말라는 의견도 있었다.
- 저도 릴리스를 미루고 있다는 경험담
- 쏟아지는 버그 리포트 때문에 릴리스를 미뤘다는 댓글이 있었다.
- 오래된 코드베이스에 AI 리뷰를 돌렸더니 많은 문제를 찾았고 메꿀 게 많다는 경험담도 있었다.
How to Apply
- 오래된 모듈 하나에 LLM 리뷰 돌려보기
- 오늘 가장 오래된 핵심 모듈 하나의 diff나 파일을 LLM에 넣고 엣지 케이스 위주로 리뷰시켜라.
- 나온 항목을 진짜 버그, 이미 수정됨, 허위로 분류해 정확도를 직접 세어라.
- LLM 리뷰 결과를 사람이 거른 뒤 이슈 등록하기
- 리뷰 결과는 재현 가능 여부를 확인한 항목만 이슈로 올리는 규칙을 팀에 정하라.
- 건당 처리 시간을 기록해 릴리스 일정에 버퍼로 반영하라.
- 릴리스 전에 AI 리뷰 단계 앞당기기
- 기능 개발 중간이나 머지 전에 LLM 리뷰를 넣어 막판 대량 발견을 막아라.
- 구조적 결함은 베타 전에 걸러지도록 설계 단계 리뷰도 같이 돌려라.
Try It
# Claude나 ChatGPT에 붙여넣기 (원문 아이디어의 간이 버전: LLM 코드 리뷰 후 분류)
아래 코드를 리뷰해 줘. 엣지 케이스(빈 입력, 큰 입력, 경계값, 인코딩, 동시성) 위주로 찾아줘.
{{코드}}
각 발견 사항을 다음 형식으로 출력해 줘.
- 위치:
- 문제:
- 재현 입력:
- 수정 규모(줄 수 추정과 구조 변경 필요 여부):
- 확신도(높음/중간/낮음)
이어서 해 볼 것: 결과를 진짜 버그, 이미 수정됨, 허위로 직접 분류해 보고 정확도를 세어 봐라.Terminology
관련 논문
The Judge Can Debias Itself: LLM-as-a-Judge가 스스로 편향을 고치게 하는 법
심사 프롬프트에 편향 경고를 넣거나 스스로 비판시켰더니 21개 중 20개 조합에서 정확도가 올랐다
미국 노동시간의 90%는 AI 벤치마크가 제대로 다루지 못하는 일이다
벤치마크 29개를 직업 과제에 매핑했더니 노동시간 90%가 커버 밖
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배 빨라졌다
Parsimony: AI 모델이 코드를 얼마나 덧붙이는지 재는 오픈소스 벤치마크
SWE-bench 패치를 구문 단위로 세어, 코드를 덜 늘리는 AI 모델 순위를 매겼다