---
title: "JustHTML을 Python에서 JS로 포팅하는 데 Codex CLI + GPT-5.2로 4시간 걸림"
published: 2025-12-16T22:48:56.000Z
canonical: https://jeff.news/article/905
---
# JustHTML을 Python에서 JS로 포팅하는 데 Codex CLI + GPT-5.2로 4시간 걸림

Simon Willison이 HTML5 파서 JustHTML을 Codex CLI + GPT-5.2로 Python에서 JS로 포팅. 프롬프트 2개로 시작해 4시간 만에 9,000줄 JS, 9,200개 테스트 통과, 비용 $29.41(Plus 구독으로 무료)

## 뭘 만들었나

- Simon Willison이 Emil Stenström의 JustHTML(표준 준수 HTML5 파서, 순수 Python)을 JavaScript로 포팅한 이야기임. 결과물은 simonw/justjshtml이고 html5lib-tests 9,200개를 통과함
- 프롬프트 2개 + 약간의 후속 지시로 시작해서, GPT-5.2가 Codex CLI에서 몇 시간 동안 혼자 돌아간 거임. 그 사이 Simon은 크리스마스 트리 꾸미고 넷플릭스로 Knives Out 최신작 봤다는 거임
- 최종 결과: JS 9,000줄, 커밋 43개, 토큰 사용량은 입력 1,464,295 + 캐시 97,122,176 + 출력 625,563개

## 비용과 과정

- API 가격 기준 $29.41인데, ChatGPT Plus $20/월 구독에 포함돼서 실제 추가 비용은 0원이었다는 거임
- `codex --yolo -m gpt-5.2`로 실행했는데, --yolo는 `--dangerously-bypass-approvals-and-sandbox`의 별칭임. 이름 그대로 위험한 플래그
- 첫 프롬프트로 Python 코드 읽고 JS API 설계 스펙 작성시킨 다음, 간단한 스모크 테스트 통과하는 Milestone 0.5부터 시작시킴
- "OK do the rest, commit and push often" 한 마디에 나머지 전부 알아서 처리함. GitHub에서 커밋 로그 새로고침하면서 폰으로 진행 상황 모니터링했다는 거임
- ChatGPT Plus의 5시간 토큰 윈도우가 한 번 소진돼서 리셋 후 "Keep going" 입력하고 계속 진행시킴

## 핵심 인사이트와 윤리적 질문

- "문제를 견고한 테스트 스위트로 환원할 수 있으면, 코딩 에이전트 루프를 풀어놓고 높은 확신을 가지고 기다릴 수 있다"는 게 가장 중요한 교훈임
- 이걸 "에이전틱 루프 설계(designing the agentic loop)"라고 부르는데, LLM으로 복잡한 작업을 수행하는 핵심 스킬이라는 거임
- 오픈소스 라이브러리를 영화 보면서 몇 시간 만에 통째로 포팅하는 게 윤리적으로 괜찮은 건지, 저작권은 어떻게 되는 건지, 이렇게 만든 소프트웨어를 프로덕션에서 신뢰할 수 있는 건지 같은 질문들을 던지면서 마무리함
- HTML5 파서가 특히 이 실험에 적합했던 이유는 html5lib-tests라는 포괄적인 테스트 스위트가 이미 존재했기 때문임. 테스트 없이는 이런 식의 에이전트 코딩이 성립하기 어렵다는 거임

## 핵심 포인트

- JustHTML: 표준 준수 HTML5 파서를 Python→JS로 Codex CLI + GPT-5.2로 포팅
- 프롬프트 2개 + 후속 지시 몇 개로 4시간 만에 완료
- 토큰: 입력 1.4M + 캐시 97M + 출력 625K, 비용 $29.41(Plus 구독으로 무료)
- 결과: JS 9,000줄, 테스트 9,200개 통과, 커밋 43개
- 핵심: 견고한 테스트 스위트가 있으면 에이전트 루프를 풀어놓을 수 있음
- 오픈소스 라이브러리의 LLM 포팅에 대한 윤리적 질문 제기

## 인사이트

테스트 스위트의 존재가 에이전트 코딩의 성패를 가른다는 점이 핵심. 코드 생성 비용이 사실상 0에 수렴하면서 오픈소스 생태계에 미치는 윤리적 영향이 새로운 화두.
