pi-autoresearch: open source yang menggeneralisasi ide "eksperimen otonom AI" dari Karpathy
(github.com/davebcn87)Ringkasan satu baris
Mencoba ide → mengukur → jika membaik dipertahankan, jika tidak dibuang → lalu diulang selamanya.
pi-autoresearch adalah ekstensi untuk agen coding AI terminal pi, sebuah proyek yang menggeneralisasi konsep autoresearch dari Karpathy agar bisa diterapkan ke masalah optimisasi apa pun.
Pertama, apa itu pi?
pi adalah agen coding AI yang berjalan di terminal. Berbeda dari alat berbasis IDE seperti Cursor atau Windsurf, pi dirancang native untuk terminal sehingga bisa digunakan apa adanya di lingkungan akses SSH atau server headless.
Fitur inti pi adalah sistem Extension dan Skill:
- Extension — menambahkan alat (tool) baru ke agen. Selain alat dasar seperti baca/tulis file dan eksekusi perintah, Anda bisa menyisipkan alat kustom seperti plugin.
- Skill — mengajarkan pola kerja untuk tugas tertentu. Anda mendefinisikan workflow seperti “dalam situasi ini, gunakan alat-alat ini dengan urutan seperti ini”.
Dengan satu baris pi install <github-url>, Anda bisa memasang Extension dan Skill buatan komunitas, sehingga kemampuan agen dapat diperluas dengan bebas. pi-autoresearch adalah paket Extension+Skill yang dibangun di atas sistem ini.
Latar belakang: autoresearch dari Karpathy
Pada Maret 2026, ide autoresearch yang diperkenalkan Karpathy sangat sederhana:
- Memberi agen AI satu file kode pelatihan LLM (
train.py) - Membiarkannya memodifikasi kode lalu menjalankan pelatihan selama 5 menit
- Jika validation loss membaik maka keep, jika tidak maka discard
- Mengulanginya semalaman → saat bangun pagi ada log eksperimen + model yang lebih baik
Dengan desain yang sangat minimalis (3 file, 1 GPU, 1 metrik), proyek ini berfokus membuktikan konsep bahwa “agen dapat menjalankan peran peneliti secara otonom”. Namun, sejak awal ada batasan bawaan: hanya untuk GPU NVIDIA dan hanya bisa diterapkan pada pelatihan LLM.
Apa yang berbeda dari pi-autoresearch
1. Tidak ada batasan domain
Bukan hanya loss pelatihan LLM, apa pun yang bisa diukur dapat dijadikan target optimisasi, seperti kecepatan menjalankan test, ukuran bundle, build time, dan skor Lighthouse. Ini dimungkinkan berkat struktur pemisahan antara “infrastruktur (Extension)” dan “pengetahuan domain (Skill)” di pi.
- Kecepatan test — seconds ↓ —
pnpm test - Ukuran bundle — KB ↓ —
pnpm build && du -sb dist - Pelatihan LLM — val_bpb ↓ —
uv run train.py - Lighthouse — perf score ↑ —
lighthouse --output=json
2. Tidak kehilangan ingatan meski direstart
Agen AI memiliki batas context window, sehingga dalam eksperimen jangka panjang konteks bisa ter-reset atau prosesnya mati. pi-autoresearch menyimpan status sesi sepenuhnya dalam dua file:
autoresearch.jsonl— log append-only dari semua eksperimenautoresearch.md— ringkasan tujuan, apa yang sudah dicoba, jalan buntu, dan hasil utama
Bahkan jika agen baru yang sama sekali tidak punya memori dimasukkan, ia bisa melanjutkan sesi sebelumnya secara akurat hanya dengan membaca dua file ini. Pada praktiknya, ini adalah pola “memori eksternal untuk agen”.
3. Membedakan peningkatan nyata dari noise
Benchmark bisa menghasilkan nilai berbeda setiap kali dijalankan meskipun kodenya sama. Setelah 3 kali atau lebih percobaan, sistem secara otomatis menghitung confidence score berbasis MAD (Median Absolute Deviation) untuk menampilkan secara visual apakah peningkatan itu nyata atau hanya noise.
- 🟢 ≥ 2.0× — kemungkinan besar peningkatannya nyata
- 🟡 1.0–2.0× — lebih dari sekadar noise, tetapi kecil
- 🔴 < 1.0× — masih dalam rentang noise, disarankan jalankan ulang
Namun, eksperimen tidak dibuang secara otomatis; keputusan akhir tetap diserahkan ke agen.
4. Mencegah optimisasi merusak correctness
Jika Anda menaruh autoresearch.checks.sh, maka setelah benchmark lolos, validasi correctness seperti test, typecheck, dan lint akan dijalankan secara otomatis. Jebakan klasik “lebih cepat, tapi test jadi rusak” diblokir di level sistem.
5. Merapikan hasil eksperimen menjadi PR yang bersih
Setelah eksperimen selesai, skill autoresearch-finalize mengelompokkan eksperimen yang di-keep menjadi changeset yang logis lalu memisahkannya ke branch git yang independen. Karena dijamin tidak ada file yang saling tumpang tindih, setiap branch bisa direview dan di-merge secara terpisah.
Workflow
1. /autoresearch optimize unit test runtime
→ menetapkan tujuan, perintah, dan metrik → mengukur baseline → mulai loop
2. Loop otonom (ulang tanpa batas)
→ modifikasi kode → git commit → benchmark → validasi correctness
→ membaik? keep / memburuk? revert → catat ke .jsonl → ulangi
3. /skill:autoresearch-finalize
→ rapikan eksperimen yang di-keep menjadi branch independen → review·merge
Pengendalian biaya
Karena loop otonom terus mengonsumsi token, tersedia dua guardrail: pengaturan batas API key dan maxIterations (jumlah maksimum eksperimen per sesi).
Kenapa ini layak diperhatikan
Jika autoresearch dari Karpathy adalah pembuktian konsep menarik bahwa “AI bereksperimen sendiri”, maka pi-autoresearch adalah upaya menjadikannya alat serbaguna yang bisa dipakai di lingkungan pengembangan nyata. Karena dibangun di atas arsitektur Extension/Skill milik pi, cukup satu baris instalasi untuk langsung menempelkannya ke workflow pi yang sudah ada, sehingga hambatan masuknya lebih rendah.
Aspek yang mengesankan adalah bagaimana proyek ini secara sistematis menyelesaikan masalah-masalah praktis seperti pelestarian status sesi, verifikasi kepercayaan statistik, perlindungan correctness, dan workflow yang native Git. Menarik untuk melihat apakah workflow “jalankan semalaman lalu review PR di pagi hari” benar-benar menjadi kenyataan.
2 komentar
Memang pi
Saya sangat suka pi