
autoresearch
안드레이 카파시(Andrej Karpathy)의 오픈소스 AI 에이전트로, 단일 GPU에서 밤샘 동안 LLM 학습 실험을 자율적으로 수행하며 코드 편집, 개선 평가 및 반복 작업을 진행합니다.
개요
autoresearch는 Andrej Karpathy가 진행한 실험적 오픈소스 프로젝트로, 자율 AI 에이전트가 실제 기계 학습 연구를 수행하는 힘을 보여줍니다. 이 프로젝트는 단순화된 nanochat 구현을 기반으로 한 최소한의 단일 GPU 훈련 환경을 제공하며, 여기서 AI 코딩 에이전트가 실험 루프를 완전히 제어합니다.
연구자들은 수동으로 Python 코드를 수정하는 대신, program.md 마크다운 파일에 고수준 지침을 작성합니다. 그러면 에이전트는 훈련 스크립트(train.py)를 반복적으로 편집하고, 고정된 시간(일반적으로 5분) 동안의 훈련 실험을 실행하며, 검증 지표(예: val_bpb)를 기준으로 개선 사항을 평가하고, 승리한 변경 사항만 Git 기능 브랜치에 커밋합니다.
주요 기능
- 자율 에이전트 루프: AI 에이전트는 실험을 계획하고, 코드(아키텍처, 하이퍼파라미터, 최적화기 등)를 수정하며, 훈련을 실행하고, 무엇을 유지할지 결정합니다.
- 단일 GPU 효율성: 접근 가능한 하드웨어를 위해 설계되었으며, 각 실험은 고정된 짧은 시간(~5분) 동안 실행되어 시간당 약 12개의 실험을 가능하게 합니다.
- Git 기반 버전 관리: 개선 사항은 기능 브랜치의 커밋을 통해 추적되므로 변경 사항을 검토하고 되돌리기가 쉽습니다.
- 최소 설정: 명확한 하나의 지표에 집중한 작은 코드베이스(몇 개 파일에 걸쳐 약 630-1000줄).
- 프롬프트를 통한 인간 감독: 사용자는 마크다운의 자연어 지침을 통해 "연구 조직"을 정의하므로, 저수준 코드를 건드리지 않고도 정교한 에이전트 동작을 가능하게 합니다.
- 확장성: 더 많은 에이전트 추가, program.md 프롬프트 개선, 또는 다른 모델/작업에 적응이 용이합니다.
작동 방식
- 사용자는 저장소를 설정하고
program.md에 연구 목표를 제공합니다. - AI 코딩 에이전트(예: Claude, GPT 또는 로컬 모델을 기반으로 한)가 시작됩니다.
- 에이전트는 Git 기능 브랜치를 생성/사용하고 반복을 시작합니다:
train.py를 편집합니다.- 시간 제한 훈련 실험을 실행합니다.
- 주요 검증 지표를 측정합니다.
- 개선된 경우 변경 사항을 커밋하고, 그렇지 않으면 버리고 다시 시도합니다.
- 밤새거나 며칠 동안 시스템은 수십에서 수백 개의 실험을 누적하며 더 나은 모델 구성을 찾아냅니다.
이 프로젝트는 인간 개입 없이 장기 연구 속도를 극대화하기 위한 에이전트 프롬프트( "연구 조직 코드")의 엔지니어링을 강조합니다.
사용 사례
- 개인 ML 연구: 당신이 잠을 자거나 고수준 아이디어에 집중하는 동안 에이전트가 하이퍼파라미터, 아키텍처 또는 최적화를 탐색하도록 합니다. . -to use "다른" instead of "타" for "other"
- 교육 데모: 실제 실행 가능한 ML 컨텍스트에서 에이전트 AI 워크플로우를 이해합니다. -Here, "context" is translated as "컨텍스트", which is commonly used in Korean technical writing.
- 분산 스웜: 커뮤니티 확장 기능을 통해 여러 에이전트나 기계가 협업할 수 있습니다(예: autoresearch@home 프로젝트). -The term "스웜" (swarm) is kept as is, as it's a technical term, and note it might be less familiar; I've kept it as "스웜" which is the direct transliteration and sometimes used in Korean tech contexts.
- 신속한 프로토타이핑: 소규모 LLM 훈련에서 자율 과학 발견에 대한 아이디어를 테스트합니다.
- 에이전트 능력 벤치마킹: 다양한 LLM이 자율 연구자로서 얼마나 잘 수행하는지 평가합니다.
시작하기
레포지토리를 클론하고, pyproject.toml을 통해 의존성을 설치하고, AI 제공자(API 키)를 구성하고, 연구 지침이 담긴 program.md를 준비한 다음, 에이전트 루프를 실행하세요. 단일 GPU에서 작동하며 최소한의 설정만 필요합니다.
이 레포지토리에는 더 나은 결과를 위해 반복 개선할 수 있는 기준 program.md가 포함되어 있습니다.
중요성
autoresearch는 인간이 창의적인 방향 설정에 집중할 수 있도록 AI 에이전트가 실증적 연구의 단순 반복 작업을 처리하는 미래를 조기에 엿볼 수 있는 기회를 제공합니다. 이는 커뮤니티의 엄청난 관심, 포크, 포팅(AMD, Apple Silicon 등), 그리고 에이전트 군집과 자동화된 과학의 "초기 특이점"에 관한 토론을 촉발시켰습니다.
한계
- 실험은 매번 처음부터 시작됩니다(기본 버전에서는 실행 간 지속적 메모리가 없음).
- 단일하고 단순한 지표와 작은 모델에 집중되어 있습니다.
- 성공은 기본 코딩 에이전트의 품질과 프롬프트 엔지니어링에 크게 의존합니다.
최신 세부 정보, 코드 및 커뮤니티 토론은 공식 GitHub 레포지토리를 방문하세요.