Cockroach Labs: 5개월간 버그를 환자로, 코딩 에이전트를 의료팀으로 다룬 실험

Published · AI Daily — AI-assisted deep research, methodology & disclosure

Cockroach Labs는 교육 병원의 역할 분담을 본뜬 코딩 에이전트 파이프라인을 만들었다. 분류 간호사, 펠로, 리뷰 주치의, 퇴원 간호사가 일을 나눈다. 5개월 동안 100만 줄이 넘는 코드를 처리하면서 리버트는 7번뿐이었다. MOLT의 Db2 지원은 이틀이 채 걸리지 않았고 토큰 비용은 4,172달러로, 2024년 Oracle 때보다 164배 빠르고 38분의 1 비용이었다.

4월의 어느 수요일 저녁, Cockroach Labs가 데이터베이스를 CockroachDB로 옮기기 위해 제공하는 도구 MOLT는 아직 IBM Db2에서 데이터를 읽지 못했다. 금요일 오후에는 읽을 수 있었다. Db2는 상용 관계형 데이터베이스의 초기 주자 가운데 하나로, SQL 방언이 풍부하고 타입 시스템이 복잡하며 고유의 와이어 프로토콜도 갖고 있다. 이를 지원하려면 새로운 스키마 변환기, 행을 꺼내 CockroachDB에 적재하는 새로운 Fetch 경로, 적재 뒤 데이터를 비교하는 새로운 Verify 경로, 내장된 ANTLR 문법, CI용 Docker 이미지, 그리고 1만 줄이 넘는 테스트 픽스처가 필요했다. 2024년에 MOLT에 Oracle 지원을 추가했을 때는 같은 작업에 9개월이 걸렸고 엔지니어링 비용은 약 16만 달러였다. 이번 Db2 작업은 이틀이 채 걸리지 않았고, 사람이 쓴 코드는 한 줄도 없다. 토큰 비용은 4,172달러였다. 속도는 164배 빠르고 비용은 38분의 1이다.

이 모든 일의 출발점은 요구 사항을 적은 GitHub 이슈 하나였다. 계획 담당 에이전트가 그것을 읽고, 한 번에 처리하기에는 너무 크다고 판단해 15개의 하위 이슈로 쪼갰다. 의존 관계도 명시했다. 먼저 기반, 다음으로 타입 시스템, 행 반복기, Fetch, Verify, Convert, 마지막으로 CI와 테스트 데이터 순서다. 그중 두 하위 이슈는 각자의 작업 평가에서 여전히 너무 크다고 판단되어 다시 분해되었다. 진행 중에 에이전트들은 자신의 작업에 대해 열두 건가량의 이슈를 추가로 등록했다. 픽스처의 빈틈, 타입 매핑 버그, 격리 수준 수정 등이다. 이 문제들은 사람이 찾은 것이 아니다. 파이프라인이 스스로 찾고 기록하고 대기열에 올렸다. 작업을 나누고 의존 관계를 드러내는 일이 이 규모의 과제를 이틀 안에 끝낼 수 있었던 첫 번째 열쇠다.

두 번째 열쇠는 파이프라인의 조직 방식이다. Cockroach Labs는 교육 병원을 길잡이 은유로 골랐다. 버그는 환자이고, 코딩 에이전트는 의료팀의 각 역할을 맡는다. 분류 간호사(Triage Nurse)는 요청을 받아 1차로 걸러내며, 문제가 무엇이고 얼마나 큰지, 누가 맡아야 하는지를 정한다. 펠로(Fellow)는 직접 치료를 맡아 수정 코드를 작성한다. 리뷰 주치의(Review Attending)는 엄격하게 검토하며 품질을 지킨다. 퇴원 간호사(Discharge Nurse)는 사례를 마무리하고, 병합 전에 모든 점검과 기록이 갖추어졌는지 확인한다. 이 은유는 장식이 아니다. 소프트웨어 팀이 이미 필요하다고 아는 분업과 상호 견제를 모두가 아는 의료 절차에 담아 고정한다. 병원은 치료한 사람이 혼자 자기 치료를 승인하도록 두지 않는다. 에이전트 파이프라인은 누군가 일부러 설계해 넣지 않으면 이 규칙을 지키지 않는다.

세 번째 열쇠는 몇 가지 엄격한 규율이다. 에이전트는 코드를 쓰기 전에 계획을 세워야 하고, 계획 자체도 검토를 받는다. 수천 줄의 코드에 토큰을 쓰기 전에 잘못된 방향을 막기 위해서다. 엄격한 테스트 커버리지는 병합의 전제 조건이지 사후에 보태는 것이 아니다. 꼼꼼한 기록은 진료 기록부처럼 모든 결정과 변경에 흔적을 남기며, 나중에 왜 되돌렸는지 알아내는 유일한 단서가 된다. 병합 앞에는 안전 가드레일이 놓여 있다. 이 규칙들은 소박해 보이지만 에이전트가 가장 자주 실패하는 지점을 정확히 겨냥한다. 목표를 잘못 이해하는 것, 근거 없는 자신감, 그리고 결과물에 책임지는 사람이 없는 상황이다.

이런 시스템이 믿을 만한지를 가장 설득력 있게 보여 주는 지표는 되돌림 횟수다. 5개월 동안 이 파이프라인은 100만 줄이 넘는 코드를 처리했고, 리버트는 단 7번뿐이었다. 이 수치는 자율적인 산출과 기업 수준의 신뢰성이 반드시 충돌하지는 않음을 보여 준다. 다만 신뢰성을 시스템 구조의 일부로 넣었을 때의 이야기이며, 하나의 모델이 충분히 똑똑하기를 바라는 방식으로는 얻을 수 없다. 같은 장치가 Migration Assistant 같은 기능도 뒷받침한다. 복잡한 데이터베이스 마이그레이션을 에이전트가 만들고 유지할 때, 계획 검토와 테스트 커버리지, 완전한 기록이 값비싼 회귀를 막는 주된 방어선이다. 신중하게 읽을 점도 있다. 숫자는 Cockroach Labs 자신의 경험치이고, Oracle 프로젝트의 9개월과 약 16만 달러라는 비교도 회사의 추정이다. 강력한 사례이지만 보편적인 벤치마크는 아니다.

업계 전반에 이 글이 주는 의미는 질문을 바꾼다는 데 있다. 오랫동안 사람들은 어떤 모델이 코드를 가장 잘 쓰는지 물었다. 이 사례는 더 쓸모 있는 질문을 가리킨다. 에이전트 집단을 어떻게 조직해야 일을 나누고, 서로 검토하고, 기록을 남기고, 문제가 생겼을 때 책임 사슬이 분명할 것인가. 비용이 9개월에서 이틀로, 16만 달러에서 4천 달러 남짓으로 내려가면 병목은 코딩 자체에서 벗어난다. 병목은 요구 사항을 서술하고, 작업을 분해하고, 결과를 검수하는 단계로 옮겨 간다. 비슷한 성과를 원하는 팀은 더 강한 모델을 쫓기 전에 분해 능력, 검토 절차, 테스트 인프라에 먼저 투자해야 한다. 병원 은유는 기억에 남지만, 그 밑의 교훈은 평범한 엔지니어링이다. 모든 단계에 담당자를 두고, 모든 것을 기록하고, 점검이 통과하기 전에는 병합하지 않는 것이다.

Sources

FAQ

이 파이프라인은 어떤 역할로 나뉘나요?

교육 병원을 본뜹니다. 분류 간호사가 문제를 접수해 거르고, 펠로가 수정하며, 리뷰 주치의가 엄격히 검토하고, 퇴원 간호사가 병합 전 점검과 기록을 마무리합니다.

Db2 지원은 Oracle보다 얼마나 빠르고 쌌나요?

Cockroach Labs에 따르면 2024년 Oracle 지원은 9개월, 약 16만 달러가 들었습니다. Db2는 이틀이 채 걸리지 않았고 토큰 비용은 4,172달러로, 164배 빠르고 38분의 1입니다. 회사 자체 수치입니다.

5개월 동안의 신뢰성은 어땠나요?

100만 줄이 넘는 코드를 처리하면서 리버트는 7번뿐이었습니다. 코드 작성 전 계획 검토, 엄격한 테스트 커버리지, 꼼꼼한 기록, 병합 전 안전 가드레일이 핵심입니다.