Blog'a Dön
AICode ReviewOpen SourceCLIDeveloper ToolsLLM

Quorate: Kodunuz İçin Bir Yapay Zekâ Gözden Geçirenler Konseyi

Umut Korkmaz2026-05-137 min read

Tek bir yapay zekâ modelinin kodumu incelemesini, sınırlarını bilecek kadar uzun süre izledim. Hızlı, akıcı ve tehlikeli olacak kadar sık biçimde kendinden emin biçimde yanılıyor. Sorun modelin kötü olması değil. Sorun, tek bir gözden geçirenin — insan ya da makine — tek bir bakış açısı, tek bir kör nokta seti ve tek bir aşırı güven biçimi olması. Bu yüzden Quorate'i inşa ettim; kavram olarak basit ve pratikte şaşırtıcı derecede faydalı bir şey yapan açık kaynak bir CLI: bir konsey toplar. Birkaç model aynı farkı (diff) paralel olarak inceler, her biri bağımsız bir gözden geçiren olarak, sonra verdikleri kararlar tek bir eyleme dönük incelemede sentezlenir. Paket npm'de quorate olarak, kaynak GitHub'da UmutKorkmaz altında ve MIT lisanslı.

Neden Tek Gözden Geçiren Yeterli Değil

Tek bir modelden bir farkı incelemesini istediğinizde, tam hissettiren akıcı bir cevap alırsınız. O his tuzaktır. Bir model, bir döngü sınırındaki off-by-one (bir-kayma) hatasını atlarken adlandırma konvansiyonları hakkında üç paragraf yazmaya seve seve girişir. Aynı farkı verildiğinde başka bir model, sınır hatasını yakalar ve ince kaynak sızıntısını kaçırır. Hiçbiri tam olarak yanlış değil. Her biri, eğitimleri ve o belirli gündeki kod çözme (decoding) tuhaflıkları tarafından şekillendirilmiş dar bir açıklıktan bakıyor.

İnsan kod incelemesi bunu uzun zaman önce sosyal olarak çözdü. Önemli olan hiçbir şeyi tek bir kişinin onaylamasına izin vermeyiz. İkinci bir göz çifti getiririz tam da bağımsız bakış açıları tek bir gözden geçirenin kaçırdığını yakaladığı için. Quorate o içgüdüyü alır ve modellere uygular. Birkaçını aynı değişiklik üzerinde çalıştırarak, tek-model kör noktalarını azaltır ve tek bir cilalı cevaptan gelen yanlış güveni delersiniz. Gözden geçirenler arasındaki anlaşmazlıklar, üstü kapatılacak gürültü değildir. Tüm sürecin en değerli sinyalidir.

Konsey Nasıl Çalışır

Mekanik kasıtlı olarak gösterişsiz. Quorate bir farkı alır, onu yapılandırılan sağlayıcılara dağıtır (fan out) ve her modeli aynı girdi üzerinde kendi gözden geçireni olarak çalıştırır. Birbirlerinin yanıtlarını görmezler. O izolasyon önemli çünkü gözden geçirenler birbirini okuyabildiği an, sürü davranışı (herding) alırsınız; orada daha zayıf bir görüş diğerlerini sabitler ve uğruna ödediğiniz çeşitlilik çöker.

Her gözden geçiren kendi bulgularını döndürür: bulduğunu düşündüğü hatalar, işaretlediği riskler, değiştireceği şeyler. Zincirleme yerine paralel çalıştıkları için, duvar saati (wall-clock) maliyeti, hepsinin toplamı yerine kabaca en yavaş model kadardır. Daha fazla token harcıyorsunuz, daha fazla zaman değil ve çıktı, üzerine eyleme geçeceğiniz bir inceleme olduğunda genellikle istediğiniz takas budur.

Anlaşmazlığa Düşen Gözden Geçirenleri Sentezlemek

İlginç mühendislik, birkaç modeli çağırmakta değil. Söylediklerini birleştirmekte. Üç gözden geçiren nadiren temiz biçimde anlaşır. Biri, diğerlerinin görmezden geldiği bir güvenlik endişesi işaretler. İkisi bağımsız olarak aynı mantık hatasına, farklı ifade edilmiş, varır. Biri var olmayan bir sorun icat eder. Sentez, tüm bunları bir insanın üç tam incelemeyi okumadan eyleme geçebileceği bir şeye sıralamak zorundadır.

Sürekli geri döndüğüm sezgisel kural, bir güven sinyali olarak yakınsama (convergence). Birden fazla bağımsız gözden geçiren aynı soruna vardığında, o sorun en üste taşınır çünkü birbirini göremeyen modeller arasındaki anlaşma sahtelemesi zordur. Yalnızca bir gözden geçiren tarafından dile getirilen bir bulgu atılmaz ama tam olarak öyle sunulur: bir konsensüs kararı değil, bir bakışa değer tek bir bakış açısı. Sentez adımı ayrıca tekilleştirme (dedup) yapmalıdır çünkü üç şekilde tarif edilen aynı hata bir kez görünmelidir ve her şeyi bulamaca (mush) ortalama etme dürtüsüne direnmelidir. Bir şeyin hata olup olmadığına dair gerçek bir anlaşmazlık, çözülmektense yüzeye çıkarıldığında daha faydalıdır.

Gerçekte Ödediğiniz Maliyet ve Gecikme

Takas konusunda dürüst olmak istiyorum çünkü bir konsey ücretsiz değil. Her fark üzerinde birkaç model çalıştırmak token harcamanızı düpedüz katlar. Küçük bir değişiklik için bu önemsizdir. Her commit'te incelenen büyük bir yeniden düzenleme için birikir ve konseyin ne zaman toplanmaya değer olduğu konusunda bilinçli olmalısınız. Tek satırlık bir yazım hatası düzeltmesinde beş gözden geçiren çalıştırmıyorum. Onları, kaçırılan bir hatanın pahalıya mal olduğu değişikliklerde çalıştırıyorum: kimlik doğrulamaya, paraya, veri geçişlerine veya eşzamanlılığa (concurrency) dokunan herhangi bir şey.

Gecikme, paralellik nedeniyle maliyetten daha yumuşaktır ama sıfır değildir. Hâlâ en yavaş gözden geçireni artı sentez geçişini bekliyorsunuz. Pratikte bu dakikalar değil saniyelerdir; bu da bir commit öncesi veya push öncesi kapı için iyidir ve muhtemelen her tuş vuruşunda çalıştırmak için çok yavaştır.

Konsensüsün Ne Zaman Sinyal Ne Zaman Gürültü Olduğu

İzlediğim başarısızlık modu, anlaşmayı gerçek olarak ele almaktır. Bazen modeller, haklı oldukları için değil, aynı kör noktayı paylaştıkları için yakınsar. Her gözden geçiren aynı türden kod üzerinde eğitildiyse, hepsi aynı hata sınıfını kendinden emin biçimde kaçırabilir ve oybirliğiyle onayları size yanlış bir rahatlık verir. Sağlayıcı çeşitliliği burada savunmanın bir parçasıdır ama bir garanti değildir.

Bu yüzden bir Quorate incelemesini bir insanınkini okuduğum gibi okurum: bir karar olarak değil, bir girdi olarak. Konsey, ağı genişletmekte ve tek bir modelin gömeceği sorunları yüzeye çıkarmakta çok iyidir. Kendi değişikliğinizi anlamanın yerine geçmez. Size satın aldığı şey, üretimde daha az sürpriz ve kendisinden fazla emin olan herhangi bir tek gözden geçirene sağlıklı bir güvensizliktir; bu da yeterli yıldan sonra, en başta incelemeden istediğim şeyin çoğudur.