AI 에이전트 시대의 역설: 1명의 시니어와 1개의 에이전트가 수천 개의 에이전트를 이기는 법
최근 AI 업계, 특히 코딩 에이전트(Coding Agent) 씬에서는 “물량 공세”가 정답인 것처럼 여겨지는 분위기가 있었습니다. Cursor 팀이 얼마 전 “수천 개의 에이전트를 병렬로 돌려 브라우저를 만들었다”며 FastRender를 공개했을 때, 많은 사람들이 그 160만 라인(1.6M LOC)이라는 규모에 압도되었죠. 하지만 저는 그 코드를 보며 솔직히 좀 회의적이었습니다. “이게 정말 효율적인가? 유지보수는 가능한가?”
그런데 며칠 전, Hacker News를 뜨겁게 달군 One Human + One Agent = One Browser 프로젝트가 이 질문에 대한 완벽한 대답을 내놓았습니다. 단 3일, 2만 라인의 코드, 그리고 서드파티 라이브러리 0개. 이것이 의미하는 바는 꽤 묵직합니다.
오늘은 이 프로젝트가 왜 Senior Engineer들에게 중요한 시사점을 주는지, 그리고 우리가 AI를 어떻게 다뤄야 하는지에 대해 Deep Dive 해보겠습니다.
미친 제약조건: “No 3rd Party Crates”
이 프로젝트의 시작 조건부터가 아주 흥미롭습니다. 개발자(embedding-shapes)는 자신과 AI 에이전트에게 다음과 같은 제약(Constraints)을 걸었습니다.
- 기간: 단 3일 (72시간)
- 의존성: Rust 서드파티 라이브러리 사용 금지 (Cargo.lock이 비어있어야 함)
- 플랫폼: Windows, macOS, Linux(X11) 지원
- 기능: HTML/CSS 렌더링 (JS 제외)
- 품질: 사람이 읽을 수 있는 코드일 것
Rust 생태계에서 reqwest나 winit, servo 같은 크레이트 없이 브라우저를 만든다는 건, 사실상 OS API(X11, Win32, Cocoa)를 직접 건드려야 한다는 뜻입니다. 주니어 개발자나 일반적인 LLM에게 이걸 시키면 보통 “이건 불가능합니다”라는 답변이 나오거나, 컴파일조차 안 되는 스파게티 코드를 뱉어낼 확률이 99%입니다.
하지만 결과물은 놀라웠습니다. 2만 라인(20K LOC)으로 3개 OS에서 돌아가는 브라우저가 나왔으니까요. Cursor의 FastRender가 160만 라인이었던 것과 비교하면, 거의 1/80 수준의 코드로 더 깔끔한 결과물을 낸 셈입니다.
1 Human + 1 Agent > 1000 Agents
이 프로젝트의 핵심은 Human in the Loop 의 퀄리티입니다. 저자는 수천 개의 에이전트를 방목하는 대신, 단 하나의 에이전트(Codex/GPT-5.2 추정)와 짝 프로그래밍(Pair Programming)을 했습니다.
1. 시각적 피드백 루프 (Visual Feedback Loop)
저자는 에이전트에게 단순히 “브라우저 만들어줘”라고 하지 않았습니다. 대신 다음과 같은 워크플로우를 탔습니다.
- JS가 꺼진 Firefox에서 특정 웹사이트 스크린샷을 찍음.
- 에이전트에게 “이 스크린샷처럼 렌더링되게 기능을 추가해”라고 지시.
- Regression Test를 통해 기존 기능이 망가지지 않았는지 확인.
이 과정에서 에이전트는 HTML/CSS 스펙 문서를 읽지는 않았다고 합니다(재밌는 포인트죠). 대신 이미 학습된 데이터와 시각적 목표를 일치시키는 방식으로 구현해 나갔습니다.
2. 아키텍트로서의 인간
Hacker News 댓글 중 가장 공감 갔던 내용은 “소프트웨어 엔지니어링을 모르면 에이전트가 있어도 소용없다”는 것이었습니다. 저자는 X11이나 Win32 API의 세부 사항을 완벽히 알진 못했더라도, 무엇이 문제이고 어떤 방향으로 가야 하는지(Direction) 를 알고 있었습니다.
에이전트가 엉뚱한 방향으로 가려고 할 때(예: 테스트 코드를 뜯어고치려 할 때), 인간이 개입해서 “아니, 그건 놔두고 구현체를 고쳐”라고 가이드하는 것. 이것이 바로 160만 라인의 쓰레기 코드 대신 2만 라인의 동작하는 코드를 만든 비결입니다.
코드 퀄리티와 비용 효율성
실제 코드를 살펴보면, src/layout/flex.rs 같은 부분은 상당히 읽기 쉽습니다. Rust 특유의 복잡한 라이프타임 관리나 안전성 체크도 에이전트가 꽤 잘 처리했습니다.
$ cloc src --by-file
...
src/layout/flex.rs 96 0 994
src/layout/inline.rs 85 0 933
...
SUM: 2440 365 20150
비용 측면에서도 충격적입니다. 저자는 ChatGPT Pro 플랜($200/월)을 사용했고, 3일간 사용료를 일할 계산하면 약 19 유로(약 2만 8천 원) 정도 들었다고 합니다. 수천만 원의 토큰 비용을 태우는 대규모 에이전트 실험보다 훨씬 경제적이죠.
Senior Engineer의 역할이 바뀐다
이 프로젝트를 보며 제가 느낀 점은 명확합니다. “AI는 지식을 대체하는 게 아니라, 실행(Execution)을 대체한다” 는 것입니다.
과거에는 우리가 epoll 구현이나 Flexbox 알고리즘을 직접 타이핑하는 데 시간을 썼다면, 이제는 그것이 올바르게 설계되었는지 검증하고, 에이전트가 ‘환각(Hallucination)‘에 빠져 이상한 길로 빠지지 않게 핸들링하는 능력이 더 중요해졌습니다.
저자는 블로그에서 이렇게 말합니다.
“One human using one agent seems far more effective than one human using thousands of agents.”
이 문장은 현재 AI 개발 트렌드에 시사하는 바가 큽니다. 무지성으로 에이전트를 늘리는(Scale) 것보다, “Good Taste(좋은 안목)” 를 가진 한 명의 엔지니어가 에이전트라는 강력한 도구를 쥐었을 때의 파괴력이 훨씬 크다는 것이죠.
결론: 은탄환은 없다, 하지만 엑스칼리버는 있다
이 브라우저가 완벽할까요? 당연히 아닙니다. 보안(Security) 감사는 전혀 되어 있지 않고, 폰트 렌더링이나 복잡한 레이아웃은 깨지기도 합니다. 하지만 “3일”과 “No Dependencies”라는 제약 속에서 나온 결과물로는 기적에 가깝습니다.
우리는 지금 과도기에 있습니다. 코딩을 못 해도 AI로 앱을 만들 수 있다는 환상이 있지만, 역설적으로 코딩과 시스템을 깊이 이해하는 사람일수록 AI를 통해 더 격차를 벌릴 수 있는 시대 가 왔습니다.
여러분의 생각은 어떠신가요? 수천 개의 에이전트가 짠 코드와, 한 명의 장인이 AI 조수와 깎은 코드. 저는 주저 없이 후자를 택할 것 같습니다.
References: