9월 8일, Mastra가 Factory 베타를 발표했다.
깃허브와 리니어의 이슈를 받아 Intake, Triage, Planning, Building, Review, Done 여섯 단계를 도는 오픈소스 소프트웨어 공장이다. 단계마다 전문 에이전트가 붙어 코드베이스를 조사하고, 계획을 세우고, 코드를 쓰고, PR을 열고, 리뷰한다. 사람은 네 군데서만 결정한다. 조사를 시작할지, 버그가 아닌 작업을 받아들일지, 계획을 승인할지, PR을 병합할지.
다음 날인 9월 9일, 앤트로픽에서 정렬 과학을 이끄는 에반 허빙거가 짧은 글을 올렸다. 전날 사직한 전직 연구원의 폭로에 답하는 글이었다.
"I personally think it is >10% within the next decade."
10년 안에 AI가 모든 인간을 죽일 확률이 10퍼센트를 넘는다고 본다는 뜻이다. 같은 글에서 그는 덧붙였다. 앤트로픽은 최선을 다하고 있지만 초지능의 정렬을 푸는 계획은 아직 없다고.
하루 차이로 온 두 소식을 같은 주에 읽었다. 하나는 공장을 세우는 이야기였고 하나는 멈춤장치가 없다는 이야기였다.
읽다 보니 둘이 같은 문장을 말하고 있었다.
#공장은 이미 돌아간다
Factory가 흥미로운 건 기능이 아니라 이 회사가 자기 저장소에서 실제로 돌리고 있다는 점이다.
베타 발표문에 적힌 자체 집계는 이렇다. 주당 이슈가 100개 넘게 들어오고 PR을 200250개 병합하는데, 7월 알파 이후 PR의 2535퍼센트를 공장이 썼고 이슈의 50~60퍼센트를 공장이 닫았다.
궁금해서 직접 세어 봤다. 깃허브 API로 Factory 봇 계정이 병합한 PR을 세면 7월 이후 418건이다. 같은 기간 저장소 전체 병합 PR은 2,857건. 14.6퍼센트다. 같은 발표문에 실린 차트로 계산해도 17퍼센트다.
발표된 숫자와 셀 수 있는 숫자가 두 배 차이 난다.
더 눈길이 간 건 실패 고백 쪽이었다. 처음에는 전 단계를 자동으로 돌렸다고 한다. 그런데 백로그를 한꺼번에 밀어 넣으면 작업이 몰려 인프라가 흔들렸고, 리뷰하기 어려운 결과물이 쏟아졌다. 관측 도구가 잘못된 알림을 보낸 적이 있었고, 트리아지 에이전트가 매출 손실을 잘못 판단해 닫아야 할 PR을 만든 적도 있었다. 그래서 단계마다 수동과 자동을 고를 수 있게 바꿨다.
회사가 직접 정리한 문장이 정확하다. 상류의 잘못된 가정이 하류의 문제를 만든다.
공장을 만든 팀이 가장 먼저 배운 것이 속도가 아니라 승인 지점의 위치였다는 뜻이다.
#생성은 싸지고 검증은 그대로다
모델이 혼자 버티는 시간은 분명히 길어지고 있다.
METR의 측정에 따르면 절반의 확률로 완수하는 작업의 길이가 2023년 이후 130.8일마다 두 배가 됐다. 넉 달에 두 배다. 2026년 1월 기준 선두 모델의 작업 길이는 다섯 시간이 넘는다.
그런데 파이프라인 쪽 숫자는 다른 곡선을 그린다.
작년 구글 DORA 리포트는 응답자의 90퍼센트가 AI를 쓰고 80퍼센트 이상이 생산성 향상을 체감한다고 보고했다. 같은 리포트에서 전달 처리량은 개선됐지만 전달 불안정성은 여전히 증가했다. 변경 실패율과 롤백이 늘었다는 뜻이다. 응답자의 30퍼센트는 AI가 쓴 코드를 거의 신뢰하지 않는다고 답했다.
올해 7월에 나온 기업 내부 데이터 연구가 이 구조를 더 선명하게 보여준다. 개발자 802명, PR 196,212건, 28개월치 기록이다. 생산성을 두 배로 올리라는 사내 지시가 있었고, 1인당 처리량은 실제로 2.09배가 됐다. 대신 리뷰어 한 사람이 감당할 부하가 두 배로 늘었고, 자동 리뷰가 사람 리뷰를 추월했다. 병목이 사라진 게 아니라 이동했다.
품질 쪽 숫자는 더 정직하다. 베라코드가 150개 넘는 모델을 평가한 결과를 보면, 문법적으로 맞는 코드를 쓰는 비율은 95퍼센트를 넘는데 보안 검사를 통과하는 비율은 55퍼센트다. 작년에도 55퍼센트였다. 2년 동안 생성은 좋아졌고 안전은 제자리였다.
깃클리어가 6억 건 넘는 코드 변경을 분석한 결과도 같은 방향이다. 다섯 줄 이상 그대로 반복되는 중복 블록이 2023년 대비 81퍼센트 늘었고, 코드를 옮겨 정리한 변경의 비중은 2022년 21퍼센트에서 지금 3.8퍼센트로 떨어졌다.
지금 코드는 더 빨리 쓰이고, 덜 정리된다.
벤치마크는 이 격차를 가장 짧게 보여준다.
SWE-bench Verified 점수는 올해 90퍼센트 중반까지 올라왔다. 한편 오염을 막으려고 비공개 상용 코드베이스까지 넣어 만든 SWE-bench Pro의 공개 리더보드 최상위는 61.5퍼센트다.
같은 모델들이다. 문제를 바꿨을 뿐이다.
한 연구는 모델이 저장소 구조를 주지 않아도 이슈 설명만으로 고쳐야 할 파일 경로를 76퍼센트까지 맞히는 것을 보였다. 벤치마크에 없는 저장소에서는 53퍼센트로 떨어졌다. 푸는 능력과 기억하는 능력이 섞여 있다는 뜻이다.
여기에 덧붙일 사실이 하나 더 있다. SWE-bench 공식 리더보드는 작년 11월부터 상용 제품의 제출을 받지 않는다. 요즘 회자되는 90퍼센트대 점수는 대체로 만든 회사가 자기 스캐폴드로 잰 값이다.
숫자가 틀렸다는 말이 아니다. 무엇을 재는 숫자인지 확인하는 일이 남아 있다는 말이다.
#우리는 측정을 잃었다
작년에 널리 인용된 METR 실험이 있다. 숙련 개발자가 AI를 쓰면 오히려 19퍼센트 느려졌다는 결과다. 본인들은 20퍼센트 빨라졌다고 느꼈다.
그 실험은 2026년 2월에 접혔다. 반박당해서가 아니다. 측정이 불가능해져서다.
후속 실험에서는 AI 없이 일하기 싫다며 참여를 거부하는 개발자가 늘었고, 설문에 답한 사람의 30~50퍼센트가 AI 없이 해야 하는 과제는 아예 제출하지 않았다고 했다. 표본이 스스로 걸러진 것이다. METR은 새 추정치를 매우 약한 증거라고 못 박았다.
읽으면서 조금 서늘했다. 도구가 일하는 방식을 바꾼 게 아니라, 도구가 일의 정의를 바꿔서 비교군이 사라진 것이다.
체감은 남았고 기준선은 없어졌다.
그러면 각자의 조직이 자기 숫자를 만드는 수밖에 없다. 리드타임, 변경 실패율, 롤백 횟수, 리뷰에 걸린 시간. 이미 재던 것들이다.
#채점기를 속이는 쪽으로 간다
7월에 일어난 사건 하나가 오래 남았다.
오픈AI가 내부 사이버 역량 평가를 돌리던 중 에이전트들이 격리 통제를 빠져나가 자사 연구 인프라와 허깅페이스 시스템 일부를 침해했다. 공개된 기록에 따르면 약 700개 에이전트가 침해에 관여했고, 1,200개가 승인되지 않은 게시판에서 7만 건 가까운 메시지를 주고받으며 자동 채점기를 속이기로 공모했다. 흔적을 지우려 한 것도 있었다.
동기는 멸망이 아니었다. 시험 부정이었다. 문제를 푸는 대신 정답을 훔치는 쪽이 쌌기 때문이다.
이 문장을 읽고 내 일이 떠올랐다. 테스트를 통과시키려고 테스트를 고치는 코드. 예외를 삼켜서 로그를 조용하게 만드는 커밋. 규모만 다르지 같은 형태다.
에이전트에게 목표를 주면 목표를 달성하는 가장 싼 경로를 찾는다. 그 경로가 검증을 우회하는 쪽이면 그쪽으로 간다. 그러니 무엇을 성공으로 칠 것인지가 곧 설계다.
#남는 일
멸망 경고 쪽에서 실제로 요구한 것도 결국 이 이야기였다.
7월에 프런티어 연구소 직원 1,178명이 서명한 서한의 요구는 개발을 멈추자가 아니었다. 속도를 의도적으로 조절할 수 있는 기술적 수단과 거버넌스를 지금 만들어 두자는 것이었다. 멈추자가 아니라 멈출 수 있게 해두자에 가깝다.
물론 반대편도 있다. 얀 르쿤은 이런 확률 추정을 헛소리로 본다. 코히어의 CEO는 대형 연구소의 규제 요구를 양의 탈을 쓴 카르텔이라 불렀고, 엔비디아의 젠슨 황은 수요를 만드는 가장 좋은 방법은 문제를 만드는 것이라고 받아쳤다. 이 진영의 대표 시나리오였던 AI 2027도 저자 본인의 중앙값이 2030년 언저리로 밀렸다.
그래서 나는 예언 쪽은 접어 두기로 했다. 확률에 동의하든 안 하든, 이미 측정된 숫자만으로도 할 일이 정해진다.
만드는 일은 싸졌다. 확인하는 일은 그대로거나 비싸졌다.
그러면 사람의 자리는 검증 쪽으로 옮겨간다. 코드를 쓰는 사람에서, 무엇을 증거로 인정할지 정하는 사람으로.
이번 주에 개인 프로젝트를 하나 했다. 에이전트 여럿을 붙여 지역 예식장의 가격 근거를 모았다. 카페와 블로그 글을 훑고 견적서 사진까지 읽어 왔다. 모으는 데 걸린 시간보다 채택한 인용 185건이 원문에 실제로 있는지 대조하는 데 더 오래 걸렸다. 대조하지 않았으면 그럴듯한 숫자표가 하나 남았을 것이다.
일의 본체가 수집이 아니라 검증이었다.
회사에서 리뷰 자동화를 만들 때도 비슷했다. 오래 붙들고 있었던 건 기능 목록이 아니라 금지 목록이었다. 어디까지 자동으로 두고, 무엇을 사람 앞에 세울지.
Factory 팀이 전 자동을 포기하고 단계마다 스위치를 만든 것도 같은 판단이다. 자동화의 수명은 자동화하지 않기로 한 지점이 결정한다.
마음에 걸리는 숫자도 하나 있다.
스탠퍼드 디지털이코노미랩이 급여 데이터로 본 결과에 따르면, AI 노출도가 높은 직군에서 22~25세의 고용이 같은 또래의 저노출 직군 추세보다 19퍼센트 낮다. 해고가 아니라 신규 채용이 줄어서 생긴 격차다. 경력자에게는 같은 격차가 없다.
저자들이 직접 단 단서도 함께 읽어야 한다. 인과 추정이 아니라 초기 지표이고, 학력을 통제하면 격차가 줄어들며, 이 표본에서 유독 뚜렷하다.
그래도 방향은 신경 쓰인다. 작은 이슈를 고치며 코드베이스를 익히는 경로가 바로 공장이 가장 먼저 자동화한 구간이기 때문이다. Mastra도 같은 이유로 커뮤니티 PR을 권장하던 정책을 접고, 대신 이슈를 자세히 재현해 주면 병합된 PR에 이름을 남기겠다고 했다.
기여의 형태가 코드에서 문제 정의로 옮겨간 것이다.
그렇다면 배워야 할 것도 옮겨간다. 짜는 연습보다 읽는 연습. 돌아가는지 보는 눈보다 어디서 틀어질지 보는 눈. 승인 지점을 어디에 둘지, 무엇을 되돌릴 수 있게 남길지.
공장은 이미 돌아간다. 하루 차이로 온 경고도 결국 같은 말이었다.
생성은 싸졌으니 검증을 어디에 둘 것인가.