اے آئی پر اندھا دھند بھروسہ کرنا چھوڑیں: اے آئی ایجنٹ کے ہالوسینیشنز (Hallucinations) کو کیسے کم کیا جائے

اے آئی ایجنٹس اکثر غلطیاں کرتے ہیں۔ وہ کوڈ کے بارے میں غلط معلومات (hallucinate) دیتے ہیں، کاروباری اصولوں کی خلاف ورزی کرتے ہیں، یا غلط ٹولز کا انتخاب کرتے ہیں۔

زیادہ تر لوگ اسے بہتر پرامپٹس (prompts) کے ذریعے ٹھیک کرنے کی کوشش کرتے ہیں۔ یہ ایک غلطی ہے۔

اگر آپ قابلِ اعتماد اے آئی ایجنٹس چاہتے ہیں، تو آپ کو واضح حدود (constraints) کے ساتھ سسٹم ڈیزائن کرنے ہوں گے۔ آپ کو ایک "Typist" سے "Architect" بننے کی ضرورت ہے۔

ٹائپسٹ (Typist) بمقابلہ آرکیٹیکٹ (Architect)

زیادہ تر صارفین ٹائپسٹ کی طرح کام کرتے ہیں:

  • آپ پوچھتے ہیں: "Implement an authentication system."
  • اے آئی ڈھانچہ (structure)، لائبریریز، اور فولڈر کا لے آؤٹ خود طے کرتا ہے۔
  • ہر ایک فیصلہ ہالوسینیشن کا ایک موقع ہوتا ہے۔

انجینئرز آرکیٹیکٹ کی طرح کام کرتے ہیں:

  • آپ پہلے ڈھانچہ اور لائبریریز متعین کرتے ہیں۔
  • آپ حدود اور قواعد مقرر کرتے ہیں۔
  • اے آئی صرف آپ کی مقرر کردہ حدود کے اندر کوڈ لکھتا ہے۔

اے آئی اس لیے ہالوسینیشن نہیں کرتا کہ اس میں کوڈنگ کی مہارت کی کمی ہے، بلکہ یہ اس لیے کرتا ہے کیونکہ وہ اس سیاق و سباق (context) کا اندازہ لگانے کی کوشش کرتا ہے جو آپ کے ذہن میں ہے لیکن آپ نے کبھی شیئر نہیں کیا۔

حکمتِ عملی 1: سیاق و سباق کی فائلیں (Context Files)

ہر چیٹ میں ہدایات کو بار بار دہرانا بند کریں۔ اے آئی کو ایک مستقل فریم ورک فراہم کرنے کے لیے کنفیگریشن فائلز کا استعمال کریں۔ مختلف ٹولز مختلف معیارات استعمال کرتے ہیں:

• Claude Code کے لیے CLAUDE.md • اوپن سورس ایکو سسٹم کے لیے AGENTS.md • Cursor کے لیے .cursorrules • GitHub Copilot کے لیے .copilotrules

پرو ٹپ: ایک مرکزی AGENTS.md فائل بنائیں اور symlinks کا استعمال کریں تاکہ تمام دوسری فائلیں خود بخود اپ ڈیٹ ہو جائیں۔

حکمتِ عملی 2: ADR (Architecture Decision Records)

کسی ایجنٹ کو کچھ بنانے کے لیے کہنے سے پہلے، ایک ADR بنائیں۔ یہ دستاویز اے آئی کے لیے "اندازہ لگانے" کی ضرورت کو ختم کر دیتی ہے۔

ایک اچھے ADR میں شامل ہیں:

  • بالکل کیا بنانا ہے۔
  • کون سی فائلیں بنانی ہیں اور کن فائلوں کو کبھی نہیں چھونا۔
  • استعمال کے لیے مخصوص ٹیک اسٹیک (tech stack) اور لائبریریز۔
  • واضح حدود (مثلاً، "No state in memory")۔
  • ان چیزوں کی فہرست جن کا فیصلہ کرنے کی ایجنٹ کو اجازت نہیں ہے۔

جب ایک Orchestrator کو ADR موصول ہوتا ہے، تو ڈیزائن کے فیصلے پہلے ہی مکمل ہو چکے ہوتے ہیں۔ ڈویلپر ایجنٹ صرف اس تفصیل (spec) کو کوڈ میں تبدیل کرتا ہے۔ یہ غلطیوں کو کم کرتا ہے اور آپ کے کوڈ بیس (codebase) کو مستقل مزاج رکھتا ہے۔

میں قابلِ اعتماد اے آئی ایجنٹ ورک فلو بنانے پر ایک سیریز شروع کر رہا ہوں۔ اگلے حصوں میں، میں سسٹم پرامپٹ کی تشکیل اور جدید انجینئرنگ تکنیکوں کا احاطہ کروں گا۔

ماخذ: https://dev.to/devjohanadrian/el-problema-de-la-confianza-ciega-como-reducir-las-alucinaciones-en-agentes-de-ia-parte-1-2aah