안드레이 카르파티의 자율 AI 연구 프레임워크로, AI 에이전트(Claude/Codex)가 단일 GPU에서 밤새 소규모 LLM을 반복적으로 수정, 훈련 및 평가할 수 있게 합니다. 잠자는 동안 약 100가지 실험을 실행합니다.

Pythonautoresearchkarpathy 27.3k Last Updated: March 11, 2026

autoresearch — 자율 AI 에이전트 LLM 연구 프레임워크


개요

autoresearch는 AI/ML 연구 반복 과정을 자동화하는 Andrej Karpathy의 실험적인 프레임워크입니다. 핵심 아이디어는 매우 간단합니다. AI 에이전트(Claude 또는 Codex 등)에게 실제 작동하는 LLM 학습 코드베이스를 제공하고, 인간의 개입 없이도 자율적으로 변경 사항을 제안하고, 5분간 학습 실험을 실행하고, 결과를 평가하고, 반복하도록 하는 것입니다.

이것은 단일 GPU에서 밤새 실행되는 최소한의 독립형 AI 연구소로 생각할 수 있으며, 아침까지 약 100개의 실험 로그와 (희망적으로) 점진적으로 개선된 언어 모델을 생성합니다.


배경 및 동기

Karpathy는 README를 미래에 대한 냉소적인 비전으로 시작합니다. 즉, AI 연구가 더 이상 인간에 의해 수행되지 않고 "컴퓨트 클러스터 메가구조에서 실행되는 자율적인 AI 에이전트 무리"에 의해 수행되는 세상입니다. 그는 이 리포지토리가 "모든 것이 시작된 이야기"라고 씁니다.

실질적인 동기는 더 현실적입니다. 연구 반복은 인간이 먹고, 자고, 회의에 참석해야 하기 때문에 느립니다. 이 프로젝트는 루프 내의 인간을 24시간 연중무휴로 실험을 실행할 수 있는 AI 에이전트로 대체하여 ML 연구를 훨씬 더 빠르고 자동화합니다.


작동 방식

워크플로우는 편집 → 학습 → 평가 → 유지/폐기의 긴밀한 루프입니다.

  1. 에이전트는 program.md를 읽습니다. — 인간 연구자가 작성하고 유지 관리하는 연구 지침 및 컨텍스트가 포함된 Markdown 파일입니다.
  2. 에이전트는 train.py를 수정합니다. — GPT 모델 아키텍처, 옵티마이저(Muon + AdamW) 및 학습 루프가 포함된 단일 Python 파일입니다. 에이전트는 아키텍처, 하이퍼파라미터, 옵티마이저 설정, 배치 크기 등 무엇이든 변경할 수 있습니다.
  3. 학습은 정확히 5분 동안 실행됩니다. (시작/컴파일 시간 제외, 실제 시간 기준)
  4. val_bpb(validation bits per byte) 메트릭이 계산됩니다. — 낮을수록 좋습니다. 어휘 크기에 독립적이므로 아키텍처 변경 사항을 공정하게 비교할 수 있습니다.
  5. 에이전트는 변경 사항을 유지할지 폐기할지 결정한 다음 반복합니다.

이를 통해 시간당 약 12개의 실험과 밤새 약 100개의 실험이 가능합니다.


리포지토리 구조

autoresearch/
├── prepare.py       # 고정: 일회성 데이터 준비, BPE 토크나이저 학습, 데이터 로더, 평가 유틸리티
├── train.py         # 에이전트가 편집 가능: GPT 모델, 옵티마이저, 학습 루프
├── program.md       # 인간이 편집 가능: 에이전트 지침 및 연구 컨텍스트
├── analysis.ipynb   # 실험 결과 분석용 노트북
├── pyproject.toml   # 종속성 (uv로 관리)
└── progress.png     # 학습 진행 상황을 보여주는 티저 이미지

주요 파일 설명

파일 소유자 목적
prepare.py 인간 (고정) 데이터 샤드 다운로드, BPE 토크나이저 학습, 데이터 로더 및 평가 유틸리티 제공
train.py AI 에이전트 전체 GPT 구현 + 학습 루프 — 에이전트의 샌드박스
program.md 인간 (반복 가능) 에이전트의 연구 "기술" / 지침

디자인 철학

1. 수정할 단일 파일

에이전트는 train.py만 수정합니다. 이렇게 하면 범위를 관리하기 쉽고 diff를 검토하기 쉽습니다. 또한 에이전트의 행동 공간을 인프라/도구 변경이 아닌 의미 있는 ML 변경으로 제한합니다.

2. 고정 시간 예산

모든 실험은 정확히 5분간의 실제 학습 시간(시작 시간 제외) 동안 실행됩니다. 이렇게 하면 다음이 보장됩니다.

  • 모든 실험은 아키텍처 변경(모델 크기, 배치 크기 등)에 관계없이 직접 비교 가능합니다.
  • 에이전트는 특정 하드웨어에 대한 최적의 모델 구성을 찾습니다.
  • 예측 가능한 처리량: 시간당 약 12개의 실험

단점: 결과는 다른 컴퓨팅 플랫폼 간에 이식할 수 없습니다. (H100 실행은 A100 실행과 비교할 수 없습니다.)

3. 독립형

분산 학습, 복잡한 구성 파일, 외부 연구 인프라가 없습니다. PyTorch + 몇 가지 작은 패키지, 하나의 GPU, 하나의 파일, 하나의 메트릭만 있으면 됩니다. 이렇게 하면 프로젝트를 쉽게 이해하고, 포크하고, 구축할 수 있습니다.

4. program.md를 인간 인터페이스로 사용

연구 에이전트를 처음부터 코딩하는 대신 Karpathy는 program.md를 경량 "기술"로 사용합니다. 즉, AI 에이전트에게 컨텍스트, 목표 및 제약 조건을 제공하는 Markdown 파일입니다. 인간은 시간이 지남에 따라 program.md를 반복하여 "연구 조직 코드"를 개선합니다.


기술 세부 정보

모델 및 학습

  • nanochat의 단순화된 단일 GPU 버전을 기반으로 합니다.
  • 기본적으로 Muon + AdamW 옵티마이저를 사용합니다 (에이전트가 변경할 수 있음).
  • 다운로드한 텍스트 데이터 샤드에서 처음부터 GPT 스타일 모델을 학습합니다.
  • prepare.py를 통해 데이터 자체에서 학습된 BPE 토크나이저를 사용합니다.
  • 평가 메트릭: val_bpb(validation bits per byte)

요구 사항

  • GPU: 단일 NVIDIA GPU (H100에서 테스트됨)
  • Python: 3.10+
  • 패키지 관리자: uv

빠른 시작

# 1. uv 설치 (아직 설치되지 않은 경우)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. 종속성 설치
uv sync

# 3. 일회성 데이터 준비 (~2분)
uv run prepare.py

# 4. 단일 학습 실험 실행 (~5분)
uv run train.py

에이전트 실행

리포지토리 디렉토리에서 Claude, Codex 또는 기타 유능한 코딩 에이전트를 (파일 쓰기 권한 포함) 시작한 다음 프롬프트합니다.

program.md를 살펴보고 새로운 실험을 시작해 봅시다! 먼저 설정을 진행하겠습니다.

에이전트는 program.md를 읽고, train.py에 대한 변경 사항을 제안하고, 학습을 실행하고, 결과를 평가하고, 반복합니다.


중요성 및 영향

autoresearch는 자동화된 머신러닝 연구의 개념 증명으로, 마이크로 규모에서 이루어집니다. 대규모 AutoML 시스템이 존재하지만, 이 프로젝트는 다음과 같은 점에서 주목할 만합니다.

  • 단순성: 의미 있는 전체 코드베이스는 약 3개의 파일로 구성됩니다.
  • 투명성: 모든 에이전트 결정은 기록되고 검토 가능합니다.
  • 접근성: 단일 소비자/연구용 GPU에서 실행됩니다.
  • 비전: AI 에이전트가 진정한 ML 연구를 자율적으로 수행할 수 있음을 보여줍니다.

또한 "Markdown을 통해 AI 연구 조직을 프로그래밍하는" 템플릿 역할을 합니다. 이는 AI 코딩 에이전트가 더 유능해짐에 따라 표준이 될 수 있는 패러다임입니다.


주목할 만한 포크


요약

속성
유형 자율 AI 연구 에이전트 프레임워크
주요 용도 밤새 자동화된 LLM 학습 실험
에이전트 인터페이스 program.md (Markdown 지침)
에이전트 행동 공간 train.py (GPT 모델 + 학습 루프)
실험 기간 5분 (고정)
처리량 시간당 약 12개 실험, 밤새 약 100개
메트릭 val_bpb (validation bits per byte)
하드웨어 단일 NVIDIA GPU (H100 테스트됨)
라이선스 MIT

Star History Chart