Sverklo, sebuah pelayan carian kod yang dihoskan secara tempatan, kini membolehkan pembangun memeriksa setiap langkah pertanyaan – daripada penemuan fail kepada penaakulan graf-simbol – sebelum ejen AI bertindak berdasarkan hasil tersebut.

Mengapa ejen pengekodan sedia ada menghadapi masalah

Kebanyakan alat penjanaan kod menganggap repositori seperti timbunan teks yang besar. Mereka membenamkan (embed) keratan kod, menjalankan carian kesamaan, dan mengembalikan fragmen dengan skor tertinggi. Apabila fragmen tersebut lapuk, di luar skop, atau sekadar nama fail, ejen tidak dapat menunjukkan sumbernya. Mod kegagalan bukanlah perkataan yang hilang; ia adalah lapisan konteks yang hilang yang memberitahu manusia di mana fakta itu berasal dan sama ada ia masih terpakai.

Model pengesahan empat lapisan Sverklo

Sverklo meletakkan dirinya sebagai pelayan "hipotesis kejuruteraan" yang menggabungkan carian tradisional dengan analisis berstruktur:

  • Penemuan Fail – Indeks membaca .gitignore dan fail abaikan yang lain. Sebelum mempercayai sesuatu hasil, anda boleh membuat pertanyaan pada indeks untuk melihat laluan mana yang sebenarnya telah diimbas.
  • Struktur Kod – Simbol wujud dalam graf yang merekodkan definisi, import, dan hubungan panggilan. Carian akan mengembalikan objek simbol, bukan sekadar laluan fail, supaya anda boleh mengesahkan permukaan API yang betul dirujuk.
  • Penyampaian Konteks – Apabila anda menetapkan bajet token, Sverklo mengembalikan peta keratan kod yang menyumbang kepada jawapan tersebut. Peta tersebut merangkumi medan found_by yang memberitahu anda sama ada padanan itu datang daripada padanan kata kunci BM25, embedding yang dijana ONNX, atau graf simbol yang disusun mengikut PageRank.
  • Lejar Memori – Pelayan merekodkan setiap keputusan. Jika fail berubah, lejar akan menandakan entri memori yang berkaitan sebagai lapuk, menunjukkan sama ada jawapan tersimpan (cached) itu masih sah.

Bagaimana stack pengambilan berfungsi

Sverklo tidak bergantung kepada embedding semata-mata. Ia menjalankan enjin kata kunci BM25 klasik untuk padanan istilah tepat, menambah baik hasil tersebut dengan embedding vektor berasaskan ONNX untuk kesamaan semantik, dan kemudian menggunakan algoritma PageRank pada graf simbol untuk memaparkan definisi berimpak tinggi. Dengan mendedahkan kaedah yang menghasilkan setiap padanan, pembangun boleh mengesan percanggahan—sebagai contoh, padanan BM25 yang dianggap tidak relevan oleh model embedding—dan memilih isyarat mana yang ingin dipercayai.

Kegunaan praktikal

  • Meneroka pangkalan kod yang tidak dikenali – Lompat daripada nama fungsi kepada semua pemanggilnya tanpa perlu melakukan grepping secara manual.
  • Memetakan graf kebergantungan – Visualisasikan rantaian import yang merentasi pelbagai pakej.
  • Menganggar impak refaktor – Lihat simbol mana yang akan rosak jika fail tertentu berubah.
  • Menjawab soalan semantik – Tanya "apa fungsi pembantu (helper) ini?" dan dapatkan petikan ringkas yang mempunyai sumber.

Perkara yang perlu diperhatikan

  • Kesegaran – Proses pengindeksan semula mungkin selesai tetapi cap masa indeks kekal lama. Sentiasa buat pertanyaan pada endpoint index-status dan bukannya menganggap larian terbaru adalah terkini.
  • Pendaftaran projek – Apabila membatalkan pendaftaran projek, gunakan nama projek dalaman yang dibekalkan oleh Sverklo, bukan laluan sistem fail mutlak, atau operasi tersebut akan gagal tanpa sebarang makluman.
  • Keunikan penamaan alat – Hos MCP kadangkala menambah nama projek dua kali di hadapan, menghasilkan pengenal pasti seperti sverklo_sverklo_impact. Semak semula nama tersebut sebelum memanggil alat.

Apa yang perlu dicuba seterusnya

  1. Klon repositori sementara dan jalankan Sverklo secara tempatan.
  2. Jalankan carian simbol ringkas dan periksa medan found_by.
  3. Ubah suai fail sumber dan jalankan semula carian; perhatikan bagaimana lejar memori menandakan entri yang lapuk.
  4. Integrasikan semakan index-status ke dalam skrip binaan anda untuk mengesan indeks yang lapuk secara automatik.

Kesimpulan

Sverklo menukarkan enjin carian kod kepada rantaian bukti yang boleh diaudit. Dengan memaksa pembangun untuk mengesahkan liputan fail, ketepatan simbol, kaedah pengambilan, dan kesegaran memori, ia membolehkan mereka memutuskan sama ada cadangan dipacu AI boleh dipercayai sebelum ia sampai ke peringkat pengeluaran.