« Tüm yayınlar

CodeEraser: LLM Kaynaklı Kod Tekrarına Karşı Deterministik Kapı

CodeEraser, AI destekli kod tabanlarında tekrar eden kodu ve bayat dokümanları yazma anında ve CI'da engelleyen deterministik, LLM'siz bir araç.

CodeEraser, uzun süreli LLM destekli kod tabanlarında sıkça görülen bir soruna odaklanan yeni bir araç: aynı fonksiyonun iki kez yazılması, aynı paragrafın birden fazla dosyaya yapıştırılması ve güncellemelerin var olanı değiştirmek yerine sürekli ekleme şeklinde birikmesi. Araç, kodu incelemek için başka bir modele başvurmak yerine tamamen LLM'siz çalışıyor; tree-sitter tabanlı ayrıştırma, winnowing algoritmasıyla parmak izi çıkarma, MinHash/LSH kümeleme ve kesin ağaç düzenleme mesafesi hesaplamalarıyla tekrarları deterministik biçimde yakalıyor.

Araç, yazma işlemleri diske ulaşmadan önce müdahale ediyor: değiştirilen içerikte zaten bulunmayan tam bir klon (T1/T2) veya yapılandırılmış satır bütçesini aşan bir dosya, PreToolUse aşamasında reddediliyor. Geri kalan her şey sonraki katmanlarda uygulanıyor — bir Stop-hook denetimi, pre-commit kancaları ve CI çıkış kodları — bu katmanlar yakın-kopya kodu (Zhang–Shasha ağaç düzenleme mesafesiyle), yeniden ifade edilmiş dokümantasyon tekrarını (kelime shingle'ları üzerinde Jaccard benzerliğiyle) ve ölü kodu (dile özgü erişilebilirlik analiziyle) kapsıyor. Kademeli 0-1000 arası bir denetim puanı gerilemelerin geri sızmasını engelliyor ve her karar rastgelelik veya saat kullanılmadan bayt bayt tekrarlanabilir.

Kontrollü bir testte — aynı tohum koda uygulanan yedi adımlık aynı görev iki kez çalıştırıldığında — CodeEraser olmadan biten sürüm dört tekrarlı klon bloğu, bir tekrarlanmış doküman parçası ve daha düşük bir denetim puanıyla (871/1000) sessizce kabul edildi. CodeEraser devredeyken iki yazma işlemi doğrudan reddedildi, bayat bir doküman referansı otomatik silindi ve denetim puanı 979/1000'e ulaştı. Uzun AI destekli kodlama oturumları yürüten ekipler için bu tür deterministik, LLM içermeyen bir kapı, entropiyi aylar sonra bir incelemede keşfetmek yerine yazma anında yakalamanın bir yolunu sunuyor.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz