المحتويات
- 1. ما هو agent view — العملية التي تسمّيها الوثائق "dispatch"
- 2. كل مطالبة تعني جلسة جديدة، لا متابعة للسابقة
- 3. كيف يعمل العزل — ينتقل إلى worktree قبل أن يكتب
- 4. الفحوص الثلاثة التي يقوم عليها العزل
- 5. من أين تأتي الأذونات
- 6. المصائد التي يسهل إغفالها
- 7. المفاضلة بينها — هناك أربع طرق للتوازي
- 8. روتين لتشغيل هذا بأمان
- الخلاصة
- الأسئلة الشائعة
إن agent view في Claude Code (يُفتح بالأمر claude agents) هو المكان الذي تُطلق فيه جلسات مستقلة واحدة تلو الأخرى في الخلفية وتديرها كلها من شاشة واحدة. وبالصياغة الرسمية، فهو يتيح لك "إطلاق وإدارة عدد كبير من جلسات Claude Code من شاشة واحدة" (Manage multiple agents with agent view).
يلتزم هذا المقال بـالآلية ونموذج الأمان. فالخطر الحقيقي ليس "تمرّد الذكاء الاصطناعي" — بل أن تصفّ عشر جلسات دون أن تعرف إلى أين يصل العزل ولا تحت أي أذونات تعمل بينما أنت لست ناظرًا. والخلاصة السريعة: العزل مبنيّ بعناية حقيقية — لكن ثلاثة أشياء تتسرّب منه. وهذا هو الجزء الجدير بانتباهك.
📌 من أين جاءت هذه المعلومات: كل سلوك ورقم إصدار واسم إعداد أدناه جرى التحقق منه مقابل الوثائق الرسمية في 9 أغسطس 2026. إن agent view معاينة بحثية ويتطلّب Claude Code بإصدار v2.1.139 أو أحدث. وميزات المعاينة تتحرّك، فتحقّق من نسختك أنت بالأمر claude --version وراجع التفاصيل في الوثائق الحالية.
🔀 إن وصلت إلى هنا بحثًا عن "Dispatch". لدى Claude ميزتان مختلفتان باسمين متشابهين إلى حدّ الالتباس. فـDispatch في اللوحة الجانبية لتطبيق سطح المكتب هي الميزة التي تتيح لك أن تراسل Claude من هاتفك ليعمل على حاسوبك أنت، وليست موضوع هذا المقال — تلك يغطّيها مقال كيف تعمل Dispatch وإلى أي حدّ هي آمنة. أما هذا المقال فعن agent view، وهي ميزة طرفية في Claude Code؛ والاسمان يتصادمان لأن الوثائق الرسمية تسمّي العملية التي تنفّذها هناك "dispatch".
1. ما هو agent view — العملية التي تسمّيها الوثائق "dispatch"
لنثبّت الاسم أولًا. داخل Claude Code، "dispatch" هو اسم عملية تنفّذها في agent view، وليس ميزة مستقلة تحمل ذلك الاسم. وإليك ما تقوله الوثائق الرسمية.
"إن agent view، الذي يُفتح بالأمر claude agents، شاشة واحدة تعرض كل جلساتك العاملة في الخلفية — ما الذي يعمل، وما الذي ينتظر مدخلًا منك، وما الذي انتهى." (Agent view)
والوثائق واضحة بالقدر نفسه في متى تلجأ إليه: حين تكون لديك عدة مهام مستقلة، وتريد تسليمها، وتريد رؤية حالتها بنظرة واحدة، ولا تريد التدخّل إلا عند الضرورة. إصلاح خلل، ومراجعة طلب دمج، وتحقيق في اختبار متذبذب — ارمِ الثلاثة كثلاثة صفوف، وواصل عملك في نافذة أخرى، ثم انظر حين يتحوّل صفّ إلى "يحتاجك".
✅ عمل يناسبه
مهام مستقلة بعضها عن بعض ولا تحتاج إلى مراقبتها أثناء سيرها. عمل يكفي فيه أن تستلم النتيجة في النهاية، ويمكنك أن تكون منشغلًا بشيء آخر في هذه الأثناء.
❌ عمل لا يناسبه
أي عمل يحتاج إعادة تقرير وجهته في منتصف الطريق، وأي عمل يتنازع على الملفات نفسها، وأي عمل يتضمّن إجراءً لا رجعة فيه (نشر إلى الإنتاج، قاعدة بيانات الإنتاج، إرسال شيء إلى الخارج).
2. كل مطالبة تعني جلسة جديدة، لا متابعة للسابقة
هذا أول ما يوقع الناس. تقولها الوثائق صراحة: كل مطالبة تكتبها هنا تبدأ جلسة جديدة خاصة بها. اكتب مطالبة ثانية واضغط Enter فتحصل على جلسة ثانية إلى جانب الأولى، لا على تعليمة إضافية مضافة إليها.
اكتب "وشيء آخر بخصوص السابقة" بردّ فعل الدردشة المعتاد، فأنت لم تضف ملاحظة — بل أضفت مهمة. وهذا تصميم لا صدفة، لأن agent view موجود أصلًا لصفّ مهام مستقلة. وحين تريد فعلًا إرسال تعليمة تكميلية، فأنت ترسلها من لوحة الإطلالة (peek panel) الموصوفة أدناه.
| الإجراء | ما الذي يحدث |
|---|---|
مطالبة في صندوق الإدخال ثم Enter |
يبدأ جلسة جديدة واحدة (وتتراكم على التوازي) |
Space |
يفتح لوحة الإطلالة. وتحصل على آخر مخرجات أو السؤال الذي تنتظره، لا على السجل الكامل |
الردّ في لوحة الإطلالة ثم Enter |
يجيب تلك الجلسة دون مغادرة agent view |
→ أو Enter (مع صفّ محدّد) |
يدخل تلك الجلسة (attach) |
Ctrl+X |
يوقفها. واضغطه مرة أخرى فيحذفها (وهذا يقود مباشرة إلى المصيدة في القسم 6) |
Ctrl+S / Ctrl+T / Ctrl+R |
التجميع (بحسب الحالة أو المجلد) / التثبيت / إعادة التسمية |
وأمر أخير: إن الـ subagents والـ teammates التي تولّدها الجلسة لنفسها لا تظهر كصفوف منفصلة. فما تعرضه الشاشة هو الوحدات التي أطلقتها أنت فقط.
3. كيف يعمل العزل — ينتقل إلى worktree قبل أن يكتب
هنا يسكن نموذج الأمان. فالجلسة العاملة في الخلفية تنتقل إلى worktree خاصّ بها في git قبل أن تعدّل أي ملف. ونصّ الوصف الرسمي كالتالي.
"تبدأ كل جلسة خلفية في مجلد عملك، سواء أُطلقت من agent view أو بالأمر /bg أو claude --bg. وقبل تعديل الملفات، ينقل Claude الجلسة إلى worktree معزول في git تحت .claude/worktrees/. وبهذا تقرأ الجلسات المتوازية النسخة نفسها، لكن كلًّا منها تكتب في نسختها هي." (Agent view)
وما يجعل هذا التصميم ناجحًا هو أن القراءة مشتركة والكتابة مفصولة. فتستطيع الجلسات المتوازية أن تقرأ شيفرة بعضها بعضًا، فلا تتباعد افتراضاتها، بينما لا يمكن لكتاباتها أن تتصادم. أما ثلاث جلسات تعمل في المجلد نفسه ويطمس بعضها ملفات بعض — وهي أسوأ صور هذه الحادثة — فمستحيلة بنيويًا.
ثم تأتي الجملة الأهمّ. "ما إن تصبح الجلسة داخل worktree، يمنع Claude Code تعديلات الملفات والأوامر التي قد تصل إلى النسخة الرئيسية — لتلك الجلسة ولأي subagent تولّده." فالعزل يورَّث إلى الأبناء. وإن استدعت جلسة مُطلَقة خمسة subagents داخليًا، فالخمسة كلهم داخل الجدار نفسه.
4. الفحوص الثلاثة التي يقوم عليها العزل
الوثائق محدّدة في معنى "يمنع". فهناك ثلاثة أنواع من الفحص.
1. تعديلات الملفات
يمنع Edit وWrite وNotebookEdit الموجّهة إلى مسار داخل النسخة الرئيسية.
2. مجلد عمل الأوامر
يمنع الأوامر التي يؤول مجلد عملها إلى النسخة الرئيسية، والأوامر التي يتعذّر التحقّق من بقائها خارجها.
3. إعادة توجيه git
git -C و--git-dir وGIT_DIR وGIT_WORK_TREE، وcd يسبق git — كلها مقطوعة.
وإغلاق الحالة الثالثة علامة على عمل جادّ. فهي ليست "لا تكتب في الرئيسية" فحسب، بل أيضًا "لا تخدع git ليشير إلى الرئيسية". والحكم يُتّخذ في الجانب الآمن: الأمر الذي يتعذّر التحقّق منه لا يعمل.
⚠️ على أن هذا ليس جدارًا على مستوى نظام التشغيل. فالفحوص الثلاثة تعمل بتفتيش ما يطلبه استدعاء الأداة، لا بحبس العملية. وما تحميه هو النسخة الرئيسية من المستودع نفسه، أما الملفات خارج المستودع، إضافة إلى الشبكة، فليست ضمن نطاق أيّ من الثلاثة.
وتنصّ الوثائق صراحة كذلك على أن أوامر PowerShell لا تنالها إلا الفحص الثاني، فحص مجلد العمل. فإن كان PowerShell صدفتك الأساسية على Windows، فلا تعوّل على الحماية الثالثة. أما حبس العملية نفسها فليس وظيفة worktree بل وظيفة الصندوق الرملي.
5. من أين تأتي الأذونات
بينما أنت لا تنظر، تحت أي نمط أذونات تعمل تلك الجلسة؟ إن صفّ الجلسات دون جواب عن هذا السؤال هو أخطر ما يمكنك فعله هنا.
القاعدة الرسمية لا لبس فيها. حين تُطلق من صندوق إدخال agent view، أو تشغّل claude --bg من صدفة، يُستخدم defaultMode من إعدادات ذلك المجلد. وإن كان ما أطلقته subagent، فيُستخدم بدلًا منه permissionMode الموجود في مقدّمة تعريفه.
أي أن الأذونات لا تُختار في اللحظة؛ بل تُورَّث من إعداداتك. وكلما كان defaultMode المعتاد لديك في settings.json أرخى، صار أصدق حرفيًا أن لحظة الإطلاق تولد عشر جلسات بلا رقيب وبأذونات رخوة. لذا فترتيب أنماط الأذونات وقواعد الأذونات أولًا شرط مسبق لا تحسينًا اختياريًا.
لكنه يتوقف كما ينبغي حيث يجب أن يتوقف. فحين تحتاج جلسة إلى شيء لا يقدّمه سواك — جواب عن سؤال، أو قرار إذن، أو التعليمة التالية — يتغيّر الصفّ إلى "Needs input". وتلك الحالة هي نقطة التحكّم الوحيدة الباقية لك. ولهذا فإن agent view ليس "شاشة تصفّ فيها الأشياء ثم تمضي" بل "شاشة تعود إليها لتلتقط الصفوف التي تنتظر مدخلًا".
6. المصائد التي يسهل إغفالها
العزل مبنيّ بعناية. ومع ذلك، ثلاثة أشياء تتسرّب منه. وهذا هو الجزء الذي يلدغ في العمل الحقيقي.
1. موافقة "لا تسأل مرة أخرى" تخرج من الـ worktree
بحسب الوثائق، فإن اختيار "Yes, don't ask again" لأمر Bash داخل جلسة في worktree يحفظ تلك القاعدة في .claude/settings.local.json الخاصّ بالنسخة الرئيسية. والنتيجة: تسري في النسخة الرئيسية وفي كل worktree آخر، وتبقى بعد إزالة الـ worktree الذي اتُّخذت فيه.
أي أن قرار إذن واحدًا اتُّخذ في مكان معزول يصير إعدادًا دائمًا خارجه. و"لا تسأل مرة أخرى" ضُغطت وأنت لا تنظر، داخل ما ظننته مساحة عمل مؤقتة، سارية من تلك اللحظة فصاعدًا. فلا تمدّ يدك بخفّة إلى "لا تسأل مرة أخرى" حين تطلب منك لوحة إطلالة جلسة مُطلَقة إذنًا.
2. حذف الجلسة يحذف معها العمل غير المودَع
وهو منصوص عليه صراحة في القيود الرسمية: "إن الـ worktrees التي ينشئها Claude تُحذف مع الجلسة حين تحذفها في agent view. أودِع تغييراتك قبل حذف جلسة عدّلت ملفات في worktree خاصّ بها."
فالأمر Ctrl+X هو إيقاف في الضغطة الأولى وحذف في الثانية. اضغطه مرتين وأنت ترتّب جلسة منتهية فتذهب المخرجات معها. و"انتهت" ليست هي "استُلمت" — ما إن تحصل على النتيجة، أودِعها أو ادمجها قبل الحذف.
3. الملف .worktreeinclude يسلّم أسرارك إلى كل worktree
الـ worktree نسخة جديدة، فملف .env المستبعد بـ gitignore ليس فيها. وبما أن شيئًا لا يعمل بدونه، فأنت تدرجه في .worktreeinclude فيصير يُنسخ تلقائيًا في كل مرة يُنشأ فيها worktree جديد.
مريح — لكنه مقلوبًا يعني أن نسخة إضافية من بيانات اعتمادك تهبط على القرص مقابل كل جلسة تُطلقها. فإن كنت تشغّل هذه على التوازي، فالتصرّف العاقل هو توزيع مفاتيح تطوير لا مفاتيح إنتاج.
وهناك ثلاثة قيود أخرى مذكورة رسميًا. الحصّة تُستنزف تضاعفيًا ("تشغيل عشرة عملاء على التوازي يستهلك حصّتك بسرعة تقارب عشرة أضعاف تشغيل واحد"). والجلسات تعمل محليًا — فهي تنجو من سبات الجهاز، لكن إطفاءه يوقفها. ثم كون هذا معاينة بحثية أصلًا.
7. المفاضلة بينها — هناك أربع طرق للتوازي
ترتّب الوثائق الرسمية التوازي في أربعة أساليب. وإطلاق الجلسات (agent view) واحد منها فقط، فاختيار الأسلوب الخطأ يكلّفك بوضوح.
| الأسلوب | من يدير الأمر | متى تختاره |
|---|---|---|
| Subagents | يفوّض Claude داخل محادثة واحدة ويجمع النتيجة | حين لا تريد لمخرجات العمل الجانبي (نتائج البحث، السجلّات، الملفات) أن تلوّث السياق الرئيسي |
| Agent view (dispatch) | أنت تسلّم المهمة ثم تنظر لاحقًا | عدة مهام مستقلة. موضوع هذا المقال. معاينة بحثية |
| Agent teams | يخطّط Claude ويوزّع ويشرف | حين تريد أن يُتولّى عنك تقسيم العمل والمزامنة. تجريبية، ومعطّلة افتراضيًا. لها مقال خاص |
| Dynamic workflows | يحمل السيناريو الخطّة | تدقيق قاعدة شيفرة بكاملها، أو ترحيل 500 ملف — حجم لا يمكن لدورة واحدة أن توجّهه. وحين يلزم تدقيق النتائج تدقيقًا متبادلًا |
الخطّ الفاصل هو من يدير الأمر. فإن انتهى داخل محادثة واحدة، فالـ subagents. وإن أطلقته أنت وجمعته لاحقًا، فـ agent view. وإن أردت أن يديره Claude، فالـ agent teams. وإن كان الحجم يستدعي إجراءً ثابتًا بدل حكم لحظي، فالـ dynamic workflows.
أما الـ worktrees فهي، بالمناسبة، موضوعة لا كطريقة للتوازي بل كأداة للعزل. ويستخدمها agent view تلقائيًا. أما للجلسات المتوازية التي تبدأها أنت، فتسمّي واحدًا صراحة، كما في claude --worktree <name>.
8. روتين لتشغيل هذا بأمان
قبل الإطلاق
- تفقّد
defaultModeلذلك المجلد. فهو يصير حرفيًا مستوى أذونات جلسة لا يراقبها أحد - لا تسلّم عملًا يتضمّن إجراءات لا رجعة فيها. فالنشر وقاعدة بيانات الإنتاج والإرسال إلى الخارج مكانها جلسة تراقبها بعينك
- هل المهام مستقلة فعلًا؟ إن كانت معلّقة بقرار تصميمي واحد، فاحسم ذلك القرار أولًا ثم سلّمها
- ما الذي في
.worktreeincludeعندك؟ مفاتيحك تُنسخ مرة لكل جلسة تصفّها
أثناء عملها
- عد إلى الصفوف التي تحمل "Needs input". فتلك نقطة التحكّم الوحيدة
- حين يُطلب منك إذن، لا تختر "لا تسأل مرة أخرى". فذلك القرار يعمّر أطول من الـ worktree
- التوازي ينعكس مباشرة على الحصّة. عشرة معًا تستنزفها بعشرة أضعاف السرعة
بعد انتهائها
- أودِع قبل أن تحذف. فالضغطة الثانية على
Ctrl+Xتحذف، ومحتويات الـ worktree تذهب معها - لا تأخذ النتائج على الثقة. فكل شيء شغّلته على التوازي أضاف ادّعاءً آخر غير مُتحقَّق منه
والنقطة الأخيرة تستحق التشديد كقاعدة عملية. التوازي يزيد إجمالي المراجعة المطلوبة. فعشر مهام تعود ومعها عشرة أسئلة من نوع "هل هذا صحيح فعلًا؟"؛ والتحقّق لا يتوازى مع العمل. وسقف عدد ما تُطلقه يحدّده عدد النتائج التي تستطيع التحقّق منها.
الخلاصة
إن dispatch هو فعل بدء جلسة خلفية مستقلة من agent view (claude agents)، وهو معاينة بحثية (v2.1.139 أو أحدث). وكل مطالبة تصير جلسة واحدة، لا متابعة للسابقة أبدًا.
وقلب نموذج الأمان هو العزل عبر worktree. فقبل الكتابة، تنتقل الجلسة إلى .claude/worktrees/، ومن هناك تكون القراءة مشتركة والكتابة مفصولة. أما التعديلات والأوامر وإعادة توجيه git التي قد تصل إلى النسخة الرئيسية فمقطوعة بثلاثة فحوص، وتلك الحماية موروثة إلى كل subagent تولّده الجلسة.
لكن ثلاثة أشياء تخرج من العزل. فموافقة "لا تسأل مرة أخرى" تُحفظ في الجانب الرئيسي، وتسري في كل worktree، وتنجو من حذف الـ worktree. وحذف الجلسة يتلف العمل غير المودَع. والملف .worktreeinclude ينسخ أسرارك مرة لكل worktree. ولأن الـ worktree ليس جدارًا على مستوى نظام التشغيل، فكل ما هو خارج المستودع والشبكة غير محمي — وتلك وظيفة الصندوق الرملي.
الأسئلة الشائعة
س1. هل توجد ميزة اسمها "Dispatch" فعلًا في Claude Code؟
ليس كاسم ميزة مستقلة. فـ dispatch اسم عملية داخل agent view. وتصف الوثائق الرسمية agent view بأنه الميزة التي تتيح لك "إطلاق وإدارة عدد كبير من جلسات Claude Code من شاشة واحدة". والأمر الذي يفتحه هو claude agents.
س2. هل /agents وclaude agents الشيء نفسه؟
ليسا كذلك. وتحذّر الوثائق من هذا مباشرة: رغم تشابه الاسم، فإن /agents ليس claude agents. فـ claude agents هو أمر الصدفة الذي يفتح agent view. أما /agents فمنذ الإصدار v2.1.198 لم يعد يفتح لوحة أصلًا — إنه يخبرك فقط بمكان ملفات تعريف الـ subagents لديك.
س3. هل تستطيع جلسة مُطلَقة أن تُفسد نسخة عملي الرئيسية؟
في ما يخصّ النسخة الرئيسية من المستودع نفسه، أنت محميّ بنيويًا. فتعديلات الملفات ومجلدات عمل الأوامر وإعادة توجيه git ممنوعة بالفحوص الثلاثة، والحماية نفسها تشمل أي subagent تولّده الجلسة. لكن الملفات خارج المستودع والشبكة خارج النطاق، وتحت PowerShell لا يسري إلا فحص مجلد العمل.
س4. ماذا يفعل تشغيلها على التوازي بالتكلفة؟
ترتفع بما يتناسب تقريبًا مع العدد. وتقول القيود الرسمية ذلك: تشغيل عشرة عملاء على التوازي يستهلك حصّتك بسرعة تقارب عشرة أضعاف تشغيل واحد. فالعمل في الخلفية لا يعني الرخص.
س5. هل لا بأس بحذف الجلسة ما إن تنتهي؟
أودِع أولًا، ثم احذف. تنصّ الوثائق على أن الـ worktrees التي ينشئها Claude تُحذف مع الجلسة حين تحذفها في agent view. والأمر Ctrl+X يوقف في الضغطة الأولى ويحذف في الثانية. وأن تكون قد استلمت النتيجة ليس كأن تكون قد استوعبتها.
س6. هل أستطيع اختيار نمط الأذونات في كل إطلاق؟
ليس في اللحظة. فيُستخدم defaultMode من إعدادات ذلك المجلد — أو، إن كنت قد أطلقت subagent، فـ permissionMode الموجود في مقدّمة تعريفه. وإن كان defaultMode المعتاد لديك رخوًا، فتلك الرخاوة هي ما يعمل بلا رقيب. راجع إعدادات أذوناتك قبل أن تبدأ استخدام الإطلاق.
س7. كيف يختلف هذا عن الـ subagents؟
الفرق هو من يدير الأمر. فمع الـ subagents، يفوّض Claude داخل محادثة واحدة ويعيد النتيجة إلى تلك المحادثة. أما مع agent view، فأنت تسلّم مهام مستقلة وتجمع النتائج بعد ذلك. والـ subagents التي تولّدها جلسة لا تُعرض كصفوف في agent view.
س8. ماذا يحدث إن أغلقت حاسوبي المحمول؟
تتوقف. تقول القيود الرسمية إن الجلسات الخلفية تعمل على جهازك: فهي تنجو من السبات، لكن إطفاء الجهاز يوقفها. ولا شيء يعمل في السحابة، فهذه ليست الأداة التي ترمي بها مهمة طويلة فوق السور وتذهب إلى بيتك.
مقالات ذات صلة
- Subagents و Agent Teams — الطريقتان الأخريان للتوازي
- أنماط الأذونات — الإعداد الذي ترثه الجلسة المُطلَقة
- قواعد الأذونات وملف settings.json — أين تُحفظ "لا تسأل مرة أخرى"
- الصندوق الرملي — الآلية التي تغطّي ما لا يغطّيه الـ worktree
- متى تشغّل /compact — كلما زاد ما تشغّله على التوازي تضخّم السياق