Lewati ke konten utama

Panduan AutoResearch Andrej Karpathy: Mengotomatiskan ML dengan Agen AI

Pelajari bagaimana AutoResearch milik Karpathy menjalankan 100+ eksperimen ML semalaman pada satu GPU. Mencakup arsitektur tiga berkas, ratchet loop, hasil, dan keterbatasan.
· 11 mnt Baca

Jelajahi bersama AI

AutoResearch karya Andrej Karpathy adalah sebuah alat open-source yang menjalankan eksperimen ML dalam sebuah loop, hanya menyimpan perubahan yang mengalahkan hasil terbaik saat ini. Anda mendeskripsikan arah riset dalam berkas markdown, mengarahkan agen pengodean AI ke repo, lalu tinggalkan. Pagi harinya, Anda memiliki riwayat git berisi peningkatan yang tervalidasi dan log semua yang dicoba agen.

Dirilis pada 7 Maret 2026, proyek ini meraih 21.000+ bintang GitHub dan 8,6 juta tontonan pada pengumuman Karpathy dalam hitungan hari. Artikel ini membahas cara kerja arsitektur tiga berkas, apa yang dilakukan ratchet loop selama menjalankan eksperimen semalaman, hasil yang telah dihasilkan AutoResearch sejauh ini, dan di mana pendekatan ini mencapai batasnya.

Apa itu AutoResearch?

AutoResearch adalah alat Python open-source yang memungkinkan agen AI menjalankan eksperimen ML pada satu GPU tanpa intervensi manusia. Alat ini berulang melalui siklus usul-latih-evaluasi, hanya menyimpan perubahan yang meningkatkan validation loss. Proyek ini dirilis dengan lisensi MIT.

Ini bukan penyelarasan hiperparameter. Alat seperti Optuna atau Ray Tune mencari ruang parameter yang telah ditentukan. AutoResearch memberi kebebasan kepada agen untuk memodifikasi kode apa pun. Ruang pencariannya adalah apa pun yang bisa dipikirkan LLM, dan itu menjadikannya kategori alat yang berbeda dari apa pun yang tersedia saat ini.

Kerangka AutoML dan NAS (Neural Architecture Search) mencari arsitektur atau hiperparameter menggunakan algoritme terstruktur—presisi namun terbatas pada ruang pencarian yang didefinisikan.

AlphaEvolve (Google DeepMind) melangkah lebih jauh dengan pendekatan evolusioner dan model Gemini untuk penemuan algoritme, namun bersifat tertutup dan tidak dapat diakses sebagian besar tim. Agen pengodean serbaguna seperti SWE-Agent, OpenHands, dan Aider bisa menulis kode apa pun, tetapi tidak dibangun untuk siklus eksperimen-evaluasi-simpan/revert yang sebenarnya dibutuhkan riset ML.

AutoResearch bertaruh pada pengetahuan umum LLM untuk mengusulkan eksperimen yang baik, alih-alih membatasi ruang pencarian demi jaminan matematis.

Perbandingan autoresearch dengan AlphaEvolve, AutoML, NAS, dan SWE-Agent

Dari vibe coding ke penasihat riset

Karpathy membingkai ini sebagai progresi alami cara insinyur bekerja dengan AI. Pada Februari 2026, ia mencetuskan istilah "agentic engineering": "Anda tidak menulis kode secara langsung 99% dari waktu. Anda mengorkestrasi agen yang melakukannya dan bertindak sebagai pengawas." AutoResearch melangkah ke tahap berikutnya. Manusia bahkan tidak mengorkestrasi. Mereka mendeskripsikan seperti apa riset yang baik dalam berkas markdown dan pergi.

Progresinya: vibe coding (manusia memandu, AI menulis kode, manusia meninjau) ke agentic engineering (manusia mengorkestrasi agen secara realtime) ke riset yang sepenuhnya mandiri (manusia menetapkan arah, agen berjalan sendiri). 

Setiap langkah mengurangi peran manusia dari penulis menjadi sutradara dan, dalam kerangka Karpathy, menjadi penasihat riset.

Progresi dari vibe coding ke agentic engineering hingga riset mandiri

Dalam unggahan lanjutan, ia menggambarkan langkah berikutnya: "Tujuannya bukan meniru satu mahasiswa PhD, melainkan meniru komunitas riset mereka", merujuk pada kolaborasi agen terdistribusi ala SETI@home.

Bagaimana sistem mewujudkan visi itu bergantung pada tiga berkas.

Arsitektur Tiga Berkas AutoResearch

Desain AutoResearch bermuara pada kontrak antara tiga berkas, masing-masing dengan aturan ketat tentang siapa yang boleh menyentuhnya.

prepare.py

prepare.py menangani persiapan data dan evaluasi. Berkas ini membangun tokenizer BPE (Byte Pair Encoding) dengan kosakata 8.192 token, memproses korpus pelatihan, dan mendefinisikan metrik validasi: val_bpb (validation bits-per-byte). 

Berkas ini tidak dapat diubah: baik manusia maupun agen tidak memodifikasinya, yang menjamin setiap eksperimen diukur dengan tolok ukur yang sama.

train.py

train.py adalah sandbox milik agen: 630 baris yang memuat arsitektur model GPT, optimizer Muon+AdamW, dan loop pelatihan lengkap. Agen boleh menulis ulang apa pun di sini (menukar fungsi aktivasi, merestrukturisasi attention head, mengubah jadwal learning rate, memodifikasi inisialisasi bobot) selama kode yang diubah tetap dapat dilatih dan menghasilkan skor val_bpb.

program.md

program.md ditulis dalam markdown biasa dan menjadi satu-satunya berkas yang disentuh penulis manusia. Berkas ini memberi tahu agen arah riset yang harus ditempuh, apa yang dihindari, dan bagaimana mendekati eksperimen.

Arsitektur tiga berkas yang menunjukkan peran berkas, kepemilikan, dan alur data

Apa yang dikendalikan oleh program.md

Berkas ini lebih spesifik daripada yang kebanyakan orang kira. Ia menuliskan metrik baseline agar agen tahu apa yang harus dikalahkan (val_bpb: 0,997900, puncak VRAM (video memory): 45 GB). 

Berkas ini menentukan perintah yang persis untuk menjalankan eksperimen dan mengekstrak hasil. Ia memberi tahu agen cara menangani kegagalan: perbaiki salah ketik dan jalankan ulang, lewati ide yang rusak dari akarnya, hentikan apa pun yang berjalan lebih dari 10 menit. 

Dan berkas ini memuat arahan yang membuat seluruh sistem bekerja: "JANGAN PERNAH BERHENTI. Setelah loop eksperimen dimulai, JANGAN jeda untuk menanyakan kepada manusia apakah Anda harus melanjutkan."

Ada juga batasan desain yang membentuk setiap eksperimen: "Dengan semua hal lain setara, yang lebih sederhana lebih baik. Peningkatan kecil yang menambah kompleksitas jelek tidak sebanding." Ini mengarahkan agen menjauh dari solusi yang terlalu direkayasa dan menuju perubahan bersih yang akan disetujui peninjau manusia.

Pembagian kerja jelas. Manusia menetapkan arah riset melalui program.md, agen mengeksekusi dengan memodifikasi train.py, dan prepare.py bertindak sebagai hakim netral yang tidak boleh disentuh kedua pihak. Dengan kontrak itu, agen menjalankan loop eksperimen secara terus-menerus tanpa berhenti.

Ratchet Loop AutoResearch

Inti AutoResearch adalah siklus eksperimen yang berjalan tanpa input manusia. Begini cara satu iterasi bekerja, mengikuti loop 9 langkah yang didefinisikan dalam program.md:

  1. Agen membaca program.md untuk memahami prioritas dan batasan riset saat ini.
  2. Agen memeriksa train.py saat ini dan hasil terbaru di results.tsv.
  3. Agen mengusulkan sebuah hipotesis: perubahan arsitektur, penyesuaian optimizer, atau modifikasi pelatihan.
  4. Agen memodifikasi train.py untuk menerapkan perubahan yang diusulkan.
  5. Agen melakukan commit perubahan ke sebuah cabang git.
  6. Agen menjalankan pelatihan tepat selama 5 menit (anggaran wall-clock tetap).
  7. Jika pelatihan crash, agen mencatat kegagalan, membalikkan commit, dan mencoba lagi.
  8. Agen mengevaluasi hasil menggunakan val_bpb dan merekam hasilnya di results.tsv.
  9. Jika val_bpb membaik: commit tetap disimpan. Jika tidak: git reset HEAD~1 mengembalikan ke versi sebelumnya.

Lalu mulai lagi dari langkah 1.

Bagan alir ratchet loop yang menunjukkan siklus eksperimen

Setiap eksperimen mendapatkan anggaran wall-clock 5 menit yang sama, membuat hasilnya langsung dapat dibandingkan. Perubahan yang melatih lebih cepat dan perubahan yang konvergensinya lebih rendah dievaluasi secara setara. 

Dengan 5 menit per eksperimen, sistem menjalankan sekitar 12 eksperimen per jam.

Nama "ratchet" berasal dari riwayat git. Setiap eksperimen yang berhasil menambah commit; setiap kegagalan dibalikkan. Basis kode hanya bisa bergerak maju, tidak pernah mundur, menumpuk peningkatan yang tervalidasi satu per satu.

Git sebagai memori riset

Strukturnya mirip algoritme evolusioner, tetapi AutoResearch mempertahankan satu garis keturunan, bukan populasi. Alih-alih crossover dan mutasi lintas kandidat, LLM bertindak sebagai operator mutasi (mengusulkan perubahan) sekaligus tekanan seleksi (memilih apa yang dicoba berdasarkan hasil sebelumnya). 

Ia membaca riwayat git dan results.tsv miliknya sendiri untuk membangun di atas apa pun yang menjanjikan.

Berkas results.tsv melacak setiap eksperimen: hash commit, skor val_bpb, penggunaan memori GPU, status lolos/gagal, dan deskripsi tentang apa yang dicoba agen. 

Anda mendapatkan jejak audit yang jelas untuk ditinjau di pagi hari, dan agen menggunakan log yang sama untuk mengkalibrasi apa yang akan dicoba selanjutnya. Eksperimen awal cenderung luas (menguji konfigurasi optimizer berbeda), sementara yang belakangan mempersempit pada arah mana pun yang divalidasi data.

Memulai dengan AutoResearch

Menjalankan AutoResearch memerlukan mesin dengan GPU NVIDIA (konfigurasi default menargetkan GPU modern dengan VRAM 20+ GB), Python 3.10+, uv, dan agen pengodean (Claude Code, Cursor, atau sejenisnya).

Kloning repo, pasang dependensi, dan siapkan dataset:

git clone https://github.com/karpathy/autoresearch.git
cd autoresearch
uv sync
uv run prepare.py

Tidak ada skrip orkestrasi. Tidak ada run.py, tidak ada pipeline, tidak ada framework. 

README mengatakan untuk "cukup jalankan Claude/Codex atau apa pun yang Anda inginkan dalam repo ini." 

Anda membuka agen pengodean di direktori proyek, memintanya membaca program.md, dan agen menjalankan loop eksperimen sendiri. 

LLM adalah lapisan automasi. Pantau progres dengan men-tail results.tsv atau memeriksa log git untuk commit baru.

Konfigurasi default melatih model GPT pada dataset FineWeb-Edu, yang membutuhkan GPU mumpuni dan beberapa jam untuk menampakkan hasil. Untuk uji pertama pada perangkat keras yang lebih kecil, Karpathy merekomendasikan beralih ke dataset TinyStories dan menurunkan skala model dengan mengurangi ukuran kosakata menjadi 256 dan kedalaman menjadi 4. 

Perubahan ini menurunkan kebutuhan VRAM dan mempersingkat setiap eksperimen sehingga Anda bisa melihat ratchet beraksi dalam beberapa jam.

Mengonfigurasi run pertama Anda

Baca program.md default sebelum Anda memulai run semalaman. Berkas ini mendefinisikan agenda riset yang diikuti agen, dan mengeditnya adalah cara Anda mengarahkan eksperimen. 

Jika Anda ingin agen berfokus pada mekanisme attention, nyatakan dalam program.md. 

Jika Anda ingin agen menghindari menyentuh optimizer, tambahkan batasan itu. Agen tidak akan menyimpang dari apa yang tertulis di sana.

Untuk run semalaman pertama, harapkan 80–100 eksperimen dengan mungkin 15–20 peningkatan yang disimpan. Beberapa hal praktis yang perlu diketahui:

  • Biaya API skala dengan jumlah eksperimen. Satu run semalaman masih terjangkau bagi peneliti individual, tetapi run multi-hari membutuhkan penganggaran.
  • Beberapa eksperimen akan crash. Loop akan pulih secara otomatis, jadi tidak akan mengganggu run semalaman.
  • Periksa results.tsv di pagi hari alih-alih menonton terminal. Pola tangga dari skor val_bpb yang membaik menceritakan kisahnya lebih baik daripada log individual.

Hasil AutoResearch dan Batas Kreativitas

AutoResearch telah diuji di berbagai run, dari eksperimen Karpathy sendiri hingga reproduksi komunitas dan adopsi produksi.

Run

Eksperimen

Peningkatan Disimpan

Hasil

Semalam awal (satu GPU)

83

15

val_bpb: 1.000 → 0.975

Run 2 hari diperpanjang (depth-12)

~700

~20

Semua aditif; ditransfer ke model depth-24

Dampak produksi

-

-

Waktu-ke-patokan GPT-2: 2,02j → 1,80j (11% lebih cepat)

Sesi komunitas

126

-

val_bpb: 0,9979 → 0,9697

Agen menemukan hal-hal yang pada akhirnya akan ditemukan manusia yang metodis. QKnorm kehilangan pengali skala untuk mempertajam attention, Value Embeddings mendapat manfaat dari regularisasi, dan ada peningkatan pada penyetelan banded attention, parameter beta AdamW, dan penjadwalan weight decay. 

Ini adalah perubahan kode struktural, bukan sapuan hiperparameter acak, dan menguji masing-masing secara manual akan memakan waktu berhari-hari.

CEO Shopify Tobi Lutke mengadaptasi AutoResearch untuk model perluasan kueri internal dan memperoleh peningkatan skor validasi 19% dari 37 eksperimen pada model 0,8B parameter, melaporkan hasil sehari setelah ia memulai.

Tangga Val BPB yang menunjukkan peningkatan bertahap di seluruh eksperimen

Grafik tangga itu nyata, tetapi setiap langkah kecil. Agen menemukan peningkatan nyata—menyetel parameter beta di sini, menambahkan regularisasi di sana. Belum ada yang melaporkan agen ini menciptakan mekanisme attention baru atau mengusulkan ide arsitektural yang tidak akan dicapai peneliti manusia pada akhirnya.

Batas kreativitas

GitHub Issue #22 menangkap masalah strukturalnya. Seorang pengguna mengamati bahwa agen berputar melalui variasi minor dari apa pun yang terakhir berhasil, terjebak dalam pola pencarian lokal. 

Ratchet hanya menerima perubahan yang segera meningkatkan val_bpb, sehingga agen tidak pernah bisa mengambil satu langkah mundur untuk menyiapkan keuntungan yang lebih besar. 

Peneliti manusia secara rutin menalar, "ini akan memburuk sebelum menjadi lebih baik." Ratchet tidak memberi ruang untuk itu.

Karpathy mengakui masalah terkait di Hacker News: agen terasa "licik dan takut" pada masalah terbuka. 

Ia mengaitkannya dengan pelatihan RLHF (Reinforcement Learning from Human Feedback), yang memberi penghargaan pada keluaran yang aman dan konservatif ketimbang eksperimen berani. Agen mampu mengusulkan perubahan kreatif, tetapi dibangun untuk bermain aman.

Jendela pelatihan tetap 5 menit menambah batasan lain. 

Perubahan yang menunjukkan nilainya dengan cepat akan ditemukan; perubahan yang baru terbukti dalam run lebih lama tetap tak terlihat. Dan menjalankan 100 eksperimen terhadap set validasi yang sama membawa risiko overfitting: beberapa peningkatan mungkin spesifik untuk evaluasi itu alih-alih kenaikan yang sejati. Ketidakberubahan prepare.py, jaminan keadilan sistem, juga merupakan titik butanya.

Komunitas memperdebatkan apakah plafon itu berasal dari kerangka atau dari model yang mendasarinya. Usulan mencakup optimasi meta-prompt (agen kedua menulis ulang program.md berdasarkan hasil), arahan keragaman yang memberi penghargaan pada kebaruan bersamaan dengan peningkatan, dan eksperimen "reset" berkala yang dimulai dari checkpoint lebih awal untuk keluar dari optimum lokal.

Saat ini, AutoResearch adalah alat yang mengotomatiskan bagian metodis dari riset ML: menjalankan dan mengevaluasi ratusan eksperimen kecil. Alat ini tidak menggantikan bagian kreatif—merumuskan arah riset baru—yang masih merupakan tugas manusia. Pembagian kerja itu juga menjadi sinyal paling jelas apakah alat ini cocok untuk alur kerja Anda.

Kapan Menggunakan AutoResearch

Kontrak tiga berkas (evaluator yang tidak dapat diubah, implementasi yang dapat dimodifikasi agen, arahan yang ditulis manusia) berlaku melampaui pelatihan LLM ke domain apa pun tempat Anda dapat mendefinisikan fungsi penskoran otomatis. 

Optimasi peringkat pencarian, kategorisasi produk, pengenalan entitas bernama klinis, penilaian penipuan, klasifikasi intent: tugas-tugas ini memiliki sifat yang tepat. Model kecil yang dilatih dalam hitungan menit, fungsi penskoran yang jelas, dan peningkatan yang dapat ditransfer saat Anda melakukan skala.

Ketika eksperimen berjalan 100x lebih cepat daripada yang dapat dikelola manusia, pipeline evaluasi menjadi kendala. Tolok ukur statis cepat jenuh. Tim yang mengadopsi pola ini memerlukan set evaluasi yang berkembang seiring data produksi dan kasus tepi yang lebih sulit.

Karpathy sendiri menjalankan "sepupu yang lebih besar" dari AutoResearch pada 8x GPU H100 dengan kerangka produksi nanochat miliknya, yang menunjukkan polanya dapat diskalakan melampaui eksperimen mainan. Komunitas telah mem-fork untuk macOS/Apple Silicon dan mengusulkan integrasi untuk GPU yang lebih lama. Panduan CPU vs GPU membahas mengapa perangkat keras GPU tidak bisa ditawar untuk jenis pelatihan iteratif ini.

Jika tujuan Anda adalah memeras peningkatan bertahap dari pipeline pelatihan yang sudah dipahami dengan baik, AutoResearch adalah pilihan yang tepat. Batas kreativitas berarti Anda masih memerlukan peneliti manusia untuk masalah yang memerlukan kebaruan sejati, dan alat ini bekerja paling baik pada mayoritas riset yang berupa iterasi metodis.

Kesimpulan

Menulis program.md yang baik memerlukan Anda telah melakukan riset sendiri. Anda perlu mengetahui arah mana yang layak dicoba, apa arti "lebih baik" untuk masalah Anda, dan kapan keuntungan bertahap telah habis. Agen menangani eksekusi, tetapi penilaian di balik agenda riset tetaplah manusia. Jika generasi insinyur berikutnya melewatkan pekerjaan formatif itu karena sekarang ditangani agen, bidang ini akan memiliki banyak komputasi dan tidak ada yang berpengalaman untuk mengarahkannya ke arah yang benar.

FAQ AutoResearch

Apa itu AutoResearch?

AutoResearch adalah alat Python open-source oleh Andrej Karpathy yang memungkinkan agen pengodean AI menjalankan eksperimen ML pada satu GPU tanpa intervensi manusia. Alat ini berulang melalui siklus usul-latih-evaluasi, hanya menyimpan perubahan yang meningkatkan validation loss, dan membuang yang lain melalui git revert.

Bagaimana cara kerja ratchet loop AutoResearch?

Agen membaca berkas program.md untuk arah riset, memodifikasi train.py dengan perubahan yang diusulkan, melakukan commit, menjalankan pelatihan tepat 5 menit, dan mengevaluasi hasil menggunakan val_bpb. Jika skor membaik, commit tetap disimpan. Jika tidak, git reset mengembalikannya. Lalu siklus berulang secara otomatis. skills override managed ones, which override bundled skills with the same name.

Apa itu arsitektur tiga berkas di AutoResearch?

AutoResearch menggunakan tiga berkas dengan aturan kepemilikan ketat. prepare.py tidak dapat diubah dan menangani evaluasi. train.py adalah sandbox agen tempat ia dapat memodifikasi kode apa pun. program.md ditulis oleh manusia dan mendefinisikan arah riset, batasan, dan aturan eksperimen. Kedua pihak tidak boleh menyentuh berkas pihak lain.

Apa saja keterbatasan AutoResearch?

Keterbatasan utama adalah batas kreativitas. Karena ratchet hanya menyimpan perubahan yang segera meningkatkan val_bpb, agen tidak bisa mengambil langkah mundur untuk menyiapkan keuntungan yang lebih besar. Agen cenderung berputar pada variasi kecil dari apa pun yang terakhir berhasil, menemukan peningkatan bertahap alih-alih penemuan arsitektural.

Bagaimana perbandingan AutoResearch dengan AutoML dan AlphaEvolve?

Kerangka AutoML dan NAS mencari ruang parameter yang telah ditentukan dengan algoritme terstruktur. AlphaEvolve menggunakan pendekatan evolusioner dengan model Gemini tetapi bersifat tertutup. AutoResearch memberi kebebasan kepada LLM untuk memodifikasi kode apa pun, bertaruh pada pengetahuan umum alih-alih ruang pencarian terbatas, dan sepenuhnya open-source di bawah lisensi MIT.

Bexruz (Bex) Tuychiev

Penulis

Bexruz (Bex) Tuychiev

Saya adalah kreator konten data science dengan pengalaman lebih dari 2 tahun dan salah satu dengan jumlah pengikut terbesar di Medium. Saya suka menulis artikel mendalam tentang AI dan ML dengan sedikit gaya sarkastik—karena harus ada sesuatu untuk membuatnya tidak terlalu membosankan. Saya telah menghasilkan lebih dari 130 artikel dan satu kursus di DataCamp, dengan satu lagi sedang dalam proses. Konten saya telah dilihat oleh lebih dari 5 juta pasang mata, dan 20 ribu di antaranya menjadi pengikut di Medium dan LinkedIn. 

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026