أشجار عمل Git (git worktrees): الأساس لتشغيل عدة وكلاء ذكاء اصطناعي دون تعارضات

وكلاؤك يكتبون فوق بعضهم البعض عندما يعملون بالتوازي. أشجار عمل git تحل المشكلة بأمرين فقط. إليك طريقة استخدامها.

تشغّل وكيلين على نفس المستودع. أحدهما يعدّل package.json، والآخر يفعل الشيء نفسه. بعد ثلاثين ثانية يصبح كودك في حالة لا يستطيع أحد دمجها.

هذه ليست علة في وكلائك. المشكلة أنهم جميعاً يعملون في نفس المجلد.

الحل أداة موجودة في Git منذ سنوات ولا يكاد يستخدمها أحد: git worktree.

المشكلة: 3 وكلاء، مستودع واحد، دمج مستحيل

مستودع Git العادي مجلد واحد، مع فرع واحد مسحوب في كل مرة. تعمل على main، تبدّل الفروع، فينقلب المجلد بأكمله.

والآن أنزِل ثلاثة وكلاء مستقلين داخل هذا المجلد. يكتبون في الوقت نفسه. الوكيل أ ينشئ ملفاً، والوكيل ب يشغّل git checkout ليبدأ من حالة نظيفة، فيمسح عمل أ غير المكتمل. ينتهي بك الأمر بملفات نصف مكتوبة، وفهرس مدمَّر، وتعارضات يستغرق حلها وقتاً أطول مما لو كتبت الكود بنفسك.

التوازي يوفّر عليك الوقت فقط إذا لم يلمس الوكلاء بعضهم البعض.

ما هي شجرة عمل git

شجرة العمل (worktree) مجلد عمل ثانٍ مرتبط بنفس المستودع.

نفس التاريخ، نفس المستودع البعيد، لكن لكل شجرة عمل فرعها الخاص المسحوب وملفاتها الخاصة على القرص. يمكنك أن تحتفظ بخمس منها جنباً إلى جنب، كل واحدة على فرع مختلف، دون أن تتداخل مع بعضها.

ملف .git واحد، وعدة مساحات عمل. هذا كل شيء.

شجرة عمل واحدة لكل وكيل، عملياً

إليك الإعداد. انطلاقاً من مستودعك:

git worktree add ../project-auth -b feature/auth
git worktree add ../project-billing -b feature/billing
git worktree add ../project-export -b feature/export

لقد أنشأت للتو ثلاثة مجلدات، كل واحد على فرعه الخاص. تشغّل وكيلاً في كل منها:

cd ../project-auth && claude
cd ../project-billing && codex

لكل وكيل مجلده، وفرعه، وملفاته. وكيل المصادقة لن يرى أبداً ما يفعله وكيل الفوترة. لا تصادم ممكن.

عندما تجهز ميزة ما، تراجِع فرعها ثم تدمجه. وبعدها تنظّف:

git worktree remove ../project-auth

اختفى المجلد، وبقي الفرع في تاريخك. نظيف.

الفخاخ الثلاثة التي يجب معرفتها

الفخ الأول، الملف المركزي المشترك. إذا كان على ميزتين أن تعدّلا نفس ملف routes.ts أو نفس مخطط قاعدة البيانات، فلن تنقذك أشجار العمل، وسيظهر التعارض عند الدمج. وكيل واحد يلمس الملفات التي يتشاركها الجميع، والبقية ينتظرون أو يلتفّون حول المشكلة.

الثاني، الفروع التي تنحرف. بينما يعمل وكلاؤك، يتقدّم main. بعد ثلاثة أيام تصبح فروعك متأخرة ويصير الدمج مؤلماً. أعِد التأسيس (rebase) مبكراً وبشكل متكرر، أو أبقِ الجلسات قصيرة.

الثالث، التنظيف المنسي. كل شجرة عمل مجلد حقيقي على قرصك. عشرة في اليوم دون تنظيف، فيصبح مجلدك الأب غير قابل للقراءة. الأمر git worktree list يعرض ما هو متبقٍّ، والأمر git worktree prune يزيل الميت منها.

السؤال الحقيقي: من يراقب المجلدات الخمسة؟

أشجار العمل تحل تصادمات الملفات. لكنها لا تحل عبئك الذهني.

لديك خمسة مجلدات، خمسة وكلاء، خمس نوافذ طرفية. أيها ينتظر مراجعتك؟ أيها انتهى قبل عشر دقائق بينما كنت تنظر إلى مكان آخر؟ أيها تعطّل؟

هنا تصطدم فكرة شجرة عمل واحدة لكل وكيل بحدّها إذا بقيت داخل الطرفية. لقد حللت التعارض التقني، لكنك ضاعفت عدد النوافذ التي يجب مراقبتها.

AgentsRoom يضع كل وكيل على بلاطة، مع حالته ولونه، مهما كانت شجرة العمل التي يعمل فيها. الوكيل الذي ينتظر يتحول إلى الأحمر وينبّهك. اقرأ كيف تشغّل من 3 إلى 8 وكلاء بالتوازي دون أن تفقد المتابعة للاطّلاع على الطريقة الكاملة فوق أشجار العمل.

الخلاصة

وكيل واحد، شجرة عمل واحدة، فرع واحد. هذه هي القاعدة الأساسية للعمل الجاد متعدد الوكلاء.

الأوامر تتلخّص في ثلاثة أسطر، والفائدة فورية: يتوقف وكلاؤك عن الكتابة فوق بعضهم البعض. أضِف عرضاً يخبرك أيهم يحتاجك، وعندها يمكنك فعلاً أن تدير خمس مهام بالتوازي دون أن تفقد صوابك.

تحميل AgentsRoom

شغّل وكلاء Claude على جميع مشاريعك من نافذة واحدة.

مجانيتحميل AgentsRoom

التطبيق المرافق: تابع وكلاءك أينما كنت

استخدم Claude أو Codex أو Gemini CLI أو أي مزود AI آخر.

تثبيت الملحق
Chrome Web Store

أرسل الأخطاء والطلبات مباشرة إلى قائمة المهام العامة.

لمحة عن AgentsRoom أثناء العمل.

مشاريع متعددة
متعدد المزوّدين
وكلاء متعددون
حالة مباشرة
فرق الملفات والإيداع
تطبيق الهاتف
معاينة مباشرة
فرق الوكلاء
أتمتة المتصفح
تطوير موجّه بالـ backlog
مكتبة البرومبت
مكتبة المهارات
عرض جميع الميزات