Sverklo, sebuah server pencarian kode yang dihosting secara lokal, kini memungkinkan pengembang untuk memeriksa setiap langkah kueri – mulai dari penemuan file hingga penalaran graf-simbol – sebelum agen AI bertindak berdasarkan hasilnya.

Mengapa agen pengodean yang ada mengalami kendala

Sebagian besar alat pembuatan kode memperlakukan repositori seperti tumpukan teks raksasa. Mereka menyematkan (embed) cuplikan, menjalankan pencarian kemiripan, dan mengembalikan fragmen dengan skor tertinggi. Ketika fragmen tersebut usang, di luar cakupan, atau sekadar nama file, agen tidak dapat menunjukkan sumbernya. Mode kegagalannya bukanlah kata yang hilang; melainkan lapisan konteks yang hilang yang memberi tahu manusia dari mana fakta tersebut berasal dan apakah fakta tersebut masih berlaku.

Model verifikasi empat lapis Sverklo

Sverklo memposisikan dirinya sebagai server "hipotesis rekayasa" yang menggabungkan pencarian tradisional dengan analisis struktural:

  • File Discovery – Indeks membaca .gitignore dan file ignore lainnya. Sebelum memercayai hasil, Anda dapat melakukan kueri pada indeks untuk melihat jalur mana yang sebenarnya dipindai.
  • Code Structure – Simbol berada dalam sebuah graf yang mencatat definisi, impor, dan hubungan pemanggilan. Pencarian mengembalikan objek simbol, bukan sekadar jalur file, sehingga Anda dapat mengonfirmasi bahwa permukaan API yang benar telah dirujuk.
  • Context Delivery – Saat Anda menetapkan anggaran token, Sverklo mengembalikan peta cuplikan yang berkontribusi pada jawaban tersebut. Peta tersebut menyertakan bidang found_by yang memberi tahu Anda apakah kecocokan berasal dari pencocokan kata kunci BM25, embedding yang dihasilkan ONNX, atau graf simbol yang diperingkat PageRank.
  • Memory Ledger – Server mencatat setiap keputusan. Jika sebuah file berubah, ledger akan menandai entri memori terkait sebagai usang, menunjukkan apakah jawaban yang tersimpan di cache masih valid.

Cara kerja tumpukan retrieval

Sverklo tidak hanya mengandalkan embedding. Ia menjalankan mesin kata kunci BM25 klasik untuk pencocokan istilah yang tepat, memperkuat hasil tersebut dengan vector embedding berbasis ONNX untuk kemiripan semantik, dan kemudian menerapkan algoritma PageRank pada graf simbol untuk memunculkan definisi berdampak tinggi. Dengan mengekspos metode yang menghasilkan setiap hasil, pengembang dapat mendeteksi ketidaksesuaian—misalnya, hasil BM25 yang dianggap tidak relevan oleh model embedding—dan memilih sinyal mana yang akan dipercaya.

Kegunaan praktis

  • Menjelajahi basis kode yang tidak dikenal – Beralih dari nama fungsi ke semua pemanggilnya tanpa perlu melakukan grepping secara manual.
  • Memetakan graf dependensi – Memvisualisasikan rantai impor yang mencakup beberapa paket.
  • Memperkirakan dampak refaktor – Melihat simbol mana yang akan rusak jika file tertentu berubah.
  • Menjawab pertanyaan semantik – Ajukan pertanyaan "apa fungsi helper ini?" dan dapatkan kutipan ringkas yang memiliki sumber.

Hal-hal yang perlu diwaspadai

  • Kesegaran data (Freshness) – Proses reindeks mungkin selesai sementara stempel waktu (timestamp) indeks tetap lama. Selalu kueri endpoint index-status alih-alih berasumsi bahwa proses terbaru sudah mutakhir.
  • Registrasi proyek – Saat menghapus registrasi (unregistering) sebuah proyek, gunakan nama proyek internal yang disediakan oleh Sverklo, bukan jalur filesystem absolut, atau operasi tersebut akan gagal secara diam-diam.
  • Keunikan penamaan alat – Host MCP terkadang menambahkan nama proyek dua kali di depan, menghasilkan pengenal seperti sverklo_sverklo_impact. Periksa kembali nama tersebut sebelum memanggil alat.

Apa yang harus dicoba selanjutnya

  1. Klon repositori sementara dan jalankan Sverklo secara lokal.
  2. Jalankan pencarian simbol sederhana dan periksa bidang found_by.
  3. Ubah file sumber dan jalankan kembali pencarian; perhatikan bagaimana memory ledger menandai entri yang usang.
  4. Integrasikan pemeriksaan index-status ke dalam skrip build Anda untuk mendeteksi indeks yang usang secara otomatis.

Kesimpulan

Sverklo mengubah mesin pencarian kode menjadi rantai bukti yang dapat diaudit. Dengan memaksa pengembang untuk memverifikasi cakupan file, akurasi simbol, metode retrieval, dan kesegaran memori, alat ini memungkinkan mereka memutuskan apakah saran berbasis AI dapat dipercaya sebelum mencapai tahap produksi.