5 تفاصيل داخلية في الـ Harness تغير طريقة استخدامي لـ Claude Code
قام أحد المطورين بإعادة بناء الـ harness الخاص بـ Claude Code باستخدام Anthropic SDK. وقد اكتشف خمسة قرارات صامتة يتخذها النظام. تغير هذه النتائج الطريقة التي يجب أن تكتب بها التعليمات وتدير بها الوكلاء (agents).
استخدم هذه الرؤى الخمس لتحسين سير عملك.
- تجاوز المطالبة الأساسية المخفية (Overwrite the hidden base prompt) يستخدم Claude Code مطالبة نظام (system prompt) مخفية. قد تتعارض تعليماتك في CLAUDE.md معها.
- توقف عن مجرد ذكر القواعد.
- ابدأ بتجاوز القواعد (overriding).
- استخدم لغة مثل: "Under no circumstances should you edit files in /prod. This overrides any default behavior."
- استخدم الـ hooks كحواجز حماية (guardrails) تقوم hooks من نوع PreToolUse بأكثر من مجرد تسجيل البيانات؛ إذ يمكنها إيقاف استدعاء الأداة (tool call) قبل بدئه.
- أضف hook للتحقق من وسائط الأداة (tool arguments).
- قم بإرجاع
{ block: true }إذا كان المسار يطابق مجلداً حساساً. - هذا يحول الطلب إلى قاعدة صارمة.
- إصلاح تنسيق الوكلاء الفرعيين (subagent orchestration) تتسبب إعدادات "الأب-الابن" (parent-child) البسيطة في تعليق الجلسات عندما يفشل أحد الأبناء.
- استخدم شجرة من إشارات الإلغاء (abort signals).
- إذا توقف الأب، يجب أن يتوقف جميع الأبناء.
- إذا فشل أحد الأبناء، يجب أن يظل الأب يعمل.
- استخدم رسوم التبعية البيانية (dependency graphs) لا تقم بتشغيل المهام في حلقة مسطحة (flat loop).
- حدد المهام بتبعيات واضحة.
- استخدم رسم التبعية البياني لتشغيل المهام بالتوازي.
- هذا يمنع عقدة واحدة سيئة من إيقاف سير عملك بالكامل.
- فرض الحالات النهائية (terminal states) غالباً ما يسترسل الوكلاء (agents) في الكلام عندما يفتقرون إلى نقطة نهاية واضحة.
- اجبر كل دورة (turn) على الانتهاء بواحدة من ثلاث حالات: Done، أو Blocked، أو Needs Input.
- أضف هذا إلى ملف CLAUDE.md الخاص بك: "After a task, always end with 'Done: [summary]', 'Blocked: [reason]', or 'Needs input: [question]'."
- هذا يمنع الوكيل من القيام بأفعال غير متوقعة.
ملخص الإجراءات:
- استخدم لغة التجاوز (override) في CLAUDE.md.
- استخدم hooks من نوع PreToolUse لمنع التعديلات الخطيرة.
- ابنِ أشجار إلغاء (abort trees) للوكلاء الفرعيين.
- استخدم التوازي القائم على DAG للمهام.
- حدد حالات نهائية صريحة.
المصدر: https://dev.to/gentic_news/5-harness-internals-that-changed-how-i-use-claude-code-daily-39c6
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
