← 「운수 좋은 날」 설명 페이지로

Karpathy의 원문

Andrej Karpathy가 2026년 8월 2일에 올린 트윗과, 그 아래 답글에서만 드러난 사실들. 이 프로젝트는 이 실험의 한국판 재현이다.

트윗 전문

ORIGINAL — 1 / 3 We're starting to leave the territory where you'd test an LLM by e.g. "create an svg of pelican on a bicycle". As one idea to generalize it, I was interested what Opus 5 would do if I gave it the first paragraph of the Lord of the Rings, a 1M token budget (~$10) and asked for three js render of it. Opus went off for ~2 hours and wrote 5500 lines of code that (procedurally) rendered the story. It's kind of janky but fun. But it's a bit mindboggling that the LLM has to place and orchestrate various polygon assets in (x,y,z) coordinates and write code that animates it all, and that it even does anything at all.
번역 이제 "자전거 탄 펠리컨 SVG 그려봐" 같은 걸로 LLM을 테스트하던 영역을 벗어나기 시작했다. 이걸 일반화해볼 아이디어로, Opus 5에게 반지의 제왕 첫 문단과 100만 토큰 예산(약 $10)을 주고 three.js로 렌더링해보라고 하면 뭘 할지 궁금했다. Opus는 약 2시간 동안 돌면서 5,500줄의 코드를 써서 그 이야기를 (절차적으로) 렌더링했다. 좀 조잡하지만 재밌다. 그런데 LLM이 다양한 폴리곤 에셋을 (x,y,z) 좌표에 배치·조율하고 그걸 전부 애니메이션하는 코드를 써야 한다는 것, 그리고 그게 어쨌든 작동은 한다는 게 좀 얼떨떨하다.
ORIGINAL — 2 / 3 I also like this kind of examples because no one in their right mind would ever spend the time to write something this custom but LLMs have all the stamina and patience in the world, so it's an example where we go from "no one would ever do this" to "sure, why not, it's ~free". There might be a lot more. But I'm excited about creating hyper custom worlds that you can imagine dropping players into, e.g. here to participate in the LoTR story as a spectator NPC, or one of the characters, or etc. Something like an ephemeral GTA of X on demand.
번역 이런 예시가 좋은 이유는 — 제정신인 사람이라면 아무도 이렇게 커스텀한 걸 만드느라 시간을 쓰지 않을 텐데, LLM은 세상의 모든 끈기와 인내심을 갖고 있다는 점이다. 그래서 "아무도 이런 건 안 해"에서 "뭐, 왜 안 해, 거의 공짜인데"로 넘어가는 사례다. 이런 게 훨씬 더 많이 있을 것 같다. 나는 플레이어를 떨궈 넣을 수 있는 초-커스텀 세계를 만드는 데 흥분된다. 예를 들어 여기서 LoTR 이야기에 구경꾼 NPC로, 혹은 등장인물 중 하나로 참여하는 식으로. 일종의 "주문형 일회용 GTA of X" 같은 것.
ORIGINAL — 3 / 3 Last thought is that the domain of worlds/games exposes a weakness in LLMs: they can't easily audit their work because they aren't able to efficiently and natively perceive videos or play games within them. Here, Opus 5 had to very slowly and painstakingly take screenshots at different points, and it messed up a few times and created a bunch of jank. An example of raw capability (multimodal, gameplay) that I think is still quite lacking.
번역 마지막 생각은, 월드/게임이라는 도메인이 LLM의 약점을 드러낸다는 것이다. LLM은 자기 작업물을 감사(audit)하기 어렵다. 영상을 효율적·네이티브하게 지각하지 못하고, 그 안에서 게임을 플레이하지도 못하기 때문이다. 여기서 Opus 5는 여러 시점에서 아주 느리고 고통스럽게 스크린샷을 찍어야 했고, 몇 번 망쳤고 조잡한 부분을 잔뜩 만들었다. 아직 상당히 부족한 원천 역량(멀티모달·게임플레이)의 한 예다.

그가 짚은 핵심 4가지

  1. 원샷 평가는 수명이 끝나간다 "펠리컨 SVG" 류의 한 방 테스트는 이미 모든 프런티어 모델이 통과한다. 평가는 장기(long-horizon) 에이전트 작업으로 옮겨간다.
  2. LLM은 무한한 끈기를 가진다 "아무도 안 할 일"이 "$10이면 하지 뭐"가 된다. 경제성이 뒤집히는 지점이다.
  3. 초-커스텀 일회용 세계 주문형으로 만들어지고 버려지는 세계 — ephemeral GTA of X. 콘텐츠 생산의 한계비용이 0으로 간다.
  4. 검증(audit)이 병목이다 LLM은 영상을 지각하지도, 게임을 플레이하지도 못한다. 스크린샷으로 더듬을 수밖에 없고, 그래서 조잡함이 남는다.

답글에서만 나온 것

트윗 본문에는 없고, Karpathy가 답글로만 밝힌 세 가지. 재현할 때 결정적으로 중요했다.

오디오는 LLM이 만든 게 아니다

@cunkpyber — "wait how did you put audio? Did opus created ausio??"

"Eleven Labs for the audio. LLMs can easily use the APIs (here I did that part manually because I felt picky about the voice)."

오디오는 Eleven Labs를 썼다. LLM이 그 API 정도는 쉽게 쓸 수 있지만, 여기서는 목소리에 좀 까다롭게 굴고 싶어서 그 부분은 내가 수동으로 했다.

나레이션은 Opus의 산출물이 아니라 Karpathy 본인이 ElevenLabs로 직접 고르고 만든 것이다. 이 실험은 LLM 단독 산출물이 아니라 사람이 개입한 하이브리드다.

three.js 공식계정의 지적을 다시 Opus에 먹였다

@threejs — "We need to teach the AI to use instanced meshes whenever possible... 👀"

"I was curious and gave your feedback to Opus. TIL!"

궁금해서 너희 피드백을 Opus한테 그대로 줘봤다. 오늘 새로 배웠다(TIL)!

1회성 생성이 아니라 외부 피드백을 다시 모델에 먹이는 반복 개선 루프가 최소 한 번 돌았다. 실제로 공개 소스에서 InstancedMesh가 쓰인 곳은 밀밭·잔디·동전더미 단 네 군데뿐이고, 마을의 집 18채와 나무 70그루는 전부 개별 메시다.

다음 단계 구상 — 절차적 코드로 스토리보드, video-to-video로 텍스처링

@rainisto — 이걸 Seedance의 레퍼런스 영상으로 먹여서 더 높은 완성도로 다시 렌더링하면 흥미롭겠다

"agree!! i quite like the idea of procedural code for storyboarding and control, and then video to video models for texturing and looksmaxxing."

동의!! 절차적 코드로 스토리보드와 컨트롤(카메라·타이밍·배치)을 잡고, 그다음 video-to-video 모델로 텍스처링과 룩스맥싱을 하는 아이디어가 꽤 마음에 든다.

three.js 결과물을 최종본이 아니라 제어 가능한 초안(storyboard)으로 취급하는 2단계 파이프라인 구상이다.

트윗 vs 실제 소스

Karpathy가 공개한 소스(karpathy.ai/lotr-movie)를 직접 읽고 센 값은 트윗의 숫자와 조금 다르다. 코드는 5,500줄이 아니라 6,933줄(three.js 벤더 제외), 러닝타임은 92.63초, 구성은 9 시퀀스 / 34 샷이다. 의존성은 three.js 하나뿐이고 외부 에셋은 정말로 0개다. 앰비언스(바람·비·군중·천둥)는 파일이 아니라 WebAudio로 실시간 합성된다.

출처