Önce harita, sonra inceleme
> Kodlama ajanını yazmaya başlamadan önce bir repo haritasına dayandırın. Greptile'ın pull request'i sonrasında incelemesine izin verin. Birbirini tamamlayan bir çift, bir değişim değil.
Bir pull request’in her iki tarafında da iki farklı iş oturur. Ajan yazmadan önce, değiştirmek üzere olduğu ağacın bir haritasına ihtiyacı vardır. Ajan bir PR açtıktan sonra, bir şeyin bu değişikliği sistemin geri kalanıyla karşılaştırarak okuması ve bir insanın harekete geçebileceği yorumlar bırakması gerekir.
Bu işler uzaktan bakıldığında benzer görünür çünkü ikisi de ‘kod tabanını anlamayı’ içerir. Aynı ürün değildirler. Biri ‘bu değişiklik nereye inmeli?’ sorusuna cevap verir. Diğeri ‘satır satır kontrol eden bir linter’ın gözden kaçıracağı şeyi bu diff neyi bozdu?’ sorusuna cevap verir. Onları karıştırmak, daha kötü bir ilk taslak ve daha gürültülü bir inceleme üretir.
Bu yazı, ortak bir iş akışı kılavuzudur. Maguyva, ajanın önce sorguladığı haritadır. Greptile, PR’ı sonrasında yorumlayan inceleme ajanıdır. Çift, yapı gereği birbirini tamamlar: Maguyva pull request’leri incelemez ve Greptile, ajanın onları yazmak için kullandığı bağlam katmanının yerini almaz.
Bu ayrımın neden yararlı olduğu
Eğitim önyargıları artı birkaç yapıştırılmış dosyadan yola çıkan bir kodlama ajanı, makul bir yol uydurur ve onu düzenler. Bu, ‘yanlış dosya’ başarısızlığıdır ve bir getirme sorunudur. Maguyva, uzak bir MCP kod tabanı bağlam katmanıdır: semantik, yapısal (AST), graf/bağımlılık ve metin getirme sıralanmış sonuçlarda birleştirilir, artı sembol arama ve dosya getirme. Temellendirilmiş yanıtlar path/file.ext:line olarak döner, böylece bir yama var olmadan önce bir isabetsizliği reddedebilirsiniz. İddia mütevazı kalır: daha az halüsinasyon görülen değişiklik. Model yine de tahmin edebilir. Sadece ilk adım artık bir tahmin olmaktan çıkar.
Greptile, yapay zeka destekli bir kod inceleme ajanıdır. Kendi ifadeleriyle, kod tabanının tam anlaşılmasıyla her pull request’i otomatik olarak inceler ve bunu, sistemin tamamı yerine dosyaları tek tek kontrol eden geleneksel linter’larla karşılaştırır. Kurulum, GitHub veya GitLab uygulamasını yüklemekten ve repoları seçmekten ibarettir. İşletmeniz gereken yerel bir indeks yoktur. Barındırma Greptile Cloud’dadır (talep üzerine sunulan bir raporla SOC 2 Type II uyumluluğu beyan ederler), işletmelere sunulan kendi kendine barındırma seçeneğiyle birlikte.
Kendi numaralandırılmış akışları şöyledir: bağlanın ve her fonksiyonun, sınıfın ve bağımlılığın bağımlılık grafını oluşturun; her pull request’te, bu tam repo grafını kullanarak değişikliği analiz edin ve bulguları önerilen düzeltmelerle birlikte yaklaşık üç dakikada PR yorumları olarak yayınlayın; her yorum, sorunu ekibin zaten kullandığı bir kodlama ajanına devredebilir. Ayrıca, bir ekibin kod standartlarını öğrenmek ve gürültülü önerileri azaltmak için zaman içinde önceki insan PR yorumlarını okuduklarını belirtiyorlar. Kendi ifadelerine göre öğrenme sistemlerinin uyum sağlaması 2-3 hafta sürüyor.
Bu, taslak hazırlama değil incelemedir. Greptile’ın öne çıkan yanı, bir PR’a zaten inmiş olan değişiklik üzerindeki tam repo grafı bağlamıdır, ardından bulguyu Claude Code, Codex, Conductor, Cursor veya Devin’e gönderen kapalı bir döngüdür. Maguyva’nın öne çıkan yanı, o değişiklik yazılmadan önce ajanın sorguladığı sıralanmış haritadır. İkisini de kullanın. Hiçbirinden diğerinin işini yapmasını istemeyin.
Maguyva–Greptile arasında birinci taraf bir ürün entegrasyonu belirtilmemiştir. Buna ihtiyacınız da yok. Maguyva, ajanla MCP üzerinden konuşur. Greptile, GitHub veya GitLab ile kendi uygulaması üzerinden konuşur. Pull request’te buluşurlar. Ne bir yapıştırma betiği, ne de bir aracı diğerine bağlayan bir cron var. Çift bash’siz idare eder çünkü her ürün zaten kendisine ait olan yüzeyde oturur.
Bu ne değildir
Bu, Greptile’ı yerin dibine sokan bir yazı değildir. ‘İnceleyicinizi değiştirin’ sayfası da değildir. Greptile, 5 Mart 2024’te Y Combinator W24 şirketi olarak Hacker News’te lanse edildi ve o thread, birçok insanın ürünle ilk kez tanıştığı yoldur. Onları böyle bulduysanız, onları kullanmaya devam edin. Bu sayfa, o döngünün eksik ön yarısıdır: Greptile’ın gördüğü PR’ın zaten doğru dosyaları hedeflemesi için ajanı önceden temellendirmek.
Greptile’ın pazarlama materyalleri, inceleme hızı ve hata yakalama iddialarıyla başlıyor. Bunları bağımsız olarak doğrulanmış rakamlar olarak değil, Greptile’ın kendi iddiaları olarak değerlendirin. Bu yazı onları gerçekmiş gibi tekrar etmiyor.
Dil kapsamı da aynı türden bir dürüstlüktür. Greptile, desteği numaralandırılmış bir liste yerine tüm programlama dillerini kapsayan bir çerçeve olarak sunar; kesin bir sayı belirtilmemiştir. Maguyva, 279’dan fazla dil ve metin tabanlı teknoloji için destek yayımlar; soru teknik olduğunda sitede teknik bir ayrım (ayrıştırıcı destekli AST’ye karşı yalnızca metin) sunar. Bunlar farklı iddialarda bulunan farklı ürünlerdir. Onları karıştırmayın.
Greptile’ın fiyatlandırması, bu yazının kullanabileceği materyallerde belirtilmemiştir. Ücretli planlar mevcuttur; onların fiyat sayfasına bakın. Maguyva, koltuk başına değil çalışma alanı başına ücretlendirir. Planlar ücretsiz başlar. Çalışma alanı rakamlarına ihtiyacınız varsa fiyat sayfası yayımlanmış katmanları listeler.
İş akışı
Üç isimlendirilmiş aşama. Bunları bu sırayla uygulayın. Çifti ilk denediğinizde hiçbirini atlamayın.
1. Maguyva bağlamı
Zaten bildiğiniz bir repoyu indeksleyin. Zaten içinde yazdığınız MCP istemcisini bağlayın — Claude Code, Cursor, Codex CLI, VS Code, Windsurf veya başka bir MCP uyumlu istemci. Maguyva’nın 24 belgelenmiş MCP istemcisi için kurulum kılavuzları vardır ve standart MCP yapılandırmasını destekleyen diğer istemcilere bağlanabilir.
Kimse bir satır yazmadan önce değerlendirebileceğiniz bir soru sorun. ‘Oturum süresi dolması nerede işleniyor ve bunu ne çağırıyor?’ sorusu ‘auth’u düzelt’ demekten daha iyi bir ilk hamledir. Alıntı talep edin. file.ext:line sonuçlarını açın. Sembolü takip edin. Dokunmak üzere olduğunuz bağımlılığı doğrulayın.
Maguyva, arama, semboller, bağımlılık analizi, dosya getirme, repo bağlamı ve deterministik yardımcı araç iş akışları genelinde 11 müşteriye yönelik MCP aracı sunar. Dört getirme modu sıralanmış sonuçlarda birleştirilir; adını zaten biliyorsanız find_symbol ayrı bir araçtır. Belgeler en kısa yolu tanımlar: ücretsiz başlayın, zaten bildiğiniz bir repoyu indeksleyin, istemciyi bağlayın, sonra doğrulayabileceğiniz bir soru sorun.
Anlık görüntüler zaman damgalıdır, böylece ajan ağacın hangi sürümünü okuduğunu söyleyebilir. Dürüst sınırlama, senkronize edilmemiş yerel çalışmadır. Değişiklik yalnızca bir çalışma ağacında varsa ve push edilmemişse, barındırılan harita onu henüz içermez. Talimat dosyaları (CLAUDE.md, AGENTS.md), kurallar ve dokunulmaması gerekenler için burada yerini korumaya devam eder. Bunlar canlı bir harita değildir. Onları davranış için kullanın. Gerçekler için Maguyva’yı kullanın.
Alıntılar repoyla temas ettikten sonra hayatta kalana kadar ajanın bir PR açmasına izin vermeyin. Bu geçit, bu aşamanın tüm amacıdır.
2. Ajanın PR’ı
Aynı ajan artık değişikliği zaten ödeme yaptığınız istemcide yazar. Maguyva ne bir editör ne de bir inceleyicidir. Ajan yine de diff’i üretir. Siz yine de zaten yaptığınız gibi GitHub veya GitLab’da pull request’i açarsınız.
Farklı olması gereken şey ilk dosyadır. PR, davranışı gerçekten uygulayan işleyiciyi, bozulacak çağıranı ve değişiklik yanlışsa başarısız olacak testi adlandırmalıdır. Aşama 1 atlandıysa, aşama 3 yorumlarını yanlış pakete inmiş bir değişiklik üzerinde harcayacaktır. Greptile yine de sistemik sorunları bulabilir. Ayrıca bir halüsinasyon yoldan da kurtulmak zorunda kalmamalıdır.
PR’ı sınırlı tutun. Temellendirilmiş bir ilk dosya, modülü yeniden yazma lisansı değildir. Bu birbirini tamamlayan çift, ajan bir haritayla bir işi yaptığında ve ardından bir inceleyiciden sınırlandırılmış bir diff üzerinde başka bir iş yapmasını istediğinde çalışır.
3. Greptile incelemesi
Greptile, GitHub veya GitLab uygulaması aracılığıyla repoya zaten bağlıdır. Yeni pull request’te, oluşturduğu tam repo grafını kullanarak değişikliği analiz eder ve önerilen düzeltmelerle birlikte bulguları yorum olarak yayınlar. Kendi materyalleri bu geçişi yaklaşık üç dakikaya koyar.
Yorumları dikkatli bir ekip arkadaşını okur gibi okuyun: alıntılanan konumu açın, bulgunun gerçek olup olmadığına karar verin, sonra harekete geçin. Greptile’ın ‘Fix with your Agent’ sunduğu yerde, sorunu — dosya yolları, satır numaraları, önerilen kod — Claude Code, Codex, Conductor, Cursor veya Devin’e gönderir. ‘Fix All’, incelemedeki tüm sorunları bir kerede gönderir. Bu devir için bir Greptile MCP ve bir Claude Code eklentisi de sunuyorlar. Maguyva o isimlendirilmiş hedef listesinde yok; bu yokluk bir sorun değil. Maguyva işini zaten aşama 1’de yaptı. PR’ı yazan kodlama ajanı, düzeltme yükünü almalı olandır.
Greptile’ın öğrenme sistemi ekibinizin gerçekten bıraktığı yorumlara uyum sağlarken ilk 2-3 hafta gürültü bekleyin. Bu, onların belirttiği zaman çizelgesidir, çiftin bir kusuru değil. İnsan incelemesi döngüde kalır. Greptile, birleştirme düğmesi değil, otomatikleştirilmiş ilk geçiştir.
Bir Greptile yorumu, ajanın aşama 1’de hiç sorgulamadığı bir dosyaya işaret ediyorsa, bu yararlı bir sinyaldir. Ya harita bir çağıranı kaçırdı ya da ajan bir alıntıyı atladı. Taslağı yoruma göre düzeltin. İnceleyiciyi devre dışı bırakmayın.
Bu tamamlayıcılığı dürüst tutmanın yolu
- Maguyva her zaman önce. Yanlış dosyalı bir PR’ın incelenmesi, yine de yanlış dosyanın incelenmesidir.
- Greptile her zaman sonra. İyi alıntılanmış bir taslak, yine de tüm sistem düzeyinde bir diff okumasına ihtiyaç duyar.
- Maguyva’dan PR yorumları yayınlamasını istemeyin. Bunu yapmaz.
- Greptile’dan, hâlâ bir yol seçerken ajanın ilk getirme katmanı olmasını istemeyin. Bu, GitHub veya GitLab uygulamasının bağlı olduğu iş değildir.
- Onları ‘senkronize eden’ bir bash hattı uydurmayın. PR arayüzdür.
- Her iki tarafı da bağımsız olarak doğrulayın. Zaten bildiğiniz bir repoyu indeksleyin. Doğrulayabileceğiniz bir soru sorun. Sonra küçük bir PR açın ve Greptile’ın gerçekte ne yorumladığını okuyun.
Bir isim verildiğinde döngü sıradan hale gelir. Önce harita. Sonra ajanın PR’ı. Sonra inceleme. Her ürün, iyi olduğu pull request tarafında kalır.
// map first. review second. in that order.
İlgili okumalar
Maguyva yapım günlüğünden daha fazlası
Sizinle birlikte seyahat eden bağlam_
Cursor'ın indeksleyicisi Cursor içinde mükemmel çalışır. Maguyva, aynı ajanın diğer editörlerden, CLI'lerden ve CI'dan sorgulayabileceği barındırılan MCP haritasıdır.
Yerel bir indeksleyici olmadan bir yapay zeka ajanına büyük bir reponun bağlamını verme_
Dizüstü bilgisayarınızda yerel bir indeksleyici çalıştırmadan, buluttan bir kodlama ajanına büyük bir reponun sorgulanabilir bir haritasını nasıl verirsiniz.
Çok Modlu Füzyon Arama: Her Sorgu için Doğru Getiriciyi Seçmek_
'parseConfig nerede tanımlanmış' gibi bir sorgu, 'kimlik doğrulama nasıl çalışıyor' sorgusundan farklı bir arama ister. Maguyva niyeti sınıflandırır, dört getirim modalitesini buna göre ağırlıklandırır ve sonuçları ağırlıklı Reciprocal Rank Fusion ile birleştirir.