Sphinx: Yapay Zekanın Yazdığı Kodu Canlıya Almadan Önce Sizi Sınayan Git Kancası
Kaynak: Hacker News
İçindekiler 5 başlık
Düşünmeyi Devredin, Anlamayı Değil#
Yapay zeka destekli kodlama ajanları geliştirme hızımızı katlarken önemli bir riski de beraberinde getiriyor: Kodu gerçekten anlamadan canlıya almak (shipping). Sphinx, tam bu noktada devreye giren ücretsiz ve açık kaynaklı (FOSS) bir Git kancasıdır (Git hook). Temel felsefesi oldukça nettir: "Düşünmeyi dış kaynaklara devredin, anlayışınızı değil."
Ajanınızın yazdığı kod ana dala gönderilmeden hemen önce Sphinx süreci durdurur ve size o kodun gerçekte ne yaptığına dair kritik bir soru sorar. Minimum token tüketecek şekilde tasarlanan bu araç; mevcut kodlama ajanınız, OpenRouter veya OpenAI uyumlu herhangi bir uç nokta (endpoint) üzerinden kolayca çalışabilir.
Gerçek Bir Senaryo: Kodunuzu Ne Kadar Tanıyorsunuz?#
Örneğin git push origin main komutunu çalıştırdığınızda ve binlerce satırlık bir değişiklik (diff) gönderildiğinde Sphinx devreye girerek şöyle bir diyalog başlatır:
- Sphinx: Webhook işleyiciniz artık
charge()fonksiyonunu çağırmadan önce etkinlik kimliğini (event ID) kaydediyor. Stripe zaman aşımına uğrar ve aynı etkinliği tekrar gönderirse, yeniden denemede (retry) ne olur? - Siz: İki kez çalışır, dolayısıyla müşteriden iki kez ücret alınır.
- Sphinx: Pek sayılmaz. Yeniden deneme kaydedilen kimliği bulur ve ücret almadan 200 döndürür. Ancak bu kimlik, ödeme başarılı olmadan önce kaydediliyor. Eğer
charge()başarısız olursa bir sonraki deneme ne yapar? - Siz: Ödemeyi atlar, böylece müşteriye hiçbir zaman fatura kesilmez.
- Sphinx: ✓ Anlaşıldı.
origin/maindalına gönderiliyor.
Bu örnek diyalog, yapay zekanın ürettiği kodlardaki ince mantık hatalarını (idempotency ve hata yönetimi gibi) geliştiricinin fark etmesini sağlayan harika bir aktif öğrenme pratiğidir.
Sphinx Nasıl Çalışır?#
Sistemin işleyişi üç temel adımdan oluşur:
- 01 Siz (veya ajanınız) kodu gönderirsiniz: Git, koruma altına aldığınız dallarda (branch) gönderim işlemini duraklatır.
- 02 Sphinx sorar: Ajanla yaptığınız sohbet geçmişini hiç görmemiş bağımsız bir inceleyici, sadece kod farklarını (
diff) okur ve işler ters gittiğinde bu değişikliğin ne yapacağını sorar. - 03 Siz yanıtlarsınız: Yanlış cevap verirseniz nedenini öğrenir ve yeni bir senaryo ile tekrar denersiniz. Doğru cevap verdiğinizde ise
pushişlemi kaldığı yerden devam eder.
Güvenlik, Entegrasyon ve Pratik Çıkarımlar#
Sphinx; Codex, Claude Code, Cursor, OpenCode, Pi veya doğrudan standart Git ile sorunsuz çalışır. Güvenlik ve gizlilik açısından verdiğiniz yanıtlar asla kodlama ajanına geri gönderilmez; .env dosyaları ve gizli anahtarlar kesinlikle açılmaz. Çok aceleniz olduğu durumlarda sphinx yolo komutu ile kontrolleri atlayarak geçiş yapabilirsiniz ancak atlanan her adım kayıt altına alınır.
Bir Dakikada Kurulum ve Başlangıç#
Aracı sisteminize dahil etmek (Node 22.19+ ile macOS, Linux veya WSL üzerinde) oldukça basittir:
npm install -g sphinx-understand
sphinx install
# ardından her zamanki gibi gönderin
git push
sphinx install komutu Git ile kodlama ajanlarınızı birbirine bağlar ve hangi modelin inceleme yapacağını seçmenizi sağlar.
Mühendislik ve Öğrenme Çıkarımı: Ajanların yazdığı kodu körü körüne onaylamak teknik borcu hızla büyütür. Sphinx gibi araçlar, kod inceleme (code review) sürecini interaktif bir sınava dönüştürerek geliştiricinin sistem mimarisi üzerindeki hakimiyetini korumasına ve uç durumları (edge cases) proaktif olarak öğrenmesine yardımcı olur.
Bu konuyu derinlemesine öğrenmek isterseniz: Production'da Agent Güvenilirliği modülüne göz atın.
Kaynak ve atıf
Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- sphinx-six-theta.vercel.app