장고 프레임워크의 공동 창립자인 사이먼 윌리슨은 크리스마스 트리를 장식하고 가족과 함께 영화를 보면서 Codex CLI와 GPT-5.2를 사용하여 에밀 스텐스트룀의 JustHTML(html5lib-tests를 통한 순수 파이썬 코드)을 종속성 없는 순수 자바스크립트 라이브러리로 포팅했습니다. 이 과정에서 9200개가 넘는 html5lib-tests 테스트 케이스를 실행하여 최종적으로 약 9000줄의 코드와 43개의 커밋을 생성했습니다. 그는 전체 과정 동안 약 8개의 프롬프트만 보냈습니다. 물론, 제가 코딩 에이전트나 GPT-5.2가 얼마나 훌륭한지 자랑하려는 건 아닙니다. 단지 이 사례가 코딩 에이전트가 활용하기에 아주 적합하다는 것을 우연히 발견했을 뿐입니다. 코딩 에이전트에게 있어 편안한 영역이란 무엇일까요? 1. 한 언어에서 다른 언어로 번역하기 대규모 언어 모델의 가장 큰 장점 중 하나는 자연어든 프로그래밍 언어든 "복사" 또는 "번역"을 빠르고 정확하게 수행할 수 있다는 점입니다. 따라서 이 경우 파이썬을 자바스크립트로 번역하는 것은 비교적 쉽습니다. 2. 완벽한 테스트 스위트를 갖추고 있습니다. 우리가 매일 코드를 작성하는 방식을 생각해 보세요. 코드 작성을 마치면 테스트를 해야 하고, 문제가 있으면 수정해야 합니다. 만약 이 과정에 UI 테스트처럼 사람의 개입이 필요하다면 매우 비효율적일 것입니다. 하지만 에이전트가 스스로 테스트를 수행할 수 있다면, 테스트 결과를 바탕으로 피드백을 수집하고, 문제가 해결될 때까지 지속적으로 수정하고 보완할 수 있습니다. HTML5 표준에는 html5lib-tests라는 테스트 모음이 있습니다. 이는 언어에 독립적인 테스트 데이터 세트입니다(입력은 HTML이고 출력은 올바른 구문 분석 트리 구조입니다). 이는 마치 인공지능이 수학 문제를 푸는 것과 같습니다. 풀이 과정을 이해하지 못하더라도 정답이 적힌 문제집이 있습니다. 인공지능이 작성한 코드 한 줄 한 줄을 꼼꼼히 검토할 필요 없이(과정), 인공지능이 계산한 결과가 맞는지(결과)만 확인하면 됩니다. 3. 아키텍처는 이미 설계되었으므로 에이전트는 "빈칸만 채우면" 됩니다. 컨텍스트 윈도우 길이의 제한 때문에 에이전트의 각 작업은 매우 긴 컨텍스트를 가질 수 없습니다. 복잡한 프로젝트의 경우 전체 코드베이스를 그대로 옮길 수는 없으므로, 일반적으로 아키텍처 설계에 따라 에이전트의 작업을 더 작은 작업으로 분할하여 컨텍스트 윈도우 내에서 완료할 수 있도록 합니다. 따라서 아키텍처 설계는 실제 프로젝트와 코딩 프로젝트 모두에 매우 중요합니다. 사이먼은 이 프로젝트를 처음부터 설계할 필요가 없었습니다. 에이전트가 해당 파이썬 프로젝트의 API 설계를 참조하도록 하기만 하면 됐습니다. 즉, 아키텍처는 이미 존재했고, AI는 기존 아키텍처를 기반으로 이를 "해석"하기만 하면 됐습니다. 4. 전문가가 운영함 무협 소설에서는 같은 검이라도 고수의 손에서 더욱 강력한 힘을 발휘할 수 있는데, 시몬은 의심할 여지 없이 고수 중의 고수이다. 사이먼의 운영 절차를 참조하십시오. 1) 명세 수립(Spec First): 첫 번째 단계는 코드를 요청하는 것이 아니라, AI에게 기존 파이썬 코드를 제공하고 해당 코드의 자바스크립트 버전을 작성하도록 요청하는 것입니다(명세 문서). 2) 스모크 테스트: AI가 매우 간단한 "Hello World" 수준의 HTML 구문 분석 테스트를 실행하여 링크가 제대로 작동하는지 확인합니다. 3. 루프 테스트: 사이먼은 GitHub Actions를 구성하여 코드가 커밋될 때마다 9,000개 이상의 테스트 케이스가 자동으로 실행되도록 했습니다. - AI가 코드를 작성하고 -> 테스트를 실행하고 -> 오류를 보고하고 -> AI가 오류 로그를 읽고 -> 코드를 수정하고 -> 테스트를 다시 실행합니다. - 결과: 인공지능은 마치 지칠 줄 모르는 프로그래머처럼 140만 개의 토큰을 사용하고 43번의 제출을 반복한 끝에 모든 항목에 녹색 불이 켜졌습니다. 사이먼은 이 과정을 "에이전트 루프 설계"라고 부릅니다. 그래서 이 프로젝트는 에이전트에게 매우 성공적이었습니다. --- 이제 코딩 에이전트의 강점 또는 편안한 영역이 어디에 있는지 알았으므로 개발 과정에서 해당 강점을 최대한 활용할 수 있습니다. 예를 들어 다음과 같습니다. 1. 서둘러 실행하지 마세요. 먼저 따라할 만한 모델이 있는지 살펴보세요. 2. 에이전트가 가능한 한 자체적으로 요구사항을 검증할 수 있도록 하십시오. Chrome 개발자 도구 MCP, Lint, 자동화된 테스트 등과 같은 검증에 필요한 도구를 에이전트에 제공하십시오. 3. 먼저 설계하고, 그 다음에 구현하십시오.
스레드를 불러오는 중
깔끔한 읽기 화면을 위해 X에서 원본 트윗을 가져오고 있어요.
보통 몇 초면 완료되니 잠시만 기다려 주세요.
