Sverklo، جو کہ ایک مقامی طور پر ہوسٹ شدہ کوڈ سرچ سرور ہے، اب ڈویلپرز کو کسی بھی AI ایجنٹ کے نتیجے پر عمل کرنے سے پہلے، فائل کی دریافت (file discovery) سے لے کر سمبل گراف ریژوننگ (symbol-graph reasoning) تک، کوئری کے ہر مرحلے کا معائنہ کرنے کی اجازت دیتا ہے۔

موجودہ کوڈنگ ایجنٹس کیوں لڑکھڑاتے ہیں

زیادہ تر کوڈ جنریشن ٹولز ایک ریپوزٹری (repository) کے ساتھ ایک بہت بڑے ٹیکسٹ ڈمپ کی طرح پیش آتے ہیں۔ وہ اسنیپٹس (snippets) کو ایمبیڈ کرتے ہیں، مماثلتا کی تلاش (similarity search) کرتے ہیں، اور سب سے زیادہ اسکور والا ٹکڑا واپس کرتے ہیں۔ جب وہ ٹکڑا پرانا (stale)، دائرہ کار سے باہر، یا محض ایک فائل کا نام ہو، تو ایجنٹ اس کے ماخذ کی نشاندہی نہیں کر سکتا۔ ناکامی کی وجہ کسی لفظ کا نہ ہونا نہیں ہے؛ بلکہ یہ سیاق و سباق (context) کی اس تہہ کا نہ ہونا ہے جو انسان کو بتاتی ہے کہ وہ حقیقت کہاں سے آئی ہے اور کیا وہ اب بھی قابلِ اطلاق ہے۔

Sverklo کا چار تہوں والا تصدیقی ماڈل

Sverklo خود کو ایک "انجینئرنگ ہائپوتھیسز" (engineering hypothesis) سرور کے طور پر پیش کرتا ہے جو روایتی تلاش کو ساختی تجزیہ (structural analysis) کے ساتھ جوڑتا ہے:

  • File Discovery – انڈیکس .gitignore اور دیگر ignore فائلوں کو پڑھتا ہے۔ کسی نتیجے پر بھروسہ کرنے سے پہلے، آپ انڈیکس سے پوچھ سکتے ہیں کہ اصل میں کن راستوں (paths) کو اسکین کیا گیا تھا۔
  • Code Structure – سمبلز (Symbols) ایک گراف میں موجود ہوتے ہیں جو تعریفوں (definitions)، امپورٹس (imports)، اور کال کے تعلقات کو ریکارڈ کرتا ہے۔ تلاش کرنے پر صرف فائل کا راستہ نہیں بلکہ سمبل آبجیکٹ واپس ملتا ہے، تاکہ آپ تصدیق کر سکیں کہ صحیح API سطح کا حوالہ دیا گیا ہے۔
  • Context Delivery – جب آپ ٹوکن بجٹ (token budget) مقرر کرتے ہیں، تو Sverklo ان اسنیپٹس کا ایک نقشہ (map) واپس کرتا ہے جنہوں نے جواب میں حصہ ڈالا ہو۔ اس نقشے میں ایک found_by فیلڈ شامل ہوتی ہے جو آپ کو بتاتی ہے کہ مماثلت BM25 کی ورڈ میچنگ، ONNX سے تیار کردہ ایمبیڈنگز، یا PageRank کے ذریعے درجہ بندی شدہ سمبل گراف سے آئی ہے۔
  • Memory Ledger – سرور ہر فیصلے کا لاگ (log) رکھتا ہے۔ اگر کوئی فائل تبدیل ہوتی ہے، تو لیجر متعلقہ میموری انٹری کو پرانا (stale) قرار دے دیتا ہے، جس سے پتہ چلتا ہے کہ کیا کیش شدہ (cached) جواب اب بھی درست ہے۔

ریٹریول اسٹیک (retrieval stack) کیسے کام کرتا ہے

Sverklo صرف ایمبیڈنگز پر انحصار نہیں کرتا۔ یہ درست الفاظ کے ملاپ کے لیے ایک کلاسیکی BM25 کی ورڈ انجن چلاتا ہے، ان نتائج کو سیمنٹک مماثلت کے لیے ONNX پر مبنی ویکٹر ایمبیڈنگز کے ساتھ بڑھاتا ہے، اور پھر زیادہ اثر انگیز تعریفوں کو سامنے لانے کے لیے سمبل گراف پر PageRank الگورتھم کا استعمال کرتا ہے۔ ہر نتیجے کو پیدا کرنے والے طریقے کو ظاہر کر کے، ڈویلپرز اختلافات کو پہچان سکتے ہیں—مثال کے طور پر، ایک BM25 ہٹ جسے ایمبیڈنگ ماڈل غیر متعلقہ سمجھتا ہے—اور یہ فیصلہ کر سکتے ہیں کہ کس سگنل پر بھروسہ کرنا ہے۔

عملی استعمالات

  • نامعلوم کوڈ بیسز کی تلاش – دستی طور پر grepping کیے بغیر فنکشن کے نام سے اس کے تمام کالرز (callers) تک پہنچیں۔
  • ڈیپینڈینسی گراف کی میپنگ – ان امپورٹ چینز کو بصری طور پر دیکھیں جو متعدد پیکجز تک پھیلی ہوئی ہوں۔
  • ریفیکٹر کے اثر کا تخمینہ لگانا – دیکھیں کہ اگر کوئی فائل تبدیل ہو جائے تو کون سے سمبلز ٹوٹ جائیں گے۔
  • سیمنٹک سوالات کے جوابات – پوچھیں "یہ ہیلپر کیا کرتا ہے؟" اور ایک جامع، مستند اقتباس حاصل کریں۔

ان خطرات سے ہوشیار رہیں

  • تازگی (Freshness) – ممکن ہے کہ ری انڈیکسنگ مکمل ہو جائے لیکن انڈیکس کا ٹائم اسٹیمپ پرانا ہی رہے۔ تازہ ترین رن کو موجودہ سمجھنے کے بجائے ہمیشہ index-status اینڈ پوائنٹ سے کوئری کریں۔
  • پروجیکٹ رجسٹریشن – پروجیکٹ کو ان رجسٹر کرتے وقت، Sverklo کے ذریعے فراہم کردہ اندرونی پروجیکٹ کا نام استعمال کریں، نہ کہ فائل سسٹم کا مکمل راستہ (absolute path)، ورنہ آپریشن خاموشی سے ناکام ہو جائے گا۔
  • ٹول کے نام کی عجیب و غریب باتیں – MCP ہوسٹ کبھی کبھی پروجیکٹ کا نام دو بار شامل کر دیتے ہیں، جس سے sverklo_sverklo_impact جیسے آئیڈنٹیفائرز بنتے ہیں۔ ٹول کو کال کرنے سے پہلے نام کو دوبارہ چیک کر لیں۔

آگے کیا آزمائیں

  1. ایک عارضی ریپوزٹری کلون کریں اور Sverklo کو مقامی طور پر چلائیں۔
  2. ایک سادہ سمبل لک اپ (lookup) چلائیں اور found_by فیلڈ کا معائنہ کریں۔
  3. ایک سورس فائل میں ترمیم کریں اور لک اپ دوبارہ چلائیں؛ نوٹ کریں کہ میموری لیجر کس طرح پرانی انٹری کو نشان زد کرتا ہے۔
  4. پرانے انڈیکس کو خودکار طور پر پکڑنے کے لیے اپنے بلڈ اسکرپٹ میں index-status چیک کو شامل کریں۔

خلاصہ

Sverklo ایک کوڈ سرچ انجن کو ایک قابلِ آڈٹ ثبوتوں کی زنجیر (auditable evidence chain) میں بدل دیتا ہے۔ ڈویلپرز کو فائل کوریج، سمبل کی درستگی، ریٹریول کا طریقہ، اور میموری کی تازگی کی تصدیق کرنے پر مجبور کر کے، یہ انہیں یہ فیصلہ کرنے کا موقع دیتا ہے کہ آیا AI سے ملنے والی تجویز پروڈکشن تک پہنچنے سے پہلے قابلِ بھروسہ ہے یا نہیں۔