Helium Agent کا ڈیزائن

Helium Agent ایک ہلکا پھلکا (lightweight) AI ایجنٹ ہے جو Python کے ساتھ بنایا گیا ہے۔ یہ آپ کے ٹرمینل میں چلتا ہے۔ اسے کم سے کم پیچیدگی کے لیے ڈیزائن کیا گیا ہے۔

تعمیر کے دوران کیے گئے بنیادی ڈیزائن فیصلے یہ ہیں:

• آرکیٹیکچر (Architecture) سسٹم ایک فلیٹ آرکیٹیکچر (flat architecture) استعمال کرتا ہے۔ میں بھاری فریم ورکس اور گہرے ڈیپینڈنسی ٹریز (dependency trees) سے گریز کرتا ہوں۔ میں OpenAI function calling کے بجائے <action> جیسے XML ٹیگز استعمال کرتا ہوں۔ یہ ایجنٹ کو ماڈل سے آزاد (model agnostic) بناتا ہے۔ آپ کسی بھی LLM کا استعمال کر سکتے ہیں۔

• ڈیپینڈنسی انجیکشن کے ذریعے کمپوز ایبلٹی (Composability through Dependency Injection) میں AgenticLoop نامی ایک سادہ لوپ استعمال کرتا ہوں۔ یہ دو ان پٹس قبول کرتا ہے: ایک ماڈل کالر (model caller) اور ایک ٹول ایگزیکیوٹر (tool executor)۔ یہ ایک انتخاب چار مختلف موڈز کی اجازت دیتا ہے:

  • عام چیٹ (General chat)
  • کوڈنگ ورک فلو (Coding workflows)
  • سب ایجنٹس (Subagents)
  • کسٹم اسکلز (Custom skills) میں سب کلاسز (subclasses) یا پیچیدہ پیٹرنز استعمال نہیں کرتا۔ بس دو سادہ فنکشنز۔

• اسٹیٹ مینجمنٹ (State Management) Helium ایک سنگل یوزر ٹول ہے۔ میں گفتگو کی ہسٹری اور میموری کے لیے ماڈیول لیول سنگلٹنز (module-level singletons) استعمال کرتا ہوں۔ گلوبل اسٹیٹ (Global state) ایک سنگل یوزر سیشن کی نمائندگی کرنے کا سب سے سادہ طریقہ ہے۔ یہ اوور انجینئرنگ (over-engineering) سے بچاتا ہے۔

• سیفٹی گیٹس (Safety Gates) میں ٹول ایگزیکیوشن کے لیے تین درجوں والا سسٹم استعمال کرتا ہوں:

  • محفوظ (Safe): فائلیں پڑھنے یا تلاش کرنے جیسے کام خود بخود انجام دیتا ہے۔
  • پرخطر (Risky): فائلیں لکھنے جیسے کاموں کے لیے صارف کی اجازت درکار ہوتی ہے۔
  • مشروط (Conditional): خطرے کی جانچ کے لیے bash اسکرپٹس جیسے کمانڈز کا معائنہ کرتا ہے۔ یہ کسی ہالوسینیٹنگ (hallucinating) ماڈل کو آپ کی فائلیں ڈیلیٹ کرنے سے روکتا ہے۔

• کمیونیکیشن (Communication) میں OpenAI SDK کے بجائے خام (raw) HTTP درخواستیں استعمال کرتا ہوں۔ یہ ڈیپینڈنسیز کو کم کرتا ہے اور کوڈ کو شفاف رکھتا ہے۔ آپ بالکل دیکھ سکتے ہیں کہ API کو کیا بھیجا جا رہا ہے۔

• اسکل سسٹم (Skill System) اسکلز (Skills) محض Markdown فائلیں ہیں۔ آپ