Sverklo, yerel olarak barındırılan bir kod arama sunucusu olarak, artık geliştiricilerin bir yapay zeka ajanı sonuç üzerinde işlem yapmadan önce, dosya keşfinden sembol grafiği akıl yürütmesine kadar bir sorgunun her adımını incelemesine olanak tanıyor.

Mevcut kodlama ajanları neden zorlanıyor

Çoğu kod üretme aracı, bir depoyu dev bir metin yığını gibi ele alır. Kod parçacıklarını gömer (embed), bir benzerlik araması yapar ve en yüksek puanlı parçacığı döndürür. Parçacık güncelliğini yitirmişse, kapsam dışındaysa veya sadece bir dosya adından ibaretse, ajan kaynağını gösteremez. Buradaki hata modu eksik bir kelime değil; bir bilginin nereden geldiğini ve hâlâ geçerli olup olmadığını insana söyleyen eksik bir bağlam katmanıdır.

Sverklo’nun dört katmanlı doğrulama modeli

Sverklo, geleneksel aramayı yapısal analizle katmanlandıran bir "mühendislik hipotezi" sunucusu olarak konumlanır:

  • Dosya Keşfi (File Discovery) – İndeks, .gitignore ve diğer yoksayma dosyalarını okur. Bir sonuca güvenmeden önce, hangi yolların gerçekten tarandığını görmek için indeksi sorgulayabilirsiniz.
  • Kod Yapısı (Code Structure) – Semboller; tanımları, içe aktarmaları (imports) ve çağrı ilişkilerini kaydeden bir grafikte yaşar. Bir arama sadece bir dosya yolu değil, sembol nesnesini döndürür; böylece doğru API yüzeyine atıfta bulunulduğunu teyit edebilirsiniz.
  • Bağlam Sunumu (Context Delivery) – Bir token bütçesi belirlediğinizde, Sverklo cevaba katkıda bulunan kod parçacıklarının bir haritasını döndürür. Bu harita, eşleşmenin BM25 anahtar kelime eşleşmesinden mi, ONNX tabanlı gömmelerden (embeddings) mi yoksa PageRank sıralamalı sembol grafiğinden mi geldiğini belirten bir found_by alanı içerir.
  • Bellek Defteri (Memory Ledger) – Sunucu her kararı günlüğe kaydeder. Bir dosya değişirse, defter ilgili bellek kaydını güncelliğini yitirmiş olarak işaretler ve önbelleğe alınan cevabın hâlâ geçerli olup olmadığını gösterir.

Getirme yığını (retrieval stack) nasıl çalışır

Sverklo yalnızca gömmelere (embeddings) güvenmez. Tam terim eşleşmeleri için klasik bir BM25 anahtar kelime motoru çalıştırır, bu sonuçları anlamsal benzerlik için ONNX tabanlı vektör gömmeleriyle zenginleştirir ve ardından yüksek etkili tanımları öne çıkarmak için sembol grafiği üzerinde bir PageRank algoritması uygular. Her bir sonucun hangi yöntemle üretildiğini açığa çıkararak, geliştiriciler uyuşmazlıkları —örneğin, gömme modelinin ilgisiz bulduğu bir BM25 eşleşmesini— fark edebilir ve hangi sinyale güveneceklerini seçebilirler.

Pratik kullanımlar

  • Tanınmayan kod tabanlarını keşfetme – Manuel olarak grep yapmaya gerek kalmadan bir fonksiyon adından tüm çağrıcılarına geçiş yapın.
  • Bağımlılık grafiklerini haritalama – Birden fazla paketi kapsayan içe aktarma zincirlerini görselleştirin.
  • Refaktör etkisini tahmin etme – Belirli bir dosya değiştiğinde hangi sembollerin bozulacağını görün.
  • Anlamsal soruları yanıtlama – "Bu yardımcı fonksiyon ne işe yarar?" diye sorun ve kaynak gösterilmiş, öz bir alıntı alın.

Dikkat edilmesi gereken tuzaklar

  • Güncellik – Yeniden indeksleme tamamlanmış olsa bile indeks zaman damgası eski kalabilir. En son çalışmanın güncel olduğunu varsaymak yerine her zaman index-status uç noktasını sorgulayın.
  • Proje kaydı – Bir projeyi kayıttan çıkarırken, mutlak dosya sistemi yolu yerine Sverklo tarafından sağlanan dahili proje adını kullanın; aksi takdirde işlem sessizce başarısız olacaktır.
  • Araç adlandırma tuhaflıkları – MCP ana bilgisayarları bazen proje adını iki kez başa ekleyerek sverklo_sverklo_impact gibi tanımlayıcılar oluşturabilir. Bir aracı çağırmadan önce ismi mutlaka kontrol edin.

Sırada ne var?

  1. Geçici bir depoyu klonlayın ve Sverklo'yu yerel olarak çalıştırın.
  2. Basit bir sembol araması yapın ve found_by alanını inceleyin.
  3. Bir kaynak dosyayı değiştirin ve aramayı yeniden çalıştırın; bellek defterinin güncelliğini yitirmiş kaydı nasıl işaretlediğine dikkat edin.
  4. Güncelliğini yitirmiş indeksleri otomatik olarak yakalamak için index-status kontrolünü derleme betiğinize (build script) entegre edin.

Özet

Sverklo, bir kod arama motorunu denetlenebilir bir kanıt zincirine dönüştürür. Geliştiricileri dosya kapsamını, sembol doğruluğunu, getirme yöntemini ve bellek güncelliğini doğrulamaya zorlayarak, yapay zeka destekli bir önerinin üretim ortamına ulaşmadan önce güvenilir olup olmadığına karar vermelerini sağlar.