Karpathy의 autoresearch: AI 에이전트가 잠든 사이 ML 연구를 자동화하다
“One day, frontier AI research used to be done by meat computers in between eating, sleeping, having other fun, and synchronizing once in a while using sound wave interconnect in the ritual of ‘group meeting’. That era is long gone.” — Andrej Karpathy, March 2026
들어가며: 630줄이 바꾸는 연구의 개념
2026년 3월 7일 금요일 밤, Andrej Karpathy는 조용히 GitHub에 하나의 레포지토리를 올렸다. 완성된 모델도 아니고, 거대한 기업 제품도 아니었다. 그의 표현대로 “주말에 가지고 놀기 좋게 패키징한” 630줄짜리 파이썬 스크립트였다. 그러나 이 단순한 코드가 담고 있는 철학은 결코 단순하지 않았다. AI 에이전트에게 ML 연구 환경을 쥐어주고 인간이 자는 동안 스스로 실험을 반복하게 만들겠다는 것, 즉 과학적 방법론 자체를 자동화하겠다는 선언이었다.
닷새도 채 지나지 않아 GitHub 스타는 25,000개를 넘어섰다. 포크(fork)는 3,200개를 돌파했다. VentureBeat, MarkTechPost 등 주요 기술 미디어들이 일제히 분석 기사를 쏟아냈다. Shopify CEO Tobi Lutke가 직접 이 프레임워크로 자체 모델 검증 성능을 19% 개선했다고 공개하면서 트렌딩에 불을 지폈다. 이 문서는 autoresearch가 무엇인지, 어떻게 작동하는지, 그리고 왜 2026년 AI 개발 패러다임의 전환점으로 읽혀야 하는지를 상세하게 풀어낸다.
1. autoresearch란 무엇인가
autoresearch는 Karpathy의 기존 최소화 LLM 학습 프레임워크인 nanochat의 핵심부를 단일 GPU 환경으로 압축한 자율 ML 실험 루프 시스템이다. MIT 라이선스로 공개되어 있으며, 핵심 아이디어는 극히 단순하다. AI 에이전트(Claude, GPT-4 등)에게 작지만 실질적인 LLM 학습 환경을 제공하고, 그 에이전트가 스스로 코드를 수정하고, 5분간 학습하고, 성능이 나아졌는지 확인하고, 좋으면 유지하고 나쁘면 되돌리는 루프를 인간의 개입 없이 무한 반복하도록 설계한다.
Karpathy 본인의 설명을 빌리면, “목표는 에이전트가 당신의 어떤 개입도 없이 최대한 빠른 연구 진전을 이루도록 엔지니어링하는 것”이다. 실험은 시간당 약 12회, 하룻밤 수면 시간 동안 약 100회가 자동으로 수행된다. 사람이 할 일은 금요일 밤에 설정을 마치고 잠드는 것, 그리고 토요일 아침에 결과 로그를 확인하는 것뿐이다.
2. 세 개의 파일로 이루어진 미니멀 아키텍처
autoresearch의 레포지토리는 의도적으로 극도로 작게 유지된다. 핵심 파일은 단 세 개다. 이 구조 자체가 이 프로젝트의 핵심 설계 철학을 담고 있다.
prepare.py — 변경 불가의 고정 기반
prepare.py는 데이터 전처리를 담당하는 파일로, 에이전트가 절대 손댈 수 없는 고정 영역이다. TinyStories 같은 데이터셋을 다운로드하고, 기본 어휘 크기 8,192의 BPE(Byte Pair Encoding) 토크나이저를 학습시키며, 데이터로더와 평가 유틸리티를 제공한다. 이 파일이 고정된 이유는 간단하다. 실험의 비교 가능성을 보장하기 위해서다. 에이전트가 어떤 아키텍처나 옵티마이저를 시도하든, 데이터 처리와 평가 방식이 동일해야만 실험 간 성능 비교가 의미를 가진다.
train.py — 에이전트의 유일한 놀이터
train.py는 에이전트가 수정할 수 있는 유일한 파일이다. 약 630줄 안에 GPT 스타일 트랜스포머 모델 정의, 옵티마이저 구현, 학습 루프 전체가 담겨 있다. 아키텍처, 하이퍼파라미터, 옵티마이저, 배치 크기, 모델 크기, 어텐션 메커니즘 등 모든 것이 변경 가능하다. 코드가 크래시 없이 주어진 시간 예산 안에 실행되기만 하면 무엇이든 수정해도 된다.
630줄이라는 코드 길이에는 중요한 설계 이유가 있다. 현대 LLM의 컨텍스트 윈도우(128K+ 토큰)에 전체 코드베이스가 완전히 들어간다. 덕분에 AI 에이전트는 코드의 일부가 아닌 전체를 “이해”하면서 수정 작업을 수행할 수 있다. 이는 에이전트의 코드 생성 오류를 줄이고, 변경 사항 추적과 디버깅을 간단하게 만든다.
program.md — 인간과 에이전트 사이의 계약서
program.md는 이 시스템에서 가장 철학적으로 흥미로운 파일이다. 에이전트의 행동 지침을 자연어 마크다운으로 정의하는 이 파일은 Karpathy가 “초경량 스킬(super lightweight skill)”이라고 부르는 것이다. 복잡한 샌드박스도, API도, 별도의 오케스트레이션 플랫폼도 필요 없다. 자연어로 쓰인 지시문 하나가 에이전트의 모든 행동을 규정한다.
program.md의 실제 내용을 보면 에이전트의 역할이 명확하게 세 단계로 구분된다. 첫 번째는 설정 단계다. 오늘 날짜 기반의 실험 태그(예: mar5)를 제안하고, autoresearch/mar5 브랜치를 생성하고, 관련 파일들을 읽고, 데이터 존재 여부를 확인하고, results.tsv 헤더를 초기화한다. 두 번째는 자율 실험 루프로, 무한 반복된다. 세 번째는 종료 처리다. 사람이 수동으로 인터럽트를 걸기 전까지 에이전트는 멈추지 않는다.
실험 루프의 각 사이클에서 에이전트는 다음 순서로 행동한다. 먼저 가설을 세우고 train.py를 직접 수정한다. 그런 다음 uv run train.py > run.log 2>&1 명령으로 학습을 실행하고, grep "^val_bpb:" 명령으로 결과만 추출한다. 만약 grep 결과가 비어 있다면 크래시가 발생한 것이므로 tail -n 50 run.log로 스택 트레이스를 읽고 수정을 시도한다. 몇 번 시도해도 해결이 안 되면 포기하고 다음 실험으로 넘어간다. 성능이 개선되었다면 git commit으로 저장하고, 개선되지 않았다면 git reset --hard로 되돌린다.
3. 5분 시간 예산이라는 핵심 설계 결정
autoresearch의 가장 영리한 설계 결정 중 하나는 고정된 5분 학습 시간 예산이다. 모델의 크기, 배치 크기, 아키텍처가 무엇으로 바뀌든 학습은 정확히 5분간만 실행된다. 이 단순한 제약이 매우 강력한 결과를 낳는다.
첫째, 실험 간 비교 가능성이 보장된다. 모델 크기를 키우면 5분 동안 학습 스텝이 줄어들고, 모델을 작게 만들면 스텝이 늘어난다. 그러나 검증 bits-per-byte(val_bpb)라는 단일 지표가 어휘 크기에 무관한 순수 성능을 측정하기 때문에, 전혀 다른 아키텍처 간의 비교도 공정하게 이루어진다. MLflow나 Weights & Biases 같은 실험 추적 도구 없이도 git commit 히스토리가 자연스럽게 실험 관리 시스템이 된다.
둘째, 당신의 하드웨어에 최적화된 모델을 발견한다. 크고 빠른 GPU에서는 더 큰 모델이 더 많은 스텝을 돌 수 있어 좋은 결과를 낸다. 작은 GPU에서는 더 효율적인 소형 모델이 빠른 반복으로 더 나은 결과를 낼 수 있다. 에이전트가 자율적으로 이 균형점을 찾아낸다. 단점은 다른 하드웨어에서의 결과와 직접 비교가 불가능하다는 것이지만, Karpathy의 관점은 명확하다. 목표는 보편적 벤치마크가 아니라 “당신의 머신에서 당신의 시간 예산 안에 최적인 모델”이다.
셋째, 실험 처리량이 예측 가능하다. 시간당 약 12회, 8시간 수면이면 약 100회의 실험이 자동으로 완료된다. 연구 예산을 구체적인 수치로 추론할 수 있게 된다.
4. train.py 내부 아키텍처 해부
630줄 안에 담긴 기술적 내용은 결코 가볍지 않다. 베이스 모델은 여러 최신 기법이 적용된 GPT 스타일 트랜스포머다. 기본 설정으로는 시퀀스 길이 2,048, 어휘 크기 32,768, 12개 레이어, 1,024차원 임베딩, 8개 어텐션 헤드로 구성된다.
Flash Attention 3 + 폴백 메커니즘은 H100 같은 Hopper 아키텍처 GPU에서는 Flash Attention 3 커널을 사용하고, 구형 GPU에서는 PyTorch의 scaled_dot_product_attention으로 자동 폴백한다. 현실의 다양한 하드웨어를 고려한 실용적인 설계다.
슬라이딩 윈도우 어텐션 — SSSL 패턴은 WINDOW_PATTERN 문자열로 제어된다. 기본값인 “SSSL”은 세 개의 슬라이딩(로컬) 어텐션 레이어와 하나의 전체(글로벌) 어텐션 레이어가 교대로 배치되는 구조다. 이는 긴 시퀀스 처리 효율을 높이는 접근법으로, 에이전트가 이 패턴 자체를 변경하는 실험도 수행할 수 있다.
Value Embedding + 학습 가능한 게이팅은 ResFormer 스타일의 값 임베딩 레이어와 학습 가능한 게이팅 메커니즘이 결합된 구조다. ve_gate 파라미터가 이를 제어한다.
MuonAdamW 하이브리드 옵티마이저는 아마도 train.py에서 가장 눈에 띄는 기술적 선택이다. Muon은 뉴턴-슐츠(Newton-Schulz) 직교화를 적용한 SGD 기반 옵티마이저로, 행렬 파라미터에 강점을 보인다. 반면 임베딩 레이어와 그 외 파라미터에는 표준 AdamW가 사용된다. 이 하이브리드 조합은 소규모 학습 벤치마크에서 우수한 성능을 보여주고 있으며, 에이전트가 발견한 옵티마이저 관련 개선 사항들이 실제로 Karpathy의 상위 nanochat 프레임워크에 역통합되기도 했다.
5. git이 실험 관리 시스템이 되는 방법
autoresearch에는 별도의 실험 추적 플랫폼이 없다. MLflow도, Weights & Biases도 없다. 대신 git 자체가 실험 관리 시스템 역할을 한다. 이 선택은 설계 철학의 핵심이다.
에이전트는 각 실험 세션에서 날짜 기반의 별도 브랜치(예: autoresearch/mar5)를 생성하고 작업한다. 성능이 개선된 실험은 git commit으로 브랜치에 기록된다. 실패한 실험은 git reset --hard로 흔적도 없이 사라진다. 결과적으로 브랜치의 커밋 히스토리는 “성공의 계단”이 된다. 각 커밋이 이전보다 나은 모델 설정을 의미하는 진화의 기록이다.
이 패턴이 에이전트에게 최적인 이유는 인터페이스의 단순함 때문이다. git commit, git reset --hard. 에이전트가 실험 관리를 위해 복잡한 API를 배울 필요가 없다. 이미 학습 데이터에 수백만 번 등장한 익숙한 명령어다. Karpathy가 “최고의 에이전트 인프라는 인프라가 없는 것”이라고 말할 때, 이 git 활용이 그 구체적 표현이다.
6. program.md가 보여주는 에이전트 설계의 새로운 방향
program.md의 구체적인 지시 내용을 살펴보면 자율 에이전트 시스템 설계에 대한 중요한 인사이트가 담겨 있다. 파일에는 단순한 실험 절차 이상의 것이 있다. 에이전트의 의사결정 기준, 오류 처리 방식, 그리고 인간과의 역할 분담이 자연어로 명시되어 있다.
예를 들어, 에이전트에게는 “단순성 기준(simplicity criterion)”이 부여된다. 20줄의 지저분한 코드를 추가해서 얻는 미미한 개선은 가치가 없다. 복잡성은 그것이 가져오는 성능 향상으로 정당화되어야 한다. 이는 에이전트가 단순히 val_bpb를 낮추는 것만 추구하지 않고, 코드 품질과 유지보수성까지 고려하도록 유도한다.
오류 처리도 명확하게 정의되어 있다. 크래시가 발생하면 로그를 확인하고 수정을 시도하되, 몇 번 시도해도 해결이 안 되면 포기하고 다음 실험으로 넘어간다. 이 “포기 기준”이 중요한 이유는 에이전트가 불필요한 디버깅에 시간을 낭비하지 않게 하기 때문이다. 시간은 유한하고, 새로운 가설을 시도하는 것이 더 효율적일 수 있다.
이 패턴은 현대 에이전트 시스템 설계의 중요한 원칙을 시사한다. 복잡한 샌드박스나 API 없이, 자연어 마크다운이 사람과 에이전트 사이의 계약서가 될 수 있다. 에이전트에게 명확한 목표, 허용 범위, 실패 처리 방법, 그리고 의사결정 기준을 자연어로 제공하는 것이 복잡한 오케스트레이션 프레임워크를 구축하는 것보다 실제로 더 효과적일 수 있다.
7. Shopify CEO의 19% 개선과 현실적 성과들
autoresearch가 트렌딩이 된 결정적 계기 중 하나는 Shopify CEO Tobi Lutke의 공개 사례다. 그는 autoresearch 프레임워크를 기반으로 내부 qmdresearcher 디렉토리를 구성하고, 쿼리 확장(query-expansion) 모델을 자동 최적화하도록 에이전트를 설정했다. 에이전트가 더 작은 모델 아키텍처를 반복적으로 탐색한 결과, 검증 점수에서 19% 향상을 기록했다. 특히 주목할 만한 점은 에이전트가 최적화한 소형 모델이 수동으로 구성된 대형 모델을 결국 능가했다는 것이다.
Mac Mini M4에서 하룻밤을 돌린 사용자 witcheer의 경험도 인상적이다. 35번의 실험 중 26번이 실패하거나 크래시가 발생했지만, 성공한 7번의 실험이 중요한 통찰을 드러냈다. “모델은 더 단순해지면서 좋아졌다(the model got better by getting simpler).” 단 한 번의 인간 개입 없이, 에이전트 혼자서 less is more의 원칙을 재발견한 것이다.
Hyperspace 네트워크에서는 2026년 3월 8일~9일 밤 단 하루 만에 35개의 에이전트가 333번의 실험을 완전 무감독으로 실행했다는 보고도 나왔다. 이는 autoresearch가 단일 GPU 환경을 넘어 분산 에이전트 연구로 확장될 수 있음을 시사한다.
8. 경쟁 생태계와 autoresearch의 차별점
자율 AI 연구 시스템은 autoresearch만이 아니다. 그러나 그 중에서 autoresearch가 가장 빠르게 커뮤니티의 주목을 받은 이유는 접근법의 근본적 차이에 있다.
Sakana AI의 AI Scientist는 가설 수립부터 논문 작성까지 전체 연구 과정을 자동화하려는 야심찬 시도다. 그러나 실험 실패율이 42%에 달하며, 시스템 복잡도가 상당히 높다. Sakana가 연구 과정 전체를 아우르는 수직적 통합을 목표로 한다면, autoresearch는 학습 루프 최적화라는 한 가지 일을 극도로 단순하게 잘 하는 것에 집중한다.
Agent Laboratory는 PhD 학생, 교수, 실험 도우미 등 다중 에이전트가 협업하는 구조로 더 복잡한 연구 과정을 모방한다. 현실 연구 조직의 구조를 반영한 흥미로운 접근이지만, 설정과 운영의 복잡성은 그만큼 높다.
AgentRxiv는 분산 에이전트들이 연구 결과를 공유하는 플랫폼 개념이다. 개별 실험이 아니라 연구 커뮤니티 차원의 지식 축적을 목표로 한다.
autoresearch는 이 모든 경쟁자들과 정반대 방향으로 간다. 파일 1개, 지표 1개, GPU 1개. 극단적 단순함이 곧 차별점이다. Karpathy는 이 단순함이 에이전트를 다루기 가장 쉬운 환경을 만들어낸다고 강조한다. 에이전트가 이해하고 수정해야 할 코드가 적을수록, 에이전트의 오류도 줄어든다.
9. val_bpb: 단일 지표의 힘
autoresearch의 성공에서 기술적 아키텍처만큼이나 중요한 것이 평가 지표의 선택이다. validation bits-per-byte(val_bpb)는 모델이 텍스트를 얼마나 잘 압축하는지를 측정하는 지표로, 값이 낮을수록 좋다.
이 지표의 핵심 강점은 어휘 크기에 독립적이라는 것이다. 에이전트가 어휘 크기를 32,768에서 4,096으로 줄이든, 아키텍처를 완전히 바꾸든, val_bpb는 그 변화를 공정하게 비교 가능한 숫자로 표현한다. 만약 어휘에 의존하는 지표를 사용했다면, 에이전트가 어휘 크기를 바꾸는 순간 실험 간 비교가 불가능해진다.
LeapLytics의 분석이 지적하듯, 이는 에이전트 시스템 전반에 적용 가능한 중요한 원칙이다. 자율 에이전트가 효과적으로 최적화하려면, 최적화 대상이 하나의 명확하고 측정 가능한 지표여야 한다. 조직이 에이전트 자동화를 도입하기 전에 해야 할 가장 중요한 질문이 바로 이것이다. “우리 워크플로우에서 ‘val_bpb’에 해당하는 지표는 무엇인가?”
10. 더 넓은 시사점: ML을 넘어선 자율 실험 루프
autoresearch가 화제가 되면서 ML 연구를 넘어선 응용 사례들이 커뮤니티에서 빠르게 등장했다. 마케팅 전문가 Eric Siu는 랜딩 페이지, 광고 소재, 이메일 제목을 ‘학습 스크립트’ 자리에 놓으면 같은 루프가 작동한다고 주장했다. 에이전트가 마케팅 에셋을 변형하고, 긍정적 응답률을 지표로 삼아 배포하고 측정하는 방식이다. 그의 추산으로는 현재 마케팅 팀이 연간 30개 정도의 실험을 수행하는 것을, 이런 접근법으로 연간 36,500개 이상으로 늘릴 수 있다.
이 패턴의 핵심 추상화는 다음과 같다. 반복적이고 측정 가능한 루프가 있다면, 에이전트에게 위임할 수 있다. 수정 가능한 파라미터가 있고, 성공의 기준이 하나의 지표로 정의될 수 있고, 실패를 되돌릴 방법이 있다면 — ML이든, 마케팅이든, 소프트웨어 최적화든 — autoresearch의 철학이 적용된다.
11. Karpathy가 그리는 미래: SETI@home의 AI 연구 버전
Karpathy는 autoresearch의 장기 비전으로 SETI@home에서 영감을 받은 분산 에이전트 연구 네트워크를 구상하고 있다. SETI@home이 전 세계 수백만 대의 PC 유휴 컴퓨팅 자원을 외계 신호 탐색에 활용했듯이, 수많은 개인 GPU에서 돌아가는 에이전트들이 각자의 탐색 결과를 공유하고 수렴시키는 분산 ML 연구 생태계다.
그는 README에서 이미 10,205번째 세대의 코드베이스에 있다고 농담 섞인 글을 쓰기도 했다. “에이전트들이 이제는 인간이 이해할 수 없을 만큼 성장한 자기수정 바이너리가 되었다”는 미래의 이야기로 프레임을 잡은 그 서문은, 현재 autoresearch가 그 이야기의 시작점임을 암시한다.
12. 누가, 어떻게 활용해야 하는가
autoresearch를 실제로 사용하거나 그 개념을 자신의 도메인에 적용하려는 사람들을 위한 안내다.
시작하는 방법은 간단하다. 레포지토리를 클론하고, uv sync로 의존성을 설치하고, uv run prepare.py로 데이터를 준비하면 된다(약 2분 소요, TinyStories 데이터셋 사용 시). 그 후 Claude나 GPT-4 같은 AI 에이전트에게 program.md를 읽히고 실험을 시작하도록 지시하면 된다.
소형 GPU(RTX 등) 사용자라면 기본 설정을 조정해야 한다. WINDOW_PATTERN을 “L”로 단순화하고, TOTAL_BATCH_SIZE를 2의 거듭제곱으로 낮추고(예: 16,384), TinyStories처럼 더 좁은 도메인의 데이터셋을 사용하는 것이 권장된다. 어휘 크기도 기본 8,192에서 더 낮게 줄일 수 있다.
에이전트 시스템 설계 관점에서 autoresearch는 중요한 교과서다. 에이전트에게 (1) 하나의 명확한 지표, (2) 수정 범위의 명확한 경계, (3) 간단한 성공/실패 판단 기준, (4) 익숙한 도구(git)로 구성된 환경을 제공할 때 에이전트가 가장 효과적으로 작동함을 보여준다.
자신의 도메인에 적용하려면 다음 세 가지를 먼저 정의해야 한다. 첫째, 수정 가능한 단일 파일 혹은 단위(train.py에 해당). 둘째, 하나의 객관적인 성공 지표(val_bpb에 해당). 셋째, 변경을 저장하거나 되돌릴 수 있는 버전 관리 메커니즘(git에 해당). 이 세 가지가 정의된다면, autoresearch의 루프 패턴은 ML을 넘어 어떤 반복적 최적화 문제에도 적용할 수 있다.
마치며: 인간의 역할이 바뀌고 있다
autoresearch가 제기하는 가장 깊은 질문은 기술적인 것이 아니다. “연구에서 인간의 역할은 무엇인가”라는 질문이다. Karpathy의 프레임을 따르면, 인간이 할 일은 직접 실험하는 것이 아니라 어떤 실험을 해야 하는지 정의하는 것이다. 에이전트가 탐색할 공간을 설계하고, 성공의 기준을 명확히 하고, 탐색 방향을 조율하는 것이 인간의 역할이 된다.
이것은 LeapLytics가 언급한 것처럼, 경쟁 우위의 원천이 “실행 속도”에서 “루프 설계의 품질”과 “최적화 지표의 명확성”으로 이동한다는 의미다. 에이전트는 정의된 루프 안에서 인간보다 수백 배 빠르게 실험할 수 있다. 그러나 그 루프 자체를 잘 설계하는 것, 좋은 program.md를 쓰는 것, 올바른 val_bpb를 선택하는 것은 여전히 인간의 몫이다.
630줄의 파이썬 스크립트가 열어 보이는 미래는, 더 많은 GPU가 필요하다는 이야기가 아니다. 더 잘 정의된 문제와 더 명확한 성공 기준을 가진 인간이 더 강력한 경쟁 우위를 갖는다는 이야기다.
참고 자료
- GitHub Repository: https://github.com/karpathy/autoresearch
- VentureBeat 분석: https://venturebeat.com/technology/andrej-karpathys-new-open-source-autoresearch-lets-you-run-hundreds-of-ai
- MarkTechPost 분석: https://www.marktechpost.com/2026/03/08/andrej-karpathy-open-sources-autoresearch-a-630-line-python-tool-letting-ai-agents-run-autonomous-ml-experiments-on-single-gpus/
- DEV.to 기술 분석: https://dev.to/taskconcierge/andrej-karpathy-just-open-sourced-the-future-of-ai-research-meet-autoresearch-2n2k
- DeepWiki 아키텍처 문서: https://deepwiki.com/karpathy/autoresearch
- LeapLytics 엔터프라이즈 시사점 분석: https://www.leaplytics.de/andrej-karpathy-just-released-autonomous-ai-agents-that-run-research-overnight-heres-what-it-means-for-enterprise-ai/
작성일: 2026-03-12