-
HTML과 CSS 렌더링이 가능한 브라우저를 단 3일 만에 한 사람과 한 LLM 에이전트가 Rust로 직접 구현
-
외부 Rust 라이브러리 없이 Windows, macOS, Linux에서 동작하도록 설계
- 프로젝트는 약 20,150줄의 코드로 완성되었으며, 스크롤·뒤로가기·헤드리스 모드 등 기본 기능 포함
- 개발 과정은 Codex 에이전트와의 협업으로 진행되어, 사람은 조율과 검증을 담당하고 에이전트는 코드 작성 수행
- 결과적으로 ‘한 사람 + 한 에이전트’ 조합이 다수의 에이전트보다 효율적임을 보여주는 사례로 제시
프로젝트 개요
- 목표는 HTML과 CSS를 렌더링할 수 있는 기본 브라우저를 완전히 새로 만드는 것
- JavaScript는 지원하지 않음
- 개발자는 “재미 삼아” 시작했으며, LLM 에이전트(Codex)와 협업해 진행
-
3일 내 완성, 외부 Rust 의존성 금지, 3대 OS 지원 등의 제약 조건을 설정
- 브라우저는 자체 렌더링 엔진을 갖추고, 스크린샷 기능과 링크 클릭, 회귀 테스트 기능을 포함
Day 1 – 초기 구현
- “Hello World” 렌더링에서 시작해 중첩 태그 처리와 스크린샷 기능을 추가
- HTML/CSS 명세를 정의하고, E2E 테스트를 위해 이미지 비교 기능을 도입
- 하루 만에 X11과 cURL을 이용해 웹사이트를 가져와 렌더링하는 수준까지 도달
- 코드베이스는 약 7,500줄, 모든 파일은 1,000줄 이하 유지
Day 2 – 기능 확장
- 테스트 중 창이 열리는 문제를 해결하기 위해 --headless 모드 추가
-
창 크기 조정, 호환성, 성능, 폰트 렌더링 개선
- 워크플로우는 웹사이트 스크린샷을 공유하고 Codex가 이를 재현하도록 하는 방식
- 대부분의 코드는 에이전트가 작성, 사람은 검토 및 승인 담당
Day 3~4 – 완성 및 크로스플랫폼 지원
-
스크롤, 디버그 로그, 뒤로가기 버튼 등 브라우저 필수 기능 추가
-
macOS와 Windows 지원을 구현하고 테스트 통과
-
CI 통합 및 릴리스 빌드 완료, 총 개발 시간은 약 72시간
결과 및 코드 통계
- 최종 코드베이스는 약 20,150줄, 72개 파일로 구성
- 주요 파일에는 layout, style, platform, browser 모듈 등이 포함
-
Cargo.lock이 비어 있음, 즉 외부 Rust 패키지 없이 완전 독립 실행 가능
- GitHub에서 CI 빌드된 바이너리와 소스 코드를 직접 다운로드 가능
주요 교훈
-
한 사람 + 한 에이전트 조합이 수천 개의 에이전트를 사용하는 것보다 효율적
-
단일 에이전트가 장시간 하나의 코드베이스를 다루며 실질적 진전을 이룰 수 있음
-
여러 사람이 각자 에이전트를 보유한 형태로 확장 가능성 존재
-
속도를 늦추는 것이 오히려 더 빠르고 나은 결과를 낳을 수 있음
-
에이전트를 조종하는 인간의 역할이 시스템 설계보다 더 중요할 수 있음
-
결론적으로, “여러 에이전트를 투입하면 개발이 가속될까?”라는 질문에 대해
단일 인간-에이전트 협업이 더 현실적이고 효율적일 수 있음을 보여주는 사례임