Karpathy의 autoresearch, AI agent가 PyTorch 실험을 밤새 반복하는 연구 루프

LocalLLaMA에서 화제가 된 Andrew Karpathy의 autoresearch 저장소는 “AI agent가 작은 연구 환경 안에서 스스로 실험을 반복하면 어디까지 갈 수 있는가”라는 질문을 아주 작고 구체적인 형태로 구현한다. 프로젝트의 기본 아이디어는 agent가 PyTorch 학습 코드를 수정하고, 5분짜리 training run을 실행하고, validation metric이 개선되면 변경을 유지한 뒤 같은 과정을 계속 반복하는 것이다.

흥미로운 점은 scope를 강하게 제한했다는 데 있다. README에 따르면 prepare.py는 data prep과 runtime utility를 담당하고, train.py는 agent가 실제로 수정하는 단일 파일이며, program.md는 인간이 agent에게 주는 연구 지침 역할을 한다. baseline training 코드는 nanochat의 단순화된 single-GPU 버전이고, 평가 지표는 val_bpb다. 이 지표를 쓰면 vocabulary나 architecture가 바뀌어도 run 간 비교가 비교적 일관된다.

각 실험은 startup 시간을 제외하고 정확히 5분 wall-clock budget을 가진다.

agent가 수정하는 표면을 train.py 하나로 줄여 diff review를 쉽게 만든다.

기본 요구사항은 Python 3.10+, uv, 그리고 single NVIDIA GPU다.

macOS, MLX, Windows를 위한 community fork도 README에서 따로 언급한다.

이 프로젝트의 핵심 가치는 단순한 benchmark 숫자보다 workflow 설계에 있다. Karpathy는 연구 과정을 “사람이 코드를 고치고 로그를 보고 다시 수정하는 루프”에서 “사람이 연구 조직의 규칙을 작성하고, agent가 제한된 search space 안에서 반복 실험을 수행하는 루프”로 옮기고 있다. 다시 말해 Python 소스만이 아니라 program.md 같은 고수준 연구 지침도 시스템의 중요한 일부가 된다.

LocalLLaMA 커뮤니티가 이 저장소에 반응한 이유도 여기에 있다. 대규모 lab stack이나 복잡한 orchestration 없이도 autonomous research 개념을 직접 실험해 볼 수 있기 때문이다. 동시에 한계도 분명하다. compute 제약은 그대로 남고, search space를 잘못 열어 두면 agent가 비생산적인 방향으로 시간을 쓸 수 있으며, 사람이 작성한 연구 prompt 품질이 결과에 직접 영향을 준다. 그럼에도 autoresearch는 “agent가 연구 보조를 넘어서 실험 loop 일부를 맡을 수 있는가”를 검증하기에 매우 좋은 최소 사례다.

원문 커뮤니티 글은 LocalLLaMA 게시물에서 볼 수 있고, 원 프로젝트는 GitHub 저장소에 공개되어 있다.