سير عمل الوكلاء

أشجار عمل Git لوكلاء البرمجة بالذكاء الاصطناعي: سير عمل آمن.

FluxGit ·

تمنح شجرة عمل Git كل مهمة ملفات مسحوبة وفرعًا حاليًا مستقلين، مع مشاركة كائنات المستودع ومراجعه. وهذا يتيح مقارنة محاولات وكلاء البرمجة بالتوازي من دون تعديل دليل العمل نفسه.

الإجابة المختصرة

خصّص لكل محاولة شجرة عمل مرتبطة وفرعًا ومهمة محددة النطاق. ابدأ المحاولتين من الالتزام الأساسي المسجل نفسه، وشغّل Codex أو Claude Code أو OpenCode أو Cursor أو أي أداة قادرة على العمل داخل دليل في المجلد المخصص لها، واترك النسخة الأساسية للمراجعة. اطلب نتائج ملتزمًا بها وقابلة للمراجعة قبل المقارنة.

اختر النتيجة التي تحقق معايير القبول، وأوقف عمليات الكتابة، وتأكد من نظافة النسخة المستهدفة، ثم ادمج عبر مسار المراجعة والاختبار المعتاد. تقلل أشجار العمل تعارض الملفات لكنها ليست صناديق أمان معزولة؛ إذ تشترك في الكائنات ومعظم المراجع والمستودعات البعيدة، وتظل صلاحيات نظام الملفات أو الشبكة التي منحها المضيف لواجهة سطر الأوامر قابلة للاستخدام.

1. أنشئ شجرة عمل نظيفة لكل محاولة

ابدأ من النسخة الأساسية. تأكد من نظافتها، وحدّث الأساس المقصود أو افحصه، وسجّل ذلك الالتزام مرة واحدة، ثم أنشئ الفرعين منه.

git status --short
git branch --show-current
BASE_COMMIT=$(git rev-parse HEAD)
git worktree add -b agent/task-a ../agent-task-a "$BASE_COMMIT"
git worktree add -b agent/task-b ../agent-task-b "$BASE_COMMIT"
git worktree list

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

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

2. استخدم معايير القبول نفسها

أعط المحاولتين وصف المهمة والاختبارات والقيود والأساس المسجل نفسها. اطلب من كل وكيل تجنب التغييرات غير المرتبطة والالتزام بنتيجته في فرعه. يصعب مقارنة شجرة غير ملتزم بها ويسهل فقدها أثناء التنظيف.

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

3. قارن المحاولتين من الأساس المسجل

افحص الحالة في مجلدي المهمتين، ثم قارن كل فرع بالالتزام الأساسي نفسه. ثبّت هذا الأساس للسجلات والفروق.

git -C ../agent-task-a status --short
git -C ../agent-task-b status --short
git log --oneline "$BASE_COMMIT"..agent/task-a
git log --oneline "$BASE_COMMIT"..agent/task-b
git diff "$BASE_COMMIT" agent/task-a
git diff "$BASE_COMMIT" agent/task-b

راجع السلوك والاختبارات والملفات المتغيرة والنطاق. إكمال المهمة وحده ليس سببًا للدمج. فضّل المحاولة التي تحقق المعايير بأصغر تغيير مفهوم.

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

4. ادمج النتيجة المختارة عبر البوابة المعتادة

عد إلى النسخة الأساسية النظيفة، واختر فرعًا واحدًا تمت مراجعته، واستخدم مسار الدمج المعتاد غير السريع.

CHOSEN_BRANCH=agent/task-a
git status --short
git diff "$BASE_COMMIT" "$CHOSEN_BRANCH"
git merge --no-ff "$CHOSEN_BRANCH"

أبقِ الوكلاء متوقفين أثناء الدمج. توقف عند أي تعارض، وافحصه وحله عبر عملية المراجعة العادية؛ لا تجعل سير أشجار العمل التعارض قرارًا تلقائيًا.

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

5. نظّف من دون إجبار

افحص المجلدين واحفظ كل تغيير تريد الاحتفاظ به قبل إزالة أي نسخة مرتبطة.

git -C ../agent-task-a status --short
git -C ../agent-task-b status --short
git worktree remove ../agent-task-a
git worktree remove ../agent-task-b
git worktree list
git worktree prune --dry-run

أزل شجرة العمل من دون إجبار فقط عندما تكون نظيفة أو عندما تُترك الأعمال المتبقية عمدًا. احتفظ بفروع المهام حتى تنتهي المراجعة؛ حذف المجلد وحذف الفرع قراران منفصلان.

عاين التقليم قبل تعديل السجلات الإدارية. تعرض المعاينة السجلات القديمة من دون إزالتها. إذا رفض Git الإزالة العادية، فافحص التغييرات أو الأقفال بدل تجاوز الحماية.

ما الذي تفصله أشجار العمل وما الذي تشاركه

منفصل لكل شجرة عملمشترك أو ما زال قابلًا للوصول
الملفات المسحوبة وتغييرات العمل ونواتج البناء المحليةكائنات المستودع ومعظم المراجع
الفرع الحالي وحالة HEAD والفهرس لكل شجرةالمستودعات البعيدة وبيانات الاعتماد والإعداد المشترك
دليل المهمة الذي تستخدمه الأداةكل ما تستطيع واجهة سطر أوامر واسعة الصلاحيات الوصول إليه خارجه

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

يعتمد التوافق على قدرة الأداة على العمل في دليل مختار واحترام حدود المهمة. يناسب السير الأدوات القادرة على ذلك، لكنه لا يثبت أن كل الأدوات تقدم الضوابط نفسها.

مصادر Git الرسمية

أشجار عمل FluxGit

قارن المحاولات المتوازية مع إبقاء المراجعة تحت السيطرة.

يمكن لـ FluxGit عرض أشجار العمل المرتبطة وحالة المستودع ومقارنة التغييرات، مع إبقاء مقترحات Git من الوكلاء المدعومين خلف موافقة سطح المكتب. وتحتفظ واجهة سطر الأوامر المنفصلة بالصلاحيات التي منحها مضيفها.

موارد ذات صلة