تتحول git worktrees بهدوء إلى أحد أهم البدائيات في عصر الترميز بالذكاء الاصطناعي. مع تطور أدوات مثل Grok Build وOpenCode وClaude Code نحو التنفيذ المتوازي متعدد الوكلاء، انتقلت القدرة على منح كل وكيل مساحة عمل معزولة خاصة به — دون استنساخ المستودع بالكامل — من خدعة Git متخصصة إلى نمط عمل أساسي لا غنى عنه.
ما هو Git Worktree؟
git worktree هو دليل عمل مرتبط يشترك في نفس قاعدة بيانات .git مع مستودعك الرئيسي. تحصل على شجرة ملفات منفصلة ومؤشر HEAD منفصل، بينما تكون قاعدة البيانات والمراجع والإعدادات مشتركة. هذا يعني أنك تستطيع سحب فرعين مختلفين في آن واحد دون استنساخ كامل:
# إضافة worktree جديد على فرع ميزة
git worktree add ../my-repo-feature feature-branch
# عرض قائمة worktrees النشطة
git worktree list
# الإزالة عند الانتهاء
git worktree remove ../my-repo-featureميزة مساحة القرص حقيقية وملموسة: بدلاً من استنساخ كامل بحجم 2 جيجابايت، يضيف الـ worktree الجديد الملفات المتغيرة فقط — عادةً عشرات الميجابايتات. هذا العزل الخفيف الوزن هو بالضبط ما تحتاجه تدفقات عمل الترميز متعددة الوكلاء.
لماذا يحتاج وكلاء الذكاء الاصطناعي إلى Worktrees؟
يعمل وكلاء الترميز بالذكاء الاصطناعي عن طريق قراءة حالة ملفاتك الحالية وإجراء التعديلات وتشغيل الاختبارات والتكرار. عندما يشترك وكيلان في نفس دليل العمل، تحدث التصادمات:
- تعديلات مكررة على نفس الملف من سياقات مختلفة
- تداخل الاختبارات — وكلاء يتدخلون في تشغيل اختبارات بعضهم البعض
- انقطاع سياق المحادثة عند تبديل الفروع في منتصف الجلسة
تحل Worktrees هذه المشكلة بمنح كل وكيل مساحة عمل منفصلة جسدياً. الوكيل A يسحب feature/auth في /project-auth/، والوكيل B يسحب feature/db في /project-db/. كلاهما يشتركان في .git — لذا تكون المراجع والالتزامات مرئية عبر جميع الـ worktrees — لكن أشجار العمل لا تتعارض أبداً.
الفكرة الأساسية هي أن وكلاء الذكاء الاصطناعي يستفيدون أكثر من الـ worktrees عند تشغيل مهام مستقلة طويلة الأمد. مهمة إعادة هيكلة لمدة 30 دقيقة لها احتياجات عزل مختلفة عن بناء ميزة لمدة 8 ساعات يمتد عبر عشرات الملفات.
كيف يستخدم Grok Build الـ Worktrees
Grok Build، وكيل الترميز الطرفي من xAI الذي أُطلق في مايو 2026، جعل git worktrees المعزولة ميزة معمارية من الدرجة الأولى. عند تشغيل مهمة متعددة الوكلاء، يمكن لـ Grok Build إنشاء ما يصل إلى 8 وكلاء فرعيين متزامنين، كل منهم يعمل في worktree خاص به على فرع منفصل:
# تشغيل Grok Build في وضع متعدد الوكلاء
grok build --agents 4 "إعادة هيكلة المصادقة، تحديث الاختبارات، ترحيل المخطط، تحديث التوثيق"الوكيل 1 يعيد كتابة تدفق المصادقة. الوكيل 2 يحدث الاختبارات. الوكيل 3 يتولى ترحيل المخطط. الوكيل 4 يحدث التوثيق — كل ذلك بالتوازي. يُبلّغ Grok Build عن نتيجة SWE-Bench Verified بنسبة 70.8%. البنية هي الميزة المميزة: على عكس الوكلاء الفرعيين لـ Claude Code الذين يشتركون في مساحة عمل، يعمل الوكلاء الفرعيون لـ Grok Build في فروع معزولة حقاً ويدمجون عند الانتهاء.
الانعكاس مهم: إعادة هيكلة تستغرق 4 ساعات وكانت ستحجب التطوير يمكن تشغيلها بين عشية وضحاها عبر 8 worktrees معزولة، مع مراجعة بشرية فقط عند الدمج.
OpenCode 1.16.0: نقل الجلسات واستنساخ مساحة العمل
أضاف OpenCode 1.16.0 (مطلع يونيو 2026) قدرتين مرتبطتين بـ worktree:
- استنساخ مساحة العمل المُدار — ينشئ نسخة من مساحة عملك الحالية تحتفظ بالملفات المتغيرة وغير المتتبعة، مما يتيح للوكيل التجربة دون المساس بحالة عملك
- نقل الجلسة — تنقل جلسة قيد التشغيل بين مساحات العمل والأدلة، حتى تتمكن من تحويل وكيل نشط إلى worktree جديد دون فقدان السياق
كما أنشأ المجتمع أدوات حول هذا النمط. حزمة opencode-worktree (550+ نجمة على GitHub) تؤتمت دورة الحياة الكاملة:
# تثبيت opencode-worktree
npm install -g opencode-worktree
# بدء جلسة معزولة
opencode-worktree start --branch feature/new-api
# ينشئ .opencode/worktrees/feature-new-api/
# يحول جلسة OpenCode إلى ذلك المسار
# عند الخروج: يثبت تلقائياً برسالة AI، يزيل الـ worktreeهذا النمط — إنشاء worktree، تشغيل الوكيل، التثبيت التلقائي والتنظيف — يصبح وحدة العمل القياسية لترميز الذكاء الاصطناعي.
استخدام Worktrees مع Claude Code
لا يُدير Claude Code الـ worktrees أصلاً حتى الآن، لكن النمط اليدوي يعمل بشكل جيد ويسهل تحويله إلى برنامج نصي:
# إنشاء worktrees لكل مهمة متوازية
git worktree add .worktrees/task-auth -b agent/auth
git worktree add .worktrees/task-api -b agent/api
# فتح Claude Code في كل worktree (نوافذ طرفية منفصلة)
cd .worktrees/task-auth && claude
cd .worktrees/task-api && claude
# الدمج والتنظيف عند الانتهاء
git merge agent/auth
git merge agent/api
git worktree remove .worktrees/task-auth
git worktree remove .worktrees/task-apiكل جلسة Claude Code ترى فقط ملفات worktree الخاصة بها، مما يمنع تلوث السياق بين الوكلاء. أضف .worktrees/ إلى .gitignore لإبقاء الدليل خارج نظام إدارة الإصدارات.
الأنماط العملية والمخاطر
تعارض المنافذ
تعزل Worktrees الكود وليس بيئات التشغيل. إذا بدأ وكيلان خادم تطوير، سيتنافسان على المنفذ 3000. الحلول:
- استخدام منافذ مختلفة لكل worktree:
PORT=3001 npm run devفي أحدهما وPORT=3002في الآخر - استخدام Docker Compose مع منافذ مُعيّنة لكل worktree
- استخدام بيئات المعاينة السحابية التي تخصص URLs تلقائياً لكل فرع
مساحة القرص
قد يستهلك كود بحجم 2 جيجابايت مع 4 worktrees ما يصل إلى 10 جيجابايت على القرص. احتفظ بعمر الـ worktree قصيراً: إنشاء ثم تشغيل الوكيل ثم دمج ثم حذف. شغّل git worktree list بانتظام للتدقيق في الـ worktrees القديمة، ونظّفها بـ git worktree prune لإزالة المراجع إلى الأدلة المحذوفة.
وحدات Node
كل worktree يحتاج إلى node_modules خاص به. شغّل pnpm install في كل worktree بعد الإنشاء. المخزن العالمي الخاضع لعنونة المحتوى لـ pnpm يجعل عمليات التثبيت اللاحقة سريعة لأن الحزم ترتبط بروابط صلبة بدلاً من النسخ.
عزل قاعدة البيانات
تعزل Worktrees الكود وليس قواعد البيانات. إذا شغّل وكيلان هجرات في آن واحد على نفس قاعدة البيانات، ستحدث تعارضات أو تلف. الحلول: استخدام مخططات قاعدة بيانات منفصلة لكل worktree، أو تشغيل حاويات Docker لكل worktree، أو ترتيب المهام التي تمس قاعدة البيانات بالتسلسل.
متى تستخدم Worktrees
| السيناريو | استخدام Worktrees؟ |
|---|---|
| وكيل واحد، ميزة واحدة | لا — مبالغة |
| وكيلان أو أكثر على وحدات مستقلة | نعم — مثالي |
| إصلاح طارئ مع عمل ميزة جارٍ | نعم — حالة الاستخدام الكلاسيكية |
| وكلاء يشتركون في مخطط قاعدة بيانات | بحذر — لا عزل لقاعدة البيانات |
| مهمة سريعة أقل من 30 دقيقة | لا — تبديل الفرع أبسط |
| بنايات طويلة الأمد طوال الليل | نعم — ضرورية |
التقارب عام 2026
يتقارب النمط عبر الأدوات. دمج Grok Build الـ worktrees في وقت تشغيل الوكيل. أضاف OpenCode 1.16.0 إدارة الجلسات واستنساخ مساحة العمل. يسد النظام البيئي مفتوح المصدر — agentree وopencode-worktree وworktree-cli — الفجوات لمستخدمي Claude Code وCursor الذين يريدون نفس العزل دون تغيير الأدوات.
انتقلت git worktrees من خدعة Git متقدمة يعرفها أساساً مشرفو المستودعات الضخمة إلى بدائية عمل قياسية لترميز الذكاء الاصطناعي في غضون 12 شهراً تقريباً. القوة الدافعة بسيطة: الوكلاء الذين لا يتدخلون في عمل بعضهم ينتهون بشكل أسرع، وينتجون فروقاً أنظف، ويتطلبون إشرافاً بشرياً أقل.
إذا كنت تشغّل وكلاء متوازيين على نفس قاعدة الكود دون worktrees، فأنت تتخلى عن العزل — والإنتاجية — على الطاولة.