← Blog'a dön

Bilimsel Keşif Olarak Git Commit: Autoresearch Sürüm Kontrolünü Nasıl Araştırma Laboratuvarına Dönüştürür

· Save Team
aiautoresearchgitkarpathyversion-controlresearchprogramming

Geleneksel yazılım geliştirmede git commit “bu kod çalışıyor” anlamına gelir. Karpathy’nin autoresearch’ünde git commit farklı bir anlam taşır: “bu değişiklik modeli ölçülebilir şekilde daha iyi yaptı.”

Her commit küçük bir bilimsel keşiftir. Her git reset tutmayan bir hipotezdir. Git log’u, bir AI ajanı tarafından otomatik olarak yazılan bir araştırma günlüğü haline gelir.

Bu, araştırma aracı olarak yeniden tasarlanmış sürüm kontrolüdür.

İkili Karar

Autoresearch’ün git kullanımı zarif derecede basittir:

  1. Ajan train.py’ı değiştirir
  2. Eğitim 5 dakika çalışır
  3. Doğrulama kaybı ölçülür
  4. Gelişme varsa: git commit --- değişiklik kalıcı
  5. Gelişme yoksa: git reset --- değişiklik hiç olmadı

Pull request yok. Kod incelemesi yok. Birleştirme çakışması yok. Sadece ikili bir karar: bu değişiklik işleri daha iyi mi yaptı yoksa değil mi?

Bu, iyileştirmelerin temiz ve doğrusal bir geçmişini oluşturur. Log’daki her commit, doğrulanmış bir ilerleme adımını temsil eder. Gürültü yok --- “WIP” commit’leri, “yazım hatası düzelt” commit’leri, “geri al geri al” zincirleri yok. Sadece her biri modeli ölçülebilir şekilde daha iyi yapan değişiklikler dizisi.

Araştırma Günlüğü Olarak Git Log

Bir gecelik autoresearch oturumunun ardından git log’u bir araştırma defteri gibi okunur:

Her commit mesajı (AI ajanı tarafından yazılmış) neyin değiştirildiğini ve ne etkisi olduğunu açıklar. Diff tam olarak hangi kodun değiştirildiğini gösterir. Doğrulama kaybındaki iyileşme kaydedilir.

Bu, geleneksel ML araştırmasından çok daha fazla denetlenebilirdir. “Öğrenme hızını ayarlamayı denedim, yardımcı gibi göründü” diyen bir araştırmacının notları yerine, kesin bir diff’iniz, kesin bir ölçümünüz ve tekrarlanabilir bir sonucunuz var.

Oturumlar Arasında Hafıza

Git, autoresearch’e AI ajanlarının çaresizce ihtiyaç duyduğu bir şeyi verir: kalıcı hafıza.

Yeni bir autoresearch oturumu başlattığınızda, ajan daha önce nelerin denendiğini anlamak için git geçmişini okuyabilir. Hangi yönlerin iyileşme sağladığını, hangilerinin sağlamadığını görebilir. Bu, ajanın başarısız deneyleri yeniden denemesini engeller ve başarılı olanların üzerine inşa etmesine yardımcı olur.

Bu, birlikte çalışan Markdown ve git: program.md dosyası stratejik yön sağlar (ne denenecek) ve git geçmişi taktik bağlam sağlar (ne denenmiş).

Bileşik Etki

Her başarılı commit yeni temel haline geldiğinden, iyileştirmeler birikimlenir. Ajan her gece sıfırdan başlamaz --- o ana kadar elde edilen en iyi sonuçtan başlar.

Karpathy’nin iki günlük çalışmasında yaklaşık 20 iyileştirme birikti. Her biri küçüktü, ancak birlikte GPT-2 eğitim süresini %11 azalttılar. Ajan birbirine dayanan dikkat ölçekleme, düzenlileştirme ve hiperparametrelerde optimizasyonlar buldu.

Bu, git tabanlı yaklaşımın gücü: doğal olarak bir dişli çark oluşturur. İlerleme commit olarak kilitlenir. Başarısızlıklar atılır. Kod tabanı yalnızca ilerler.

Ne Geri Alınır

Başarısız deneyler --- git reset işlemleri --- başarılar kadar ilginçtir. Tipik bir gecelik çalışmada, deneylerin yaklaşık %70-80’i geri alınır.

Bu geri alınan deneyler boşa gitmez. Ajanın gelecekteki kararlarını şekillendiren negatif sonuçlardır. Ajanlararası hafıza ve paylaşılan git geçmişiyle, dağıtılmış bir autoresearch sistemi tüm sürüdeki başarısızlıklardan öğrenebilir.

Deney Veritabanı Olarak Git

Geleneksel ML araştırması, hiperparametreleri, metrikleri ve artefaktları kaydetmek için deney takip araçları kullanır --- MLflow, Weights & Biases, Neptune.

Autoresearch bunların hepsini git ile değiştirir. Commit geçmişi deney log’udur. Diff’ler hiperparametre değişiklikleridir. Commit mesajları deney açıklamalarıdır.

Bu basitleştirme güçlüdür. Ayrı bir deney veritabanı yoktur. Yapılandırılacak pano yok. Tanımlanacak şema yok. Sadece her geliştiricinin zaten bildiği git.

Daha Geniş Kalıp

Git-araştırma-günlüğü kalıbı ML eğitiminin ötesinde çalışır:

  • Kod optimizasyonu: Her commit, kodu daha hızlı yapan bir değişikliği temsil eder
  • Test kapsamı: Her commit, test kapsamını iyileştiren bir değişikliği temsil eder
  • Hata düzeltme: Her commit, başarısız bir testi çözen bir düzeltmeyi temsil eder
  • İçerik optimizasyonu: Her commit, ölçülebilir bir metriği iyileştiren bir değişikliği temsil eder

“Daha iyi” ve “daha kötü”yü otomatik olarak ölçebildiğiniz herhangi bir alan, git’i deney takipcisi olarak kullanabilir.

İnsanın Rolü: Log’u Okumak

Agentic engineering’de, bir gecelik autoresearch oturumunun ardından insanın sabah rutini git log’unu okumaktır.

Bu, kod yazmaktan farklı bir beceridir. AI tarafından oluşturulan bir değişiklikler serisini değerlendiriyor, her birinin neden işe yaradığını anlıyor ve genel yönün doğru olup olmadığına karar veriyorsunuz. Bu incelemeye dayanarak, bir sonraki oturumu yönlendirmek için program.md’nizi güncelliyorsunuz.

Git log, insan ve ajan arasındaki iletişim kanalıdır. Ajan commit’ler aracılığıyla iletişim kurar. İnsan program.md güncellemeleri aracılığıyla iletişim kurar. Markdown her iki yönde de akar.

Git Dostu Bilgi Oluşturma

Etkili program.md dosyaları yazmak --- temiz, anlamlı git geçmişleri üretenler --- hem alanı hem de araçları anlamayı gerektirir. En iyi ajan talimatları, problem alanını derinlemesine incelemiş insanlardan gelir.

Referans materyali temiz Markdown olarak kaydetmek, ajan talimatları yazarken başvurabileceğiniz bir bilgi tabanı oluşturur. Belgeler, araştırma makaleleri ve en iyi uygulamalar, hepsi bir program.md’ye ve nihayetinde keşiflerin git geçmişine doğal olarak akan formatta.


Save herhangi bir web sayfasını temiz Markdown’a dönüştürür --- etkili AI ajan talimatlarını ve otonom araştırmayı destekleyen bilgi kitaplığını oluşturur. Save’i ücretsiz deneyin.