كيفية ضبط وكلاء Symphony لحل مشكلات GitHub تلقائيًا
9 мая 2026 г.
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
لجعل الوكيل يعالج التذاكر المتراكمة في متتبع المشكلات مباشرة، يجب عليك أولاً إدراج ملف WORKFLOW.md في جذر المشروع. يعتمد نظام سيمفوني (Symphony) على هيكلية تكتشف التغييرات في حالة لوحة إدارة المشروع وتخصص مساحة عمل معزولة بناءً عليها. في الواقع، عندما تبنى فريق داخلي في OpenAI هذا الأسلوب، قفز عدد طلبات السحب (Pull Requests) المدمجة نهائيًا بنسبة 500% في غضون ثلاثة أسابيع فقط. قد تبدو الأرقام مبالغًا فيها، لكنها تعني أن المطور يحتاج فقط للنظر في الكود بينما يتولى الوكيل إعداد البيئة ومهام التخصيص تلقائيًا.
أولاً، قم بتثبيت مسار مستودع GitHub وعلامات التحفيز (Trigger Labels) مثل ai-fix في إعدادات YAML. بعد ذلك، قم بتشغيل خادم (Daemon) broomva/symphony المكتوب بلغة Rust أو نسخة Go وهي itervox/symphony-go لمراقبة المشكلات كل 30 ثانية. من خلال هذا الإعداد، ستختفي الأوقات الضائعة في البحث عبر تطبيقات المراسلة للتفكير في من ستوكل إليه هذه المهمة.
عندما تكلّف الوكيل بعمل ما، قد يكتب أحيانًا كودًا غير منطقي ويقدمه بكل ثقة؛ مثل تسريب مفاتيح الأمان أو تجاهل اتفاقيات الفريق. ميزة hooks.after_run في Symphony هي نقطة تفتيش تعمل مباشرة قبل تسجيل النتائج التي أنشأها الوكيل في المستودع. إذا أطلق السكربت المنفذ هنا خطأً، يتوقف Symphony عن العمل فورًا ويمنع اختلاط الكود الرديء بالمشروع.
أضف ثلاثة أسطر فقط في مرحلة after_run. يجب ضبط التنسيق باستخدام npx prettier --write ، وضبط القواعد اللغوية عبر npx eslint --fix ، ثم إنهاء فحص الأنواع باستخدام npx tsc --noEmit. تشغيل حلقة التحقق التلقائية هذه يقلل الجهد البشري في إعادة إصلاح الكود الذي كتبه الوكيل بمقدار النصف. هذا أمر ضروري إذا كنت تريد تجنب قضاء كل وقتك في تنظيف الفوضى التي قد يتركها الوكيل.
عند تشغيل عدة وكلاء في وقت واحد، سيبدأ جهازك المحلي بالمعاناة حتمًا. قد يتوقف الماوس عن الحركة بسبب استهلاك المعالج بالكامل، أو قد تتداخل الملفات ويُكتب فوق الكود بسبب فوضى نظام الملفات. يستخدم منسق Symphony داخليًا دالة filepath.EvalSymlinks لتحليل المسارات، مما يمنع محاولات الهروب من المجلدات، ولكن يجب عليك ضبط توزيع الموارد بنفسك.
لتشغيل 5 جلسات أو أكثر بشكل مستقر، استخدم حاويات Docker كفتحات (Slots) مخصصة. من الآمن تقييد الموارد باستخدام خيارات --memory="2g" و --cpu-shares=100 ، وقطع الاتصال الخارجي عبر --network=none. هذا النوع من العزل هو إجراء بديهي إذا كنت لا تريد رؤية الوكيل وهو يرسل بيانات إلى مكان ما على الشبكة أو يتسبب في شلل النظام.
السماح للوكيل بالإرسال (Commit) مباشرة إلى الفرع الرئيسي (Main Branch) هو عمل انتحاري. مهما بلغت جودة أداء الذكاء الاصطناعي، لا ينبغي دمج سطر واحد دون الموافقة النهائية من البشر. يجب دفع النتائج النهائية للعمل دائمًا إلى فرع مؤقت يبدأ ببادئة مثل staging/ai-patch-.
ضع أمر GitHub CLI (gh) في نهاية خط الأنابيب (Pipeline). قم بتشغيل gh pr create في الوضع غير التفاعلي لتعيين نفسك كمراجع، واجعل النظام يرسل تنبيهًا عبر Slack. بعد مراجعة الكود والتأكد من عدم وجود مشاكل، ادمجه باستخدام gh pr merge --squash وانتهى الأمر. الهيكلية التي يقوم فيها الجهاز بإعداد المسودة ويقوم الإنسان بختم الموافقة هي الأسرع والأكثر أمانًا.