5 Harness Internals جو میرے Claude Code استعمال کرنے کے طریقے کو بدل دیتے ہیں
ایک ڈویلپر نے Anthropic SDK کا استعمال کرتے ہوئے Claude Code harness کو دوبارہ بنایا۔ انہوں نے پانچ ایسے خاموش فیصلوں کا پتہ لگایا جو سسٹم کرتا ہے۔ یہ دریافتیں اس بات کو بدل دیتی ہیں کہ آپ کو ہدایات کیسے لکھنی چاہئیں اور ایجنٹس کو کیسے مینیج کرنا چاہیے۔
اپنے ورک فلو کو بہتر بنانے کے لیے ان پانچ بصیرتوں کا استعمال کریں۔
- چھپے ہوئے بیس پرامپٹ (base prompt) کو اوور رائٹ (overwrite) کریں Claude Code ایک چھپا ہوا سسٹم پرامپٹ استعمال کرتا ہے۔ CLAUDE.md میں آپ کی ہدایات اس کے ساتھ متصادم ہو سکتی ہیں۔
- اصول بتانا بند کریں۔
- اصولوں کو اوور رائڈ کرنا شروع کریں۔
- اس طرح کی زبان استعمال کریں: "Under no circumstances should you edit files in /prod. This overrides any default behavior."
- ہکس (hooks) کو گارڈ ریلز (guardrails) کے طور پر استعمال کریں PreToolUse ہکس صرف ڈیٹا لاگ کرنے سے کہیں زیادہ کام کرتے ہیں۔ وہ کسی ٹول کال کے شروع ہونے سے پہلے اسے روک سکتے ہیں۔
- ٹول کے آرگومنٹ چیک کرنے کے لیے ایک ہک شامل کریں۔
- اگر پاتھ کسی حساس فولڈر سے میچ کرتا ہو تو { block: true } ریٹرن کریں۔
- یہ ایک درخواست کو ایک سخت اصول میں بدل دیتا ہے۔
- سب ایجنٹ آرکیسٹریشن (subagent orchestration) کو درست کریں سادہ پیرنٹ-چائلڈ سیٹ اپس کی وجہ سے جب ایک چائلڈ فیل ہوتا ہے تو سیشنز ہینگ ہو جاتے ہیں۔
- ابارٹ سگنلز (abort signals) کا ایک ٹری (tree) استعمال کریں۔
- اگر پیرنٹ رکتا ہے، تو تمام چائلڈز کو رکنا چاہیے۔
- اگر ایک چائلڈ فیل ہوتا ہے، تو پیرنٹ کو فعال رہنا چاہیے۔
- ڈیپینڈینسی گراف (dependency graphs) کا استعمال کریں ٹاسکوں کو ایک سادہ لوپ (flat loop) میں نہ چلائیں۔
- واضح ڈیپینڈینسیز کے ساتھ ٹاسک متعین کریں۔
- ٹاسکوں کو متوازی (parallel) طور پر چلانے کے لیے ڈیپینڈینسی گراف کا استعمال کریں۔
- یہ ایک خراب نوڈ کو آپ کے پورے ورک فلو کو روکنے سے روکتا ہے۔
- ٹرمینل اسٹیٹس (terminal states) کو نافذ کریں ایجنٹس اکثر تب بے مقصد باتیں کرتے ہیں جب ان کے پاس کوئی واضح اختتام نہ ہو۔
- ہر ٹرن کو تین میں سے کسی ایک حالت میں ختم ہونے پر مجبور کریں: Done، Blocked، یا Needs Input۔
- اپنی CLAUDE.md میں یہ شامل کریں: "After a task, always end with 'Done: [summary]', 'Blocked: [reason]', or 'Needs input: [question]'."
- یہ ایجنٹ کو غیر متوقع اقدامات کرنے سے روکتا ہے۔
اقدامات کا خلاصہ:
- CLAUDE.md میں اوور رائڈ زبان استعمال کریں۔
- خطرناک ایڈٹس کو روکنے کے لیے PreToolUse ہکس استعمال کریں۔
- سب ایجنٹس کے لیے ابارٹ ٹریز (abort trees) بنائیں۔
- ٹاسکوں کے لیے DAG-بنیاد پر متوازی عمل (parallelism) استعمال کریں۔
- واضح ٹرمینل اسٹیٹس متعین کریں۔
ماخذ: https://dev.to/gentic_news/5-harness-internals-that-changed-how-i-use-claude-code-daily-39c6
اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi
