3줄 요약

  1. 엔지니어 겸 기술 블로거 댄 루(Dan Luu)는 2026년 10월 24일 발표한 글에서 마이클 말리스(Michael Malis)의 발언을 인용해 코딩 에이전트 시대에는 개발자가 더 야심 찬 소프트웨어를 만들 수 있게 되었다고 설명했다.
  2. 검증 없는 저품질 AI 코드는 흔하지만, 많은 프로그래머는 여전히 과거의 비용 기준으로 판단하여 몇 시간 만에 만들 수 있는 도구나 예전에는 큰 비용이 들던 프로젝트도 시도하기를 주저한다.
  3. 모델의 구현 능력은 자체 검증 능력보다 빠르게 향상되므로, 개발자는 퍼징이나 일관성 검사처럼 적은 시간으로 관리할 수 있는 검증 체계를 설계해야 한다.

pgrust와 저품질 AI 코드에 대한 의구심

마이클 말리스는 오픈소스 데이터베이스 Postgres를 Rust로 재작성하고 성능을 개선하는 프로젝트 pgrust의 개발자다. 그는 올해 초부터 댄 루에게 자신이 만든 소프트웨어를 보여 주며 이렇게 말했다.

우리는 우리가 만드는 소프트웨어에 더 야심 차야 한다.1

뉴스 애그리게이터에 pgrust 이야기가 올라올 때마다 대다수 독자는 이를 코딩 에이전트로 대충 만든 저품질 프로젝트, 이른바 바이브슬롭(vibeslop)으로 취급하며 무시한다. 댄 루 역시 시중에 있는 재작성 프로젝트 대부분이 조악한 수준이기 때문에 이러한 회의적인 반응이 자연스럽다고 본다. 일일이 프로젝트를 뜯어볼 시간이 없는 상태에서 말리스를 개인적으로 알지 못했다면 자신도 똑같이 생각했을 것이라는 설명이다.

그러나 pgrust의 테스트 과정을 조금만 살펴보면 일반적인 저품질 프로젝트와 확연히 다르다. 말리스는 pgrust를 검증하는 과정에서 기존 Postgres 본체의 실제 버그들까지 찾아내 보고하고 있다.

  • 유효한 SP-GiST 공간 인덱스 연산을 실패하게 만드는 수치 계산 버그
  • JSONPath 질의에서 잘못된 결과를 반환하는 포맷 캐시 버그
  • 암호화 확장 모듈 pgcrypto에서 후속 연산 실패를 유발하는 버그
  • 사전 로더(dictionary loader)의 메모리 안전성 결함 다수2
  • 화폐(money) 자료형의 오버플로 버그

말리스는 pgrust를 철저히 테스트하며 Postgres 본체의 버그도 여러 건 찾아냈다.3 프로젝트가 중단돼도 이 과정에서 고친 버그는 Postgres 생태계에 도움이 된다. pgrust의 핵심 목표인 성능 최적화에서도 마찬가지다. 프로젝트가 도중에 멈추더라도 그 과정에서 입증한 최적화 기법들은 Postgres나 ClickHouse 같은 기존 데이터베이스에 반영될 수 있다.

치비 서소영 삽화. 서소영이 하늘색 테두리의 커다란 돋보기로 원통형 데이터베이스 모형들을 살피며, 핀셋으로 작은 태엽 벌레를 집어 표본 병에 담고 있다.

소프트웨어 소비자의 관점에서 보면 요즘은 어디를 둘러보나 느린 소프트웨어를 빠르다고 포장한 엉터리 벤치마크와 작동 불능 상태인 저품질 프로그램이 그 어느 때보다 흔하다. 반대로 소프트웨어를 직접 만드는 개발자의 관점에서는 다른 사람들이 엉터리 결과물을 얼마나 양산하든 상관이 없다. 과거에는 규모가 너무 커서 엄두를 내기 어려웠던 프로젝트라도 테스트와 벤치마킹을 성실히 수행하면 실제로 사용하기에 충분한 품질로 완성할 수 있다. 댄 루는 자신이라면 말리스의 말을 당위인 “야심 차야 한다”보다 가능성인 “야심 찰 수 있다”로 표현했을 것이라고 했다. 핵심은 개발자가 할 수 있는 일의 범위가 크게 확장되었다는 점이라고 정리했다.

에이전트 이전의 비용 모델과 나만의 개발 도구

댄 루는 OpenAI가 5.3-Codex-Spark처럼 빠르지만 품질이 낮은 모델뿐 아니라 최첨단(SOTA) 모델에도 세레브라스(Cerebras)의 초고속 추론 칩을 도입한다는 소식을 들었다. 그는 만약 최첨단 모델의 실행 속도가 지금보다 10~100배 빨라진다면 자신의 컴퓨터에서 전체 작업 시간의 병목이 어디에 생길지 점검했다. 지금도 종종 병목이 되며 모델이 빨라질수록 더 심각해질 구간은 세 가지였다.

  1. 텍스트 검색 도구 ripgrep 실행 시간
  2. Rust 컴파일 시간
  3. 운영체제 시스템 콜 및 파일시스템 오버헤드

다른 사람에게 배포할 제품이라기보다 ‘내 환경에서 내게만 잘 작동하면 되는(works for me)’ 수준을 목표로 삼으면 이 세 가지는 모두 큰 폭으로 개선할 수 있다. 댄 루는 정규표현식과 문자열 탐색 알고리즘, 컴파일러와 인터프리터에 관한 배경지식이 전혀 없었다. 그런데도 한 자릿수에 해당하는 몇 시간의 여가만 투자해 다음 도구들을 직접 만들었다.

병목 영역직접 구현한 해결책효과 및 특징
정규표현식 처리특정 워크로드 맞춤형 정규표현식 엔진자신이 관심 있는 워크로드에 맞춰 조정하면 기존 범용 정규표현식 라이브러리보다 빠르게 작동함
코드 검색위 정규표현식 엔진의 네이티브 코드 컴파일러를 결합한 ripgrep 포크코덱스(Codex) 에이전트의 ripgrep 검색 워크로드 가속 (원칙적으로는 텍스트 인덱스가 더 나은 해법이지만 재미 삼아 진행함)
Rust 빌드 시간자체 Rust 인터프리터 및 빌드 가속 도구Rust 컴파일러 프런트엔드를 직접 포크하지 않고도 콜드 빌드 속도를 50배, 웜 및 캐시 빌드 속도를 2배로 단축함
시스템 콜과 파일시스템개발 환경을 Mac에서 Linux로 전환 및 직접 입출력(Direct I/O) 도구 구상에이전트가 작은 파일 입출력을 대량으로 호출할 때 발생하는 지연을 줄임. 유닉스 표준 파일시스템 API를 우회해 직접 입출력을 쓰는 도구 체인이나 커스텀 OS 계층 구현도 이제는 충분히 가능함

과거였다면 배경지식이 없는 분야에서 이 네 가지 프로젝트를 구현하는 데 1년 이상이 걸렸을 것이다. 물론 상용 제품이나 공개 오픈소스 수준으로 완성하려면 훨씬 많은 노력이 필요하고 과거 대비 단축 비율도 낮아지겠지만, 개인용 도구를 만드는 속도는 극적으로 빨라졌다. 댄 루는 5년 전이었다면 콜드 컴파일을 50배 빠르게 만든 Rust 인터프리터만으로도 별도의 글을 썼을 것이라고 적었다. 이제는 이런 작업이 워낙 쉬워져 별도의 글로 소개할 만큼 특별하게 느끼기도 어렵다는 것이다.

그럼에도 트위터에서는 몇 주 동안 Rust 컴파일 속도가 느려 개발 속도가 제한된다는 불평이 매일같이 올라왔다.4 컴파일이 느리다면 직접 Rust 인터프리터를 작성하거나 컴파일 과정을 가속하면 된다. 유능한 프로그래머들조차 이런 시도를 기피하는 이유는 머릿속에 에이전트 이전 시대의 비용 모델(pre-agentic cost model)을 그대로 유지하고 있기 때문이다.5 10년 전만 해도 컴파일러가 느리다는 이유로 새 컴파일러를 짜는 사람은 소프트웨어를 끝내 출시하지 못하는 사람의 전형이었다. 인디 게임을 만들겠다며 3D 게임 엔진부터 새로 짜는 사람과 같았다. 당시에 형성된 기피 습관이 비용 구조가 바뀐 지금까지도 남아 있는 셈이다.

모델 세대 교체와 구현과 검증 사이의 격차

모델의 능력 향상은 개발 도구 밖의 도메인에서도 빠르게 진행되고 있다. 댄 루는 이전에 보드게임 아줄(Azul)의 AI를 만든 경험을 예로 들었다. 당시 그는 AI에 관한 배경지식이 전혀 없었지만 GPT-5.1과 GPT-5.2를 사용해 약 5시간 만에 아줄 AI를 만들었다. 이 AI는 같은 제한 시간 조건에서 인간 최고수를 이겼다. 약 20시간 만에는 온라인 보드게임 플랫폼 보드게임 아레나(Board Game Arena, BGA)에서 부정행위에 쓰이던 AI를 능가하는 당시 최강 수준의 AI를 완성했다.6

그런데 최근 가브리엘 칸구수(Gabriel Cangussu)는 댄 루가 들인 것보다 훨씬 짧은 시간 만에 댄 루의 아줄 AI를 일방적으로 이기는 새 AI를 만들어 냈다. 두 사람이 대화를 해 보니 핵심 차이는 모델 세대에 있었다.

모델 세대활용 사례논문 구현 및 검증 특성
GPT-5.1 / GPT-5.2댄 루의 아줄(Azul) 보드게임 AI모델이 내놓는 제안이 대부분 틀렸음. 논문이나 코드베이스를 읽혀도 기법을 구현하지 못했고, 사람이 직접 논문을 읽고 기법 이름을 지정해 줘도 겉모습만 비슷한 가짜 코드를 작성해 사람이 배경지식을 공부하며 일일이 교정해야 했음
Fable 5 / Fable 5.1 및 Opus 5.5가브리엘 칸구수의 아줄 AI (단시간에 기존 최강 AI를 압도)보드게임 AI 도메인을 훨씬 정확히 이해함. 참고할 코드베이스와 논문을 스스로 골라내고 논문의 기법을 실제로 작동하게 구현하여 비전문가의 검증 시간을 크게 줄여 줌
GPT-5.6 Sol (medium, xhigh)zstd 압축 알고리즘 구현 및 에이전트 테스트 기법 평가zstd는 테스트 기법 비교용 과제로 적절했으나, IMAP RFC 구현처럼 복잡한 과제는 효과적으로 수행하지 못함
GPT-6 Astrazstd 재평가, IMAP RFC 및 문서 변환기 Pandoc 구현성능을 저해하는 TDD 조건을 포함해 모든 조건에서 zstd 등록 테스트를 99% 이상 확률로 통과함(구현 비용 약 1달러). 변별력을 위해 IMAP RFC와 수십 종의 입출력 포맷을 다루는 Pandoc으로 평가 과제를 높여야 했음7

최신 모델이 한 번의 지시(one-shot)만으로 끝낼 수 있는 과제는 분명히 늘어났다. 세간에서는 새 모델을 쓰면 모든 것이 한 번에 작동하고 소프트웨어 개발의 모든 문제가 사라졌다는 주장도 나온다. 그러나 댄 루는 이 주장에 동의하지 못한다. 모델이 쉽게 해내는 일이 늘어날수록 개발자는 모델이 여전히 힘겨워하는 더 어렵고 야심 찬 과제로 목표를 높이기 때문이다.8

댄 루는 생산성과 작업 속도는 높아졌지만, 새 모델이 나올 때마다 별도 개입 없이 ‘그냥 알아서 작동하는(it just works)’ 소프트웨어를 만들기는 도리어 더 어려워졌다고 말한다. 모델이 사람의 세심한 개입 없이 스스로 검증할 수 있는 능력보다 모델이 일단 구현해 낼 수 있는 능력이 더 빠르게 향상되면서 두 능력 사이의 차이가 계속 커지고 있기 때문이다.9

치비 서소영 삽화. 태엽 로봇이 블록을 빠르게 쌓으며 긴 다리를 만들어 달려 나가고, 서소영이 그 뒤를 따라가며 하늘색 추와 자로 흔들리는 블록의 수평을 꼼꼼히 재고 있다.

부록 1: 야심을 줄여야 한다는 반론과 자체 검증 체계

댄 루는 원고 초안을 읽은 요시 크레이닌(Yossi Kreinin)이 보내온 반론을 허락을 얻어 부록에 전문 인용했다. 크레이닌의 요지는 대부분의 개발자가 AI로 소프트웨어를 만들 때 반대로 야심을 줄여야 처참한 실패를 피할 수 있다는 것이다.

많은 문제는 합격과 불합격 기준이 명확하지 않아서 에이전트 루프(agentic loops)에 적합하지 못하다. 설령 기준이 명확하더라도, 내부 구조를 이해하지 못하는 거대한 블랙박스에 제약 조건만 걸어서 추론하는 일은 나 자신을 포함해 대다수 사람에게 매우 어렵다. 이는 마이크로서비스와 비슷하다. 소수의 사람에게는 마이크로서비스가 실제로 필요하고 그들은 이를 아주 잘 다루지만, 대다수 사람은 그만큼 필요하지도 않고 제대로 다루지도 못한다.

“소프트웨어가 느릴 이유가 없다”는 주장에 대해서도 비슷한 생각이다. AI를 시켜 특정 실행 흐름을 빠르게 만들면, 테스트한 사례에만 과적합(overfit)된 지저분한 코드가 잔뜩 추가되기 십상이다. 이런 코드는 다른 사용 사례에서도 같은 성능을 내기 어렵고, 향후 변경할 때 유지보수도 불가능해지기 쉽다. 시스템을 어떻게 분해하고 어느 부분을 집중 최적화하며 어떻게 벤치마킹할지 정확히 아는 사람에게 AI는 훌륭한 도구다. 그러나 관리자가 그저 “소프트웨어가 느릴 이유가 없다”고 믿으며 팀원들에게 AI로 아무 부분이나 빠르게 만들라고 압박한다면 당장 대피해야 한다.

댄 루는 크레이닌의 지적에 공감하면서도 두 가지 근거로 자신의 원래 입장을 유지한다.

첫째는 암달의 법칙(Amdahl’s law)과 과제의 선택이다. AI가 생산성을 100배, 1000배 높여 준다는 통념과 달리, 실제로는 백만 배 이상 빨라지는 작업과 속도가 그대로인 작업이 공존한다. 만약 5년 전에 하던 작업을 정확히 똑같은 방식으로 AI와 함께 수행한다면 속도 향상 폭은 매우 작다. 암달의 법칙에 따라, 속도가 그대로인 작업에 필요한 시간이 전체 소요 시간을 제약하기 때문이다. 생산성을 크게 높이려면 무엇을 가속할지 스스로 선택해야 하며, 그 대상은 대개 과거에는 비용이 너무 많이 들어 시도조차 하지 않았던 일들이다.

둘째는 부분적인 자체 검증(self-checking) 체계의 구축 가능성이다. 언뜻 보기에 명확한 정답 기준이 없어 에이전트에게 맡기기 부적합해 보이는 문제라도, 사람이 적은 시간을 들여 자체 검증 구조를 설계할 수 있는 경우가 많다. 댄 루는 보드게임 《가즈 오브 아틀란티스 2(Guards of Atlantis 2)》의 규칙 구현을 사례로 든다. 이 게임의 공식 규칙서에는 모호하고 서로 모순되는 영어 문장이 많다. 인간 플레이어들이 가장 자주 규칙을 틀리는 게임으로 꼽히며, 게임 디자이너조차 규칙이 완벽히 명확하다고 주장하면서 자신의 해석을 수시로 바꾸곤 했다.

이처럼 혼란스러운 규칙서를 단순한 방식으로 AI에 입력하면 제대로 된 구현을 얻을 수 없다. 대신 댄 루는 서로 상충하는 규칙 설명에 일관성 검사(consistency checks)를 적용하는 자동 검증 환경을 만들었다. 이 환경을 활용해 실제 정답과 상당히 일치하는 규칙 체계를 도출한 뒤, 다른 사람이 수작업으로 만든 구현체와 교차 비교해 정상 작동하는 규칙을 완성했다. 그는 이 작업에 GPT-5.1과 GPT-5.2를 사용해 월 200달러짜리 OpenAI 구독 계정의 한두 달 치 토큰을 소비했다. 이 토큰 비용은 모순 없는 규칙 명세서를 처음부터 직접 작성할 때 드는 인건비보다 훨씬 적었다.

치비 서소영 삽화. 서소영이 낮은 원탁 앞에 앉아 작은 게임판과 엉킨 두루마리 규칙서 조각들을 펼쳐 놓고, 하늘색 실로 퍼즐 조각들을 연결해 어긋난 조각이 저절로 튀어나오게 만들고 있다.

댄 루는 이 상황이 코딩 에이전트 등장 이전의 소프트웨어 테스트 논쟁과 판박이라고 본다. 과거에 그는 퍼징(fuzzing)과 속성 기반 테스트(property-based testing)가 매우 효과적이라고 주장할 때마다 거의 모든 도메인의 개발자들로부터 “우리 분야에는 그 기법이 통하기 어렵다”는 반박을 들었다. 하지만 그가 사람들이 불가능하다고 말했던 모든 도메인에 퍼징과 속성 기반 테스트를 직접 적용하자, 두 기법은 훨씬 효율적이고 효과적으로 작동했다. 전통적인 단위 테스트를 작성할 때보다 초기 설계에 약간의 노력이 더 필요했을 뿐이다. 물론 업계 전반에서는 버그가 급증했다. 댄 루는 최근 대형 AI 연구소의 웹 채팅창을 사용한 지 1분 만에 두 자릿수의 버그를 발견했다. 대다수 사람이 이런 검증 체계를 갖추지 못한다는 크레이닌의 지적도 타당하다. 그렇더라도 남들이 간신히 돌아가는 조악한 코드를 양산한다고 해서 자신까지 그럴 필요는 없다는 것이 댄 루의 결론이다.

부록 2: 일회성 개인 도구, 게임 제작, 정형 검증 사례

두 번째 부록에서 댄 루는 본문에서 다룬 개발 도구 외에도 자신과 주변 엔지니어들이 여가 시간에 만든 다양한 사례와 함께, 도구 제작에 과도하게 몰입할 때의 한계를 정리했다.

먼저 모델과 하네스의 능력이 몇 달 단위로 급변하기 때문에, 3개월 뒤면 쓸모없어질 도구에 지나치게 많은 시간을 쏟는 것은 비합리적이다. 스티브 예기(Steve Yegge)는 자신이 만든 에이전트 프레임워크 Gas Town의 생산성을 여러 차례 글로 소개했다. 그러나 다음 프레임워크를 만들 때는 Gas Town으로 성공적으로 만든 소프트웨어가 Gas Town뿐이었다고 시인했다. 한때 유행했던 Ralph Loops(한 턴이 끝날 때마다 무조건 컨텍스트를 초기화하는 루프 방식) 역시 댄 루가 직접 비교해 본 결과, 문맥을 유지하다가 필요한 시점에 적절히 비우는 단순한 기본 루프보다 성능이 떨어졌다.

분야제작자 및 사례과거에 만들지 않았던 이유와 현재의 변화
일회성 개발 보조 도구스티브 예기의 Gas Town, 댄 루의 코덱스 재시작 도구 및 Rust 인터프리터모델 변화와 연구소 자체 해결로 수명이 짧음
개인용 틈새 게임댄 루의 《스타 울프(Star Wolf)》 기반 잠수함식 우주 전투 게임, 《스카우트(Scout)》 및 《가즈 오브 아틀란티스 2》 온라인 구현데이비드 제럴드의 1990년대 소설 속 잠수함전 스타일 우주 전투는 너무 마이너해 상업성이 없고, 1~2시간 즐기자고 10~20시간 동안 코딩할 수는 없었음. 이제는 에이전트에 지시하는 5분만 투자하면 즐길 수 있음
에디터 맞춤형 포매터피터 지오건(Peter Geoghegan)의 Neovim C 코드 부분 포매팅 Lua 함수Lua 지식 없이 선택 영역 C 포매팅 구현
정형 검증 (Formal Verification)마이클 말리스의 pgrust 검증 도구 전환 (Kani → Lean 4)모델 체커 Kani로 검증하기에 너무 복잡한 코드 성질을 정리 증명기 Lean으로 증명함
기업 내부 도구 및 개인 유틸리티앤트로픽 7인 팀의 사내 GitHub 대체재(Scion)와 코드 리뷰 도구(Antique), 데이비드 터너의 팟캐스트 스키퍼앤트로픽은 5개월 만에 7명이 관련 시스템 대여섯 개를 구축해 완전 이전함. 개인 차원에서도 기성품보다 내게 더 잘 맞는 소형 도구를 여가 시간에 즉시 제작함

나아가 개인이 만든 보조 도구 상당수는 조만간 AI 연구소가 직접 개선해 쓸모없어질 가능성이 높다. 예를 들어 댄 루는 GPT-5.6 Sol 출시 이후 코덱스에서 메모리 누수가 발생할 때마다 프로세스를 재시작해 주는 도구를 만들어 유용하게 썼지만, 이는 OpenAI가 버그를 고치면 사라질 도구다. OpenAI는 자사 코딩 에이전트의 체감 속도를 제약하는 Rust 컴파일 병목도 연구소 차원에서 직접 개선할 공산이 크다. 그러면 앞서 언급한 개인용 Rust 인터프리터 역시 쓸모없어질 가능성이 높다.10

반면 연구소가 대신 만들어 주지 않을 개인 용도의 소프트웨어는 개발자가 직접 만든다. 예전에는 비용 때문에 포기했던 작업도 이제 시도할 수 있다. Postgres 커미터인 피터 지오건이 들려준 Neovim 포매터 일화는 사람이 직접 유지보수하기에는 타산이 맞지 않던 소프트웨어를 어떻게 만드는지 구체적으로 설명한다. 그는 자신이 수정한 패치 영역만 블록 비주얼 모드로 선택해 포매팅하고 싶었다. 그러나 clang-format만으로는 pgindent 규칙을 완벽히 맞출 수 없었고, pgindent는 파일 전체만 처리했다. 그가 Fable을 시켜 만든 Lua 함수는 세 단계로 작동하는 복잡한 ‘골드버그 장치’다.

  1. clang-format/clangd로 1차 포매팅 패스를 돌린 뒤 pgindent로 2차 포매팅 패스를 수행한다.
  2. 사용자가 처음 선택한 줄 범위는 C 추상 구문 트리(AST) 요소와 정확히 대응하지 못한다. 따라서 tree-sitter로 덮어쓸 코드의 정확한 범위를 계산해 임시 전체 파일 버퍼에서 추출한 뒤 원래 작업 버퍼에 덮어쓴다.
  3. 새 구조체(struct)를 추가할 때마다 전체 Postgres 바이너리에 objdump를 다시 실행하면 지연 시간이 급증한다. 이를 피하려고 clangd에서 해당 파일의 추가 typedef만 동적으로 생성해 pgindent에 전달한다.

지오건은 자신이 Lua를 전혀 모르고 이 함수가 내부적으로 어떻게 돌아가는지 어렴풋이만 이해하고 있지만, 지연 시간도 충분히 짧고 완벽하게 작동한다고 밝혔다. 그는 서비스형 소프트웨어(SaaS)의 종말론에는 회의적이다. 그러나 사람이 직접 유지보수하기에는 효용에 비해 수고가 너무 커 경제성이 없던 특수 소프트웨어도 있다. 그는 이런 소프트웨어를 만드는 데 대규모 언어 모델이 이미 매우 유용한 코드를 작성하고 있다고 평가했다.

치비 서소영 삽화. 서소영이 톱니바퀴와 깔때기, 도르래가 복잡하게 연결된 작은 기계 장치에 비뚤어진 두루마리 문서를 넣자 반대쪽 출구로 반듯하게 정렬된 문서가 나오는 모습을 흐뭇하게 바라보고 있다.

가장 흥미로운 지점

나는 이 글에서 댄 루의 관찰과 피터 지오건의 Neovim Lua 포매터 사례를 함께 읽으며 특히 주목했다. 댄 루는 모델이 발전할수록 ‘그냥 알아서 작동하는’ 경우가 도리어 줄어든다고 관찰했다. 언뜻 보면 두 이야기는 서로 다른 말을 하는 것처럼 들린다. 댄 루의 관찰에 따르면 모델의 구현 능력과 자체 검증 능력의 차이가 커져 사람이 더 신경 써야 한다. 한편 지오건은 Lua를 한 줄도 모르고 내부 작동도 잘 모르는 골드버그 장치를 만들어 매일 쾌적하게 사용한다.

이 두 사례를 구분하는 기준은 오류의 파급 범위와 검증 비용이다. 지오건의 포매터는 설령 드문 예외 상황에서 오작동하더라도 눈앞의 에디터 버퍼에서 즉시 티가 나고 최종적으로는 Postgres CI의 pgindent 검사가 걸러 준다. 다시 말해 기존 워크플로 자체가 이미 완벽한 자동 검증기 역할을 하고 있기 때문에 내부가 아무리 복잡한 블랙박스여도 사용자가 부담할 위험이 없다. 반대로 pgrust나 《가즈 오브 아틀란티스 2》 같은 대규모 시스템은 정답 기준이 자명하지 않다. 이런 시스템에서 개발자의 핵심 역량은 코드 한 줄을 직접 짜는 대신, 그럴듯하지만 잘못된 모델의 구현을 검출할 체계를 얼마나 영리하게 설계하느냐에 있다. 기존 Postgres 테스트 스위트와 Lean 4 증명기, 모순된 규칙서들 사이의 일관성 검사가 그 예다.

출처

Dan Luu, “We should be more ambitious with the software we build”, 2026-10-24 원문: https://danluu.com/ambitious/

치비 서소영 삽화 다섯 장은 「느낌적인 느낌을 숫자로 옮기는 일」의 치비 서소영 라인아트를 참조해 gpt-image-2.5-flare로 따로 생성했다.


  1. 댄 루는 이 글에서 ‘야심 차다(ambitious)’는 표현을 예전보다 더 많은 일을 해낸다는 포괄적인 의미로 사용한다. 과거에는 규모가 너무 커서 현실적으로 시도하기 어려웠던 프로젝트를 구축하는 일과, 기술적으로는 가능했지만 들일 시간 대비 효용이 부족해 포기하던 초특화 개인 도구를 만드는 일은 성격이 다르다. 두 경우 모두 소프트웨어 제작이 훨씬 쉬워졌다는 단일한 변화에서 비롯된다. ↩︎

  2. 알렉스 콜로브스키(Alex Kolovsky)는 사전 로더의 메모리 안전성 문제가 Postgres에서는 공식 버그로 분류되지 못했다고 보충했다. 댄 루는 보안 관점의 반론을 이해하면서도, 자신이 맡았던 프로젝트에서는 이런 유형의 문제를 모두 제거해 코드를 깨끗하게 유지해야 실제 버그를 찾기가 훨씬 수월했다고 설명했다. ↩︎

  3. 물론 pgrust 자체에 버그가 전혀 없다는 뜻은 아니다. 댄 루가 말리스를 신뢰하는 주된 이유는 그가 전형적인 스타트업 창업자들과 달리 자신의 결과물을 과장하는 일을 피하기 때문이다. 2026년 9월 17일 pgrust 디스코드에서 상용 데이터베이스 도입 가능성을 묻는 질문에 말리스는 “오늘 당장 주력 상용 데이터베이스로 쓰는 것은 권하기 어렵다”고 답했다. 최근 불거진 pgrust의 ClickHouse 벤치마크 논란(해커뉴스 50205816번 스레드)에서도 악의적인 조작 혐의는 근거가 없는 것으로 확인되었으며, 프리뷰 버전을 벤치마크에 성급하게 제출했다는 비판은 말리스 본인이 인정했다. 말리스는 0.4-beta 버전의 한계도 투명하게 공개하고 있다. 새 쿼리 엔진을 대규모 분석(OLAP) 워크로드 위주로 최적화하면서 매우 빠르던 단순 질의의 성능은 이전보다 나빠졌고, 복잡한 질의 일부는 아직 지원하지 못한다. 댄 루는 과거 데이터 손상 문제를 수년간 부인했던 MongoDB나 실제보다 수백 배 과장한 초당 질의 수(QPS)를 웹사이트에 게시했던 데이터베이스 스타트업 지인의 사례를 들었다. 그러면서 말리스처럼 한계를 정직하게 공개하는 태도가 드물다고 평가했다. ↩︎

  4. 댄 루는 트위터에서 불평이 한창 올라오던 시점에는 아직 5.6 Sol과 6 Astra가 세레브라스 칩에서 제공되기 전이었고, 실제 작업 시간을 측정해 보면 당시에는 Rust 컴파일 시간이 그렇게 큰 병목이 아니었다고 덧붙인다. ↩︎

  5. 보충 각주에서 댄 루는 토머스 프타첵(Thomas Ptacek)의 말을 인용한다. “지난 1년 동안 기술 업계에서는 100년 치 일이 한꺼번에 일어난 것 같았다. 개인용 컴퓨터가 등장한 이래 누구도 겪어 보지 못한 방식으로 업계가 흔들리고 있다. AI가 마주치는 한계는 한 달 안에 무너진다. 오늘날 우리가 최첨단 모델로 하는 모든 일을 몇 년 뒤에는 즉각적으로, 그리고 무료로 하게 될 것이다.” 댄 루는 변화가 워낙 빨라 프로그래머조차 현재 무엇이 가능한지 정확히 모를 때가 많다고 지적했다. 일반 사용자는 구글 검색 상단의 AI 요약이나 오피스 제품군에 통합된 구형 코파일럿만 접하기도 한다. 이런 일반 사용자부터 연구소 외부 개발자에 이르기까지 심각한 정보 격차(information gradient)가 존재한다는 설명이다. ↩︎

  6. 댄 루는 과거 글에서 코딩 에이전트 발전으로 온라인 게임의 부정행위가 급증할 것이라고 예측했는데 실제로 그 일이 일어났다. 보드게임 아레나에서 가장 인기 있는 게임인 아줄의 지난 시즌 상위 10명 가운데 1위를 포함한 3명을 부정행위자(cheater)가 차지했다. 댄 루는 이 현상이 AI가 초래할 수 있는 피해 중에서는 비교적 가벼운 편이지만, 사람들이 더 야심 찬 소프트웨어를 만들고 있음을 입증하는 정량적 사례라고 언급했다. ↩︎

  7. Pandoc은 마크다운, HTML, LaTeX, Word(docx), EPUB, Jupyter 노트북(ipynb), Typst, MediaWiki 등 49종의 입력 포맷과 PDF, 프레젠테이션(pptx, revealjs, beamer), JATS, ICML 등 65종의 출력 포맷을 상호 변환해야 하는 대규모 소프트웨어다. ↩︎

  8. 이 때문에 공개된 AI 벤치마크(public evals)는 모델을 적극적으로 쓰는 프로그래머들에게 큰 의미를 주지 못한다. 실무 개발자에게 중요한 것은 모델이 혼자 쉽게 끝내는 단순 과제의 점수라기보다, 여전히 사람의 안내와 개입이 필요한 어려운 과제에서 모델이 얼마나 잘 작동하느냐이기 때문이다. ↩︎

  9. 댄 루는 머지않은 미래에 자신이 가진 소프트웨어 기술 대부분이 무용지물이 될 수도 있겠지만 아직은 그 단계에 이르지 못했다고 본다. 현재로서는 모델이 대체하고 있는 프로그래밍 기술을 직접 보유한 사람이 그렇지 않은 사람보다 모델을 훨씬 효과적으로 다루며, 프로그래밍 역량의 지렛대 효과가 역사상 가장 높은 시점이다. 그는 맥스 비트커(Max Bittker)의 비유를 빌려 “모델은 정교한 위조지폐를 만드는 데 매우 능숙하며, 모델이 발전할수록 위조품과 진품을 가려내는 데 필요한 전문성의 수준도 함께 높아지고 있다”고 설명했다. ↩︎

  10. 개인 차원에서는 토큰 예산 제약과 향후 버전 업데이트 추적 부담 때문에 Rust 컴파일러(rustc) 프런트엔드를 직접 수정하는 대신 우회 방식을 택했다. OpenAI는 코덱스의 체감 속도를 높이려고 세레브라스(Cerebras)를 독점 확보하고 앤트로픽의 접근을 차단하는 데 100억 달러 이상을 투자했다. 댄 루는 OpenAI라면 그 비용의 0.001%만 들여서라도 공식 rustc 인터프리터나 크레이트 단위 증분 재컴파일 기능을 직접 구현할 만하다고 본다. ↩︎