에이전트가 30만 줄 C 코드를 만점으로 끌어올렸다, 진짜 일은 하네스가 했다

CodeScene이 3주 동안 쓴 토큰 비용은 약 4,000달러 — 이 작업을 안전하게 만든 프레임 단위 리플레이 검증이야말로 대다수 레거시 코드베이스가 재현하지 못하는 부분이다

|6분 읽기0
C source code on screen — CodeScene's agents modified 252,055 lines across 726 files in three weeks of part-time work.
C source code on screen — CodeScene's agents modified 252,055 lines across 726 files in three weeks of part-time work.

CodeScene이 3주간 진행한 실험은 에이전트 기반 레거시 현대화에 무시하기 어려운 숫자를 붙였다. 토큰 비용 약 4,000달러로 30만 줄짜리 C 코드의 Code Health 점수를 5.6에서 흠 없는 10.0까지 올렸다는 것이다. 숫자는 잘 퍼진다. 반면 그 숫자에 달린 전제 조건은 잘 퍼지지 않는데, 같은 작업을 계획하는 쪽에는 그 조건이 훨씬 쓸모 있는 발견이다.

그 조건은 오라클이다. 에이전트가 가한 모든 변경은 게임의 롤백 상태 해시를 한 프레임씩 비교하는 리플레이 트레이스 하네스로 검증됐다. 수술대에 오른 코드베이스는 스트리트 파이터 III: 서드 스트라이크의 오픈소스 디컴파일 결과물이다. CodeScene의 정리글에 따르면 이 게임을 고른 이유 중 하나는 두 엔지니어가 실제로 이 게임을 즐겨서 무언가 망가지면 바로 알아챌 수 있었다는 점이다. 결정론적으로 동작하는 대전 격투 게임은 이런 검증이 애초에 가능한 몇 안 되는 소프트웨어다.

핵심 요약

  • 점수 향상에 들어간 토큰 비용은 약 4,000달러다. CodeScene은 이를 개발자 월급의 절반으로, 에이전트 이전 시대 추정치인 전문가 12~18개월치 작업과 견준다.
  • 안전장치는 테스트가 아니라 동작 기반이었다. 롤백 상태 해시를 프레임 단위로 대조하는 리플레이 하네스에 더해, 에이전트가 최적화 목표로 삼을 수 있는 CodeHealth 점수가 뒷받침했다.
  • 성과처럼 떠도는 수치 — AI 유발 결함 70% 감소, 토큰 낭비 45% 감소 — 는 CodeScene의 이전 연구에서 가져온 추정치이며 이번 실험에서 측정된 값이 아니다.

4,000달러가 실제로 감당한 범위

작업량 자체는 만만치 않다. 커밋 2,903건, 손댄 파일 726개, 수정된 줄 수 252,055줄이다. 이 총량을 읽을 때는 범위를 함께 봐야 한다. 전담 팀이 아니라 엔지니어 두 명이 파트타임으로 붙었고, 비용에는 인건비나 리뷰 시간이 아니라 토큰만 들어간다.

피드백은 MCP 서버를 통해 전달됐다. CodeScene의 CodeHealth 지표를 에이전트가 직접 조회할 수 있게 열어둔 덕분에, 변환을 그냥 시도하는 데 그치지 않고 점수로 평가할 수 있었다. 결정론적 품질 점수와 결정론적 정확성 검증을 한 쌍으로 묶은 것이 이 루프를 사실상 무인으로 돌린 비결이다. 둘 중 하나만 빠져도 처리량 수치는 의미를 잃는다.

발견은 점수가 아니라 플레이북이다

만점이라는 지표 값은 이 실험에서 가장 옮기기 어려운 부분이다. 오래 남을 산출물은 따로 있다. 에이전트가 작업하면서 축적한 레시피 22개와 보조 노트 82개짜리 플레이북이다. 반복해서 마주친 변환 유형에 이름을 붙이고, 각각의 전제 조건을 적어 내려간 결과물이다.

일부 항목은 표준 레퍼토리 그대로다. 함수 추출, 가드 절, 파라미터 객체 같은 것들이다. 반면 세 가지는 어떤 리팩터링 카탈로그에도 실릴 법하지 않은데, 이 코드베이스만의 특성을 서술하기 때문이다. Shared Index Range는 시작점과 끝점만 다른 반복문들을 하나로 접는다. Action Parameter는 호출하는 함수만 달라지는 중복 제어 구조를 흡수한다. Uniform Step Table은 흩어져 있던 이질적인 호출들을 테이블 기반 디스패치로 바꾼다.

실패한 결과도 함께 남겼다. 지표를 전혀 움직이지 못한 시도가 적지 않았고 오히려 점수를 떨어뜨린 것도 있었는데, 이를 성공 사례 옆에 나란히 기록했다. 코드 정리라기보다 실험 노트에 가까운 방식이다.

모델 등급 차이도 이번 실행에서 뚜렷하게 드러났다. 초기 탐색을 거친 뒤 대부분의 작업은 Anthropic의 Claude Opus가 맡았고, 새로 떠오르는 패턴을 포착해 문서화하는 특정 작업에서는 Opus를 쓴 Claude Code가 Sol을 쓴 Codex보다 나았다고 팀은 전했다. 더 작은 Sonnet과 Terra 모델로 돌린 경우에는 진행이 멎는 경향을 보였다. 코드 스멜이 남아 있는데도 파일이 국소 최적점처럼 보이는 지점에서 더 나아가지 못했다.

반론이 향하는 지점

InfoQ가 정리한 바에 따르면, 뒤이어 링크드인에서 벌어진 논쟁의 쟁점은 이 실행이 실제로 있었느냐가 아니었다. 다른 사람들이 여기서 무엇까지 결론 내려도 되느냐였다. 옹호하는 쪽은 트레이스 리플레이가 통과한 테스트 스위트보다 훨씬 높은 기준이라는 점을 짚었다. 테스트 통과는 테스트가 여전히 통과한다는 사실만 보증한다.

범위를 겨냥한 문제 제기는 날카로웠다. 한 테크 리드는 결과물이 실제로 머지되기는 했는지, 그리고 오픈소스 게임 코드가 매출을 떠받치는 상용 소프트웨어를 대신할 수 있는지 물었다. NeoSee CTO이자 이번 작업에 참여한 두 엔지니어 중 한 명인 대니얼 웹(Daniel Webb)은 풀 리퀘스트 54건을 거쳐 포크의 main 브랜치에 들어갔다고 답했다. 실제 머지는 맞지만, 외부 관리자가 있는 업스트림 프로젝트에 들어간 것은 아니다.

다른 비판은 용어를 겨냥했다. 코드베이스를 두고 완벽하다고 표현한 것부터 반발을 샀다. 새로 만든 레시피도 마찬가지다. DRY가 문자열 중복이 아니라 지식의 중복에 관한 원칙이라면, 반복문 경계를 기준으로 삼은 레시피는 지켜야 할 구분을 뭉개는 것일 수 있다. 게다가 Claude Code와 Codex는 각자 자기 모델에 맞춰 조정돼 있어, 성과를 모델 역량과 하네스 설계 중 어느 쪽에 얼마나 돌려야 할지 실제로 불분명하다. 아키텍처는 처음부터 끝까지 채점 대상이 아니었다. 건강 지표는 깨끗해 보이는데 구조적 부채가 1년 뒤에 드러나는 경우가 열려 있는 셈이다.

아직 측정되지 않은 것

CodeScene을 창업한 아담 톤힐(Adam Tornhill)은 30년간 대규모 시스템을 다뤄온 경험에 비춰 이번 실행을 평가하며, 대규모에서 초인적인 AI 성능을 처음 목격했다고 말했다. 동시에 자동화된 테스트와 동등성 검증이 절대적으로 필수적인 안전장치라는 점도 강조했다. 이 단서는 진입 비용을 조용히 규정한다. 건강하지 않은 코드베이스가 건강하지 않은 이유 중 하나가 바로 그런 장치의 부재이기 때문이다.

가장 인용하기 좋은 두 수치는 사실 예측치다. AI 유발 결함 약 70% 감소와 토큰 낭비 약 45% 감소는 CodeScene의 이전 Code Red 연구를 외삽한 값이다. 해당 연구는 건강한 코드가 평균적으로 10배 빠르게 발전하고 결함은 15배 적다는 결과를 내놨다. 이번 프로젝트에서 실제로 관측된 값은 4,000달러와 3주뿐이다.

나머지를 검증하는 것이 예정된 룬드대학교 연구의 목적이다. 학생들에게 5.6 버전과 10.0 버전 두 코드베이스를 모두 주고 프런티어 모델로 기능을 개발하게 해, 비용과 품질을 직접 비교한다는 계획이다. 짚고 넘어갈 만한 검증이다. LLM 버그 수정 도구가 망가진 코드를 고치는 것보다 멀쩡한 코드를 망가뜨리는 일이 더 잦다는 근거를 고려하면 더욱 그렇다.

FAQ 자주 묻는 질문

리팩터링한 코드는 실제로 머지됐나

main 브랜치에 머지됐지만 업스트림 프로젝트가 아니라 포크에서다. 대니얼 웹은 총 풀 리퀘스트 54건이라고 밝혔다. 논의에 참여한 리뷰어들은 독립적인 관리자가 활동하는 업스트림 프로젝트에서 비슷한 작업을 승인받는 쪽이 훨씬 어려운 시험이라고 지적했다.

4,000달러에 엔지니어링 인건비가 포함되나

포함되지 않는다. 이 금액은 엔지니어 두 명이 3주간 파트타임으로 작업하며 쓴 토큰 비용만 가리킨다. CodeScene은 이를 개발자 월급의 절반에 견주면서, 같은 현대화 작업이 에이전트 이전 시대였다면 전문 개발자 12~18개월치를 소모했을 것으로 추산한다.

일반적인 레거시 코드베이스에도 통하나

채점하는 쪽은 어디서든 통하지만 검증하는 쪽은 대개 통하지 않는다. 프레임 단위 리플레이는 결정론적인 게임 루프가 있어야 성립하는데, 일반적인 업무 시스템에는 이에 상응하는 장치가 거의 없다. 비슷한 정확성 오라클이 없으면 에이전트는 동작이 그대로라는 확인 없이 품질 지표만 끌어올릴 수 있다.

이 기사에 대한 반응을 남겨주세요!

SJ
로딩 중...

관련 기사

DoorDash 에이전트, 방치된 피처 플래그 하나를 14분·4.79달러에 걷어냈다
Developer Tools

DoorDash 에이전트, 방치된 피처 플래그 하나를 14분·4.79달러에 걷어냈다

DoorDash 에이전트가 방치된 피처 플래그 50건 중 45건을 엔지니어 승인 풀 리퀘스트로 만들었다. 수작업 기준으로는 건당 1~2시간이 걸리던 일이다.

Seung Jung11일 전
Vercel, 1년 전 고쳐진 버그 때문에 플랫폼 전역에서 AVIF를 껐다
Developer Tools

Vercel, 1년 전 고쳐진 버그 때문에 플랫폼 전역에서 AVIF를 껐다

Vercel은 신고된 Next.js RCE의 원인을 libheif에서 찾아 8월 13일 플랫폼 전역에서 AVIF를 껐고, 8월 25일까지 sharp·libvips·libheif 수정을 조율했다.

Seung Jung11일 전
Claude Opus 5.5에서 400을 뱉는 Opus 5 요청 패턴 네 가지
Developer Tools

Claude Opus 5.5에서 400을 뱉는 Opus 5 요청 패턴 네 가지

Claude Opus 5.5는 Opus 5보다 20% 저렴하지만, Opus 5가 받아주던 요청 네 가지에 HTTP 400을 돌려준다. 다섯 번째 변경은 에이전트 진행 상황 스트림을 조용히 끊는다.

Seung Jung그저께
Docker, AI 에이전트 샌드박스를 클라우드로 옮겼다… 시간당 0.07달러부터 초 단위 과금
Developer Tools

Docker, AI 에이전트 샌드박스를 클라우드로 옮겼다… 시간당 0.07달러부터 초 단위 과금

Docker가 마이크로VM 기반 에이전트 격리를 호스팅 컴퓨트로 확장한 Cloud Sandboxes를 내놨다. 시간당 0.07달러부터 초 단위로 과금하고, Kits 규격은 CNCF에 이관한다.

Seung Jung5일 전
OpenRouter, 미국 AI 트래픽에 국경 세웠다… 중국 모델이 물량 주도
Developer Tools

OpenRouter, 미국 AI 트래픽에 국경 세웠다… 중국 모델이 물량 주도

OpenRouter가 미국 리전 내 라우팅을 정식 출시했다. 미국 엔드포인트로 들어온 요청은 복호화부터 처리, 응답까지 전 과정이 미국 안에서 이뤄진다.

Seung Jung15일 전
7개월 만에 에이전트 스킬 100만 개 — 그중 절반은 설치가 단 한 번뿐이었다
Developer Tools

7개월 만에 에이전트 스킬 100만 개 — 그중 절반은 설치가 단 한 번뿐이었다

Vercel의 skills.sh 레지스트리가 7개월 만에 에이전트 스킬 100만 개를 넘겼다. 절반 가까이는 설치가 한 번에 그쳤고, 375개 항목이 전체 설치의 62%를 가져갔다.

Seung Jung4일 전