JustHTML을 Python에서 JavaScript로 포팅: Codex CLI와 GPT-5.2로 4.5시간 만에 완성

1 month ago 12

  • 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 코딩 에이전트의 실용적 잠재력을 입증
  • 동시에 법적·윤리적 기준 정립의 필요성오픈소스 협업 방식의 재정의라는 과제를 남김

Read Entire Article