-
HTML5 파서 JustHTML을 Python에서 JavaScript로 완전 포팅한 사례로, Codex CLI와 GPT-5.2를 이용해 약 4.5시간 만에 구현
- 새 라이브러리 JustJSHTML은 의존성 없는 HTML5 파서로, html5lib-tests의 9,200개 테스트를 통과하며 원본 API 설계를 그대로 재현
- 전체 과정은 8개의 프롬프트와 몇 차례의 후속 명령으로 진행되었고, GPT-5.2가 9,000줄의 코드와 43개의 커밋을 자동 생성
- 프로젝트는 자동 커밋·테스트·문서화·플레이그라운드 페이지 생성까지 포함해 완전한 오픈소스 형태로 완성
- 이번 실험은 LLM 기반 코딩 에이전트의 실질적 생산성과 함께, 저작권·윤리·신뢰성 문제를 새롭게 제기
프로젝트 개요
-
JustHTML은 Emil Stenström이 개발한 표준 준수 HTML5 파서로, Python으로 작성되어 html5lib-tests 전체를 통과하는 구현체
- html5lib-tests는 HTML5 파서 간 상호운용성 테스트의 표준으로, Servo의 html5ever 등 다양한 프로젝트에서 사용
- Simon Willison은 이 프로젝트를 JavaScript로 직접 포팅하기로 결정, Codex CLI와 GPT-5.2를 활용해 최소한의 수작업으로 진행
- 결과물 JustJSHTML은 브라우저와 Node.js 환경 모두에서 동작하며, 외부 의존성 없이 순수 JavaScript로 작성
개발 과정
- 로컬 환경에서 justhtml, html5lib-tests 저장소를 클론하고, 새 디렉터리 justjshtml을 생성
- Codex CLI를 --yolo 옵션(승인 및 샌드박스 우회)으로 실행해 GPT-5.2 모델을 구동
- 첫 프롬프트에서 기존 Python 코드를 분석해 새 JavaScript API 명세(spec.md) 를 작성하도록 지시
- 초기 단계(Milestone 0.5)로 간단한 HTML 문서 파싱 테스트를 통과하는 버전 구현
- 이후 단계별로 “Implement Milestone 0.5”, “** commit and push often**” 등의 명령을 통해 자동 개발 진행
- GitHub Actions를 설정해 모든 커밋마다 테스트 실행
- 총 43개의 커밋, 9,000줄 코드, 9,200개 테스트 통과 결과 생성
결과 및 산출물
- Codex CLI는 총 2,089,858개의 토큰을 사용했으며, ChatGPT Plus 월 구독 내에서 추가 비용 없이 수행
- 완성된 라이브러리는 다음 기능 포함
-
stream() , query()/matches() , toMarkdown() 등 API 확장
-
no-deps 단위 테스트 스크립트 및 CI 통합
-
<br> 태그 처리 오류 수정 등 세부 버그 해결
-
playground.html을 자동 생성해 브라우저에서 직접 테스트 가능
-
README.md에는 사용법, 빌드 과정, Node.js 및 HTML 환경 예시 포함
LLM 활용의 시사점
-
GPT-5.2는 수백 회의 도구 호출과 수시간의 연속 작업을 최소 감독으로 완수
-
테스트 주도형 문제 정의가 가능할 경우, 코딩 에이전트가 자율적으로 완성도 높은 코드를 생성 가능
-
언어 간 포팅과 같은 구조적 작업은 LLM이 매우 효율적으로 수행
- 코드 생성 비용이 사실상 ‘거의 무료’ 수준으로 하락, 단 검증된 코드 유지 비용은 여전히 존재
제기된 윤리적·법적 질문
- Rust 및 Python 원본 코드의 저작권 침해 여부
- LLM이 생성한 코드의 저작권 귀속 문제
- 이러한 방식의 개발이 오픈소스 생태계에 미치는 영향
-
자동 생성 코드의 신뢰성과 프로덕션 사용의 책임성
- 인간 전문가가 수개월간 개발한 코드와의 품질 비교 가능성
결론
- 이번 사례는 프로그래밍 자동화의 새로운 단계를 보여주며, AI 코딩 에이전트의 실용적 잠재력을 입증
- 동시에 법적·윤리적 기준 정립의 필요성과 오픈소스 협업 방식의 재정의라는 과제를 남김