الذكاء الاصطناعي الوكيل وكلود كود
من روبوت المحادثة إلى الوكيل المستقل — الأدوات والحلقات ومستقبل العمل بمساعدة الذكاء الاصطناعي.
ما هو الذكاء الاصطناعي الوكيل؟
الوكيل هو ذكاء اصطناعي لا يكتفي بالإجابة على الأسئلة — بل يتخذ إجراءات لتحقيق الأهداف.
ببساطة: الوصفة تخبرك كيف تُعِدّ العشاء، أما الطاهي فيُعِدّه فعلًا. كلاهما يعرف الشيء نفسه، لكن واحدًا فقط يعود إليك بطبق جاهز.
تقنيًّا: النموذج نفسه لم يتغيّر. ما تغيّر هو ما يحيط به: مخرجاته تُوجَّه إلى أدوات، ونتائج تلك الأدوات تُعاد إليه، فيصبح قادرًا على ملاحظة أثر فعله ثم التصرّف من جديد.
روبوت المحادثة مقابل الوكيل
نفس نموذج الذكاء الاصطناعي، قدرات مختلفة تماماً.
روبوت المحادثة — خطّ ينتهي
الوكيل — دورة
- □يقرأ الفحص الفاشل والكود الذي يغطّيه
- □يُجري تعديلاً ويعيد تشغيل الفحص — وما زال فاشلاً
- □يصلح السبب الحقيقي ويعيد تشغيل الفحص — ونجح
ببساطة: إذا راسلت صديقًا عن دراجتك المعطّلة حصلت على تعليمات، وإذا سلّمته الدراجة استعدتها وهي تعمل.
تقنيًّا: الأوزان نفسها، والحلقة مختلفة. سياق روبوت المحادثة لا يحوي إلا أدوارك أنت، أما سياق الوكيل فيحوي كذلك مخرجات الأدوات، فيصبح تنبّؤه التالي مشروطًا بالحالة الحقيقية لملفاتك لا بما يعرفه عن المشاريع عمومًا.
الحلقة في العمل
شاهد كيف يتعامل الوكيل مع مهمة حقيقية: “أصلح اختبار المصادقة الفاشل.”
npm test to see the failure, then uses grep to find the relevant source file. It reads the test expectations and the actual implementation to understand the gap.
ببساطة: هكذا تكتشف تسريبًا تحت المغسلة: تنظر، تشدّ وصلة، تفتح الصنبور، ثم تنظر مرة أخرى. لا أحد يصلحها بحركة واحدة، والصنبور هو ما يخبرك إن كنت قد انتهيت.
تقنيًّا: الحلقة تُغلق على إشارة خارجية — رمز خروج الاختبار — لا على ثقة النموذج بنفسه. هذا هو الفارق كله بين التكرار المنتج والتكرار العابث: البيئة، لا النموذج، هي التي تقرّر هل نجحت خطوة التحقّق.
شاهدها بنفسك
سير عمل وكيل محاكى — شاهد الوكيل يجمع ويتصرف ويتحقق.
ببساطة: كأنك تتابع العمل من فوق كتف من يقوم به: ترى كل خطوة يخطوها، لا النتيجة النهائية التي يسلّمها لك فقط.
تقنيًّا: كل سطر هنا هو نداء أداة والمخرجات التي أعادها، مضافًا إلى المحادثة. لا توجد مسوّدة خفيّة: هذا النص المعروض هو ما يفكّر فيه النموذج في الدور التالي.
الأدوات المدمجة
كل جلسة كلود كود تأتي مع أدوات قوية جاهزة للاستخدام. وكل واحدة مسمّاة بالاسم الذي يسمّيها به الوكيل في مخرجاته.
npm test، git diff، lsof -i :3000. ويرى الوكيل كامل المخرجات.**/*.test.js)؛ وGrep تبحث في المحتويات بالتعبيرات النمطية (TODO|FIXME). وبهما يتنقّل في قاعدة كود لم يعرفها أحد له.ببساطة: في أي مطبخ سكين وموقد وصنبور قبل أن تشتري أي جهاز إضافي. هذه الأدوات الست هي ذلك المطبخ: لا تثبيت ولا إعداد.
تقنيًّا: كل واحدة دالة يستطيع النموذج استدعاءها، لها مخطّط مُعلَن لمعاملاتها. وأدوات Read وEdit وWrite وGlob وGrep أضيق عمدًا من Bash: الأداة الضيّقة تفشل بصوت مسموع عند المدخل الخاطئ بدل أن تفعل شيئًا معقولًا وغير مقصود.
مقبس واحد، كل الأدوات
مقبس قياسي، فالأداة التي تُكتب مرة واحدة تعمل مع كل ذكاء اصطناعي يتحدّث به — كما يعمل أي جهاز USB في أي منفذ USB. وكل خادم أدناه أداة من هذا النوع. انقر واحداً لتستكشفه.Model Context Protocol
query-docs("Next.js 15 app router") → Returns relevant sections with code examples.
ببساطة: الغلاية تعمل في أي مقبس كهربائي لأن الجميع اتفق على شكل المقبس؛ ولا أحد يصنع في الجدار فتحة على هيئة غلاية.
تقنيًّا: بروتوكول MCP يوحّد الواجهة: كيف يُعلن الخادم عن أدواته، وكيف تُستدعى الأداة، وكيف تعود النتيجة. فيكتب مطوّر الخادم تكاملًا واحدًا مع البروتوكول بدل تكامل مستقل مع كل منتج ذكاء اصطناعي (Anthropic، 2024).
كيف يعمل MCP
MCP هو بروتوكول معياري يربط نماذج الذكاء الاصطناعي بالخدمات الخارجية.
ببساطة: كالطلب في مطعم: تتحدث إلى النادل، والنادل يتحدث إلى المطبخ، ولا تدخل أنت لتصيح في وجه الطاهي.
تقنيًّا: JSON-RPC عبر stdio أو HTTP، وبينهما عميل. العميل هو من يملك الاكتشاف ونافذة الإذن والسجل، ولذلك لا يتحدث أي خادم إلى النموذج مباشرة — ولذلك أيضًا يبقى أثر الخادم المخترَق محصورًا لا كارثيًا.
Bash — الأداة الشاملة
أداة Bash يمكنها تشغيل أي أمر في الطرفية. هذا ما يجعل الوكلاء أقوياء حقاً.
npm test أو pytest -x أو cargo test. هذه هي خطوة التحقّق؛ وبلا اختبارات يطير الوكيل أعمى.git log --oneline -10 للسياق القريب، وgit diff لما تغيّر، وgit blame للسبب. الإيداع لا بأس به؛ أما إعادة كتابة التاريخ فلا، إلا بإذن.npm install zod وpip install requests وcargo add serde. ويفحص أولاً ما هو مثبَّت، فلا تنتهي بمكتبتين تؤدّيان عملاً واحداً.node --version. “ما الذي يحتلّ المنفذ 3000؟” → lsof -i :3000. وأنفع ما يكون حين يسوء سلوك نشرٍ أو إعداد.rm -rf أو git push --force. فالقرار يبقى بيدك.ببساطة: بقية الأدوات أجهزة مطبخ متخصّصة، أما الصدفة فهي الورشة كاملة. وهي قوية للسبب نفسه الذي يجعلها تحتاج إلى إشراف.
تقنيًّا: Bash يجعل سطح الأدوات غير محدود: أي برنامج في مسار PATH يصير قابلًا للاستدعاء، ولا يمكن للوكيل أن يعرف مسبقًا ما يفعله كلٌّ منها. لهذا وُضعت بوابة الإذن على هذه الأداة لا على قائمة أوامر ممنوعة.
قراءة، تعديل، كتابة
أدوات الملفات المخصصة أكثر أماناً ودقة من أوامر الطرفية لتغييرات الكود.
ببساطة: يمكنك فتح مرطبان بمطرقة، لكن فتّاحة المرطبانات أقل إثارة وتكسر زجاجًا أقل.
تقنيًّا: أداة Edit تشترط تطابقًا وحيدًا وتُخطئ إن لم تجده أو وجدته مرّتين، فيفشل التعديل الملتبس بدل أن يصيب السطر الخاطئ بصمت. أما سطر sed واحد فكان سيعدّل الاثنين ويعلن النجاح.
المهارات — سير عمل الذكاء الاصطناعي القابلة لإعادة الاستخدام
المهارة هي حزمة أوامر مبنية مسبقاً تتعامل مع مهمة محددة. فكر فيها كإضافات للذكاء الاصطناعي.
ببساطة: بطاقة وصفة كتبتها مرة واحدة لأنك تُعِدّ الطبق نفسه كل أحد. أنت لا تعيد اختراعه كل أسبوع.
تقنيًّا: المهارة قالب مطالبة مخزّن يُستدعى باسمه. وقيمتها ليست في أن النموذج عاجز عن الفعل بدونها، بل في أن التعليمات متطابقة في كل مرة، فتصبح المخرجات قابلة للتكرار بدل أن تُرتجَل من جديد.
CLAUDE.md — عقل المشروع
A CLAUDE.md file at your project root gives the agent persistent instructions across every session.
ببساطة: الورقة الملصقة داخل خزانة مطبخ مشترك: القمامة تُخرَج الثلاثاء، والفرن حرارته أعلى من المعلن. لا أحد يحتاج أن يُخبَر مرّتين.
تقنيًّا: يُقرأ الملف إلى السياق في بداية كل جلسة، فتصل أعراف المشروع بوصفها تعليمات لا بوصفها شيئًا على النموذج أن يستنتجه من الشيفرة — والاستنتاج هو تحديدًا حيث يُختلق عُرف معقول وخاطئ.
إدارة السياق
كل ما قرأه الوكيل في هذه الجلسة يقع في مساحة واحدة لا تكبر. والأوامر التي تستعيدها مادة التجربة العملية 1، وما يهمّ هنا هو مراقبتها وهي تمتلئ واختيار وقت التصرّف.context window
/compact فتواصل — بعد أن ترمي شيئًا.ببساطة: مكتب لا تستطيع توسيعه: كل مستند جديد تفرده يعني أن مستندًا أقدم يجب أن يُحفَظ أو يُرمى.
تقنيًّا: نافذة السياق ميزانية رموز ثابتة تتقاسمها التعليمات والملفات ومخرجات الأدوات. وهذه الأوامر الأربعة هي الروافع الوحيدة على ما يشغلها: الإضافة المتعمَّدة (@path)، أو التلخيص (/compact)، أو التأسيس (/init)، أو الحفظ خارجها (الذاكرة).
أي نموذج ومتى
ثلاثة مقابض منفصلة يديرها المبتدئون كأنها مقبض واحد: أي نموذج، وكم يفكّر، والمفاتيح التي توقفه.
claude --list-models — فهذا هو الحقيقة، لا هذا الجدول. أسماء النماذج تتغيّر، أما الأدوار فلا. وأشيع عادات المبتدئين وأكثرها تكلفة هي اللجوء إلى أقوى نموذج افتراضياً: ففي سؤال لم يكن صعباً أصلاً يكون أبطأ فقط.ببساطة: اختيار وسيلة توصيل. المدينة نفسها والشحنة نفسها — الدرّاجة والشاحنة الصغيرة والشاحنة الكبيرة ليست مرتّبة من الأفضل إلى الأسوأ، بل تناسب أعمالاً مختلفة. وإرسال كل شيء بالشاحنة الكبيرة ليس حرصاً بل إهداراً.
تقنيًّا: النموذج والجهد أمران متعامدان، والخطأ هو ربطهما — فالجهد العالي لا يُنقذ مهمة سيّئة التحديد، وأقوى نموذج لا يعوّض سياقاً ملأته بالضجيج. الجهد يشتري عمق الاستنتاج قبل التنفيذ، والنموذج يحدّد سقف ما يمكن أن يبلغه ذلك الاستنتاج.
وضع الخطة ووضع التفكير
للمهام المعقدة، تمهل وفكر قبل التنفيذ.
Shift+Tab“think hard” في الأمرببساطة: طريقتان مختلفتان لإبطاء قرار: أن تطلب من البنّاء رسمًا قبل هدم الجدار، أو أن تطلب منه أن يمعن النظر أولًا.
تقنيًّا: الوضعان يعملان في طبقتين مختلفتين. وضع الخطة قيد أذونات: أدوات الكتابة ببساطة غير متاحة. أما وضع التفكير فينفق رموز مخرجات إضافية على الاستدلال قبل الإجابة. ويمكن تشغيل أيّهما وحده، ولهذا تختلف كلفتهما.
الخطافات — أحداث دورة الحياة
الخطافات تشغل الكود الخاص بك قبل أو بعد أن يتخذ كلود كود إجراءً.
rm -rf وDROP TABLE، أو تحقّق من المسارات، أو أعد كتابة المدخلات. اخرج بقيمة غير صفرية فلا يحدث الاستدعاء أبداً.osascript أو notify-send.ببساطة: قفل باب الميكروويف. هو لا يطلب من الجهاز حسن التصرّف — الجهاز فيزيائيًا لا يعمل والباب مفتوح.
تقنيًّا: الخطّاف شيفرة حتمية على حدث في دورة الحياة، خارج سيطرة النموذج. خطّاف PreToolUse يخرج بقيمة غير صفرية يُلغي النداء، وهذا ضمان؛ أما سطر في CLAUDE.md يقول «لا تفعل هذا أبدًا» فهو تفضيل قوي لا أكثر.
خطّافك الأول
خطافات واقعية تستطيع إضافتها إلى .claude/settings.json.
matcher. هو الحقل الوحيد الذي يقرّر متى يعمل سكربتك. فـ "Bash" تعني “قبل استدعاءات Bash فقط”؛ والنصّ الفارغ يعني “في كل مرة يُطلق هذا الحدث”. وكل ما عداه هنا نصّ قياسي.ببساطة: ورقة على الثلاجة تقول تحقّق من هذا قبل طهي الدجاج بلا فائدة ما لم تذكر الدجاج؛ وإلا فأنت إما تتحقّق من كل شيء أو من لا شيء.
تقنيًّا: حقل matcher هو مرشِّح الحدث، ويُطابَق مع اسم الأداة: فقيمة "Bash" تحصر الخطّاف في نداءات الصدفة، والسلسلة الفارغة "" تُطلقه عند كل وقوع لذلك الحدث — بما في ذلك الحالات التي لم يُكتب سكربتك للتعامل معها.
تكامل GitHub
أتمت سير عمل GitHub بالكامل مع كلود كود.
/review-pr 123 يفحص أربعة أمور في وقت واحد: الأمان (الحقن والثغرات)، والمنطق (الحالات الحدّية والتسابق)، والأسلوب مقابل أعرافك، والأداء (استعلامات N+1 والتسريبات).claude "fix issue #42" → يقرأ المسألة وتعليقاتها، ويبحث في قاعدة الكود، ويكتب الإصلاح مع الاختبارات، ويفتح طلب سحب مع ملخّص.-p تعني وضع الطباعة — بلا محثّ تفاعلي. claude -p "fix lint errors" و-p "update snapshots". واقرنها بـ --allowedTools لتحدّ ما يجوز له فعله.on: pull_request يراجع تلقائياً، وon: issues يفرز ويُسمّي تلقائياً، وon: push يشغّل فحوص الجودة. والإجراء الرسمي: anthropics/claude-code-action.ببساطة: الفرق بين زميل يقرأ عملك وزميل ينجز الأوراق أيضًا، ويلاحق المراجِع، ويغلق التذكرة.
تقنيًّا: لا شيء هنا قدرة جديدة: هي أدوات Bash وMCP نفسها موجَّهة إلى مستضيف نظام إصدارات. والذي يجعلها قابلة للأتمتة هو -p (وضع الطباعة): بلا مطالبة تفاعلية، فتعمل حيث لا طرفية تجيب عن سؤال.
اختر سيناريو
اختر حالة استخدام أدناه وشاهد الوكيل يعمل من خلالها.
ببساطة: أن تشاهد ستّ عمليات إصلاح قبل أن تُقدِم على واحدة بنفسك. المهام تختلف، أما إيقاع العمل فلا.
تقنيًّا: هذه النصوص مكتوبة مسبقًا لا حيّة. والجدير بالقراءة عبر الستّة جميعًا هو ما تتقارب إليه كل حلقة: إصلاح العلّة ينتهي بنجاح اختبار، وإعادة الهيكلة تنتهي ببقاء السلوك كما هو، والمراجعة تنتهي حين لا يبقى ما يُقال.
أنشئ سير عملك الخاص
ادمج كل ما تعلمته لإنشاء سير عمل وكيل مخصص.
ببساطة: روتين «الخروج من البيت» بدل أن تتذكّر المفاتيح والأضواء والباب الخلفي كلًّا على حدة. الخطوات لم تكن صعبة قط؛ الصعب كان الترتيب وعدم النسيان.
تقنيًّا: سير العمل يُرمِّز ترتيبًا ومعالجةً للفشل لا تفعلهما مطالبة واحدة: انشر فقط إن نجحت الاختبارات، وأخطِر فقط إن نجح النشر. قيد الترتيب هذا هو المُنتَج، لا الأوامر منفردة.
claude — واجهة سطر الأوامر الكاملة
كلود كود هو CLI قوي مع أكثر من 50 خياراً. إليك الفئات الأساسية.
opus, sonnet, haiku, or full ID."Bash(git:*) Edit Read"manual, plan, auto, bypassPermissionstext (default), json, or stream-json for real-time streaming.text or stream-json for programmatic input.--max-budget-usd 5.00low, medium, high, xhigh, max--bg في الخلفية.stable, latest, or version number.ببساطة: في كل جهاز أزرار أكثر مما يضغط أحد. وهذه التبويبات الخمسة هي التي يستحق أن تجدها.
تقنيًّا: الرايات تنقسم إلى ثلاث وظائف: ما يُقال للنموذج (--system-prompt و--append-system-prompt)، وما يُسمح له به (--allowedTools و--permission-mode)، وأي شكل يعود (--output-format و--json-schema). احفظ الوظائف الثلاث لا الرايات الخمسين.
وصفات CLI
انسخ والصق هذه الأنماط العملية في طرفيتك.
ببساطة: سلسلة دلاء لإطفاء حريق: كلٌّ يفعل شيئًا واحدًا ويمرّر الدلو. ولا يحتاج أحدهم أن يعرف أين الحريق.
تقنيًّا: راية -p تحوّل claude إلى مرشِّح Unix عادي: يقرأ من stdin، ويكتب إلى stdout، ويخرج برمز حالة. لذلك يتركّب مع cat وgit diff ومشغّل CI دون أن يعرف أيٌّ منها أن في الأنبوب ذكاءً اصطناعيًا.
claude mcp — إدارة الخوادم
أدر خوادم MCP مباشرة من سطر الأوامر.
--transport. كل خادم MCP إمّا بعيد (عنوان HTTP تشير إليه) أو محلي (أمر بعد -- يشغّله Claude Code لك). وكل راية أخرى تتبع هذا الاختيار الواحد — فـ --header تنطبق على الأول فقط، و-e على الثاني فقط.ببساطة: كإضافة قناة إلى التلفاز: إما أن تلتقط بثًّا يديره غيرك، أو أن تصل صندوقًا بجوار أريكتك أنت.
تقنيًّا: راية --transport تحسم ذلك، والفرق فرق عُمر لا عنوان فحسب: خادم HTTP يعمل أصلًا وتستوثق منه بـ--header، أما خادم stdio فعمليّة ابن يبدأها Claude Code ويوقفها نيابة عنك، وتُهيَّأ بـ-e.
أوضاع الأذونات
تحكّم في مقدار الاستقلالية التي تمنحها لكلود عبر --permission-mode.
manualplanacceptEditsautobypassPermissions--allowedTools لتحكّم أدق: claude --permission-mode auto --allowedTools "Bash(git:*) Read Glob Grep"ببساطة: قرص يتدرّج من «استأذنّي عند كل منعطف» إلى «قُد وحدك». وموضع ضبطه ينبغي أن يعتمد على المسافة التي تقطعها السيارة قبل أن تنتبه.
تقنيًّا: البوابة تقع عند حدّ نداء الأداة، وتُقيَّم بعد أن يقرّر النموذج النداء وقبل تنفيذه — فالوضع يضيّق ما يحدث، لا ما يجوز للنموذج اقتراحه. وbypassPermissions يزيل البوابة، وهو دفاع لا يستقيم إلا إذا كان نطاق الضرر محصورًا سلفًا ببيئة معزولة.
كلود كود — تطور سريع
كلود كود يصدر تحديثات أسبوعياً. إليك ما تغير مؤخراً وما يجب مراقبته.
ToolSearch — ولا تُكتشف إلا حين تُطلب. يقلّل عبء السياق ويتيح توسّعاً بلا حدّ.--agent reviewer.claude -w ينشئ أشجار عمل git لتجارب معزولة. واقرنه بـ --tmux لجلسات متوازية.claude update بانتظام واقرأ claude --help — فذلك المخرَج، لا هذه الشريحة، هو المرجع في أي الرايات موجودة اليوم.ببساطة: جدول مواعيد مطبوع عند موقف الحافلات: دقيق في الأسبوع الذي عُلِّق فيه، ويستحق أن يُقارَن باللوحة الحيّة.
تقنيًّا: اقرأ الثلاثة بوصفها اتجاهًا واحدًا لا ثلاث ميزات: كلٌّ منها يستردّ موردًا شحيحًا. ToolSearch يؤجّل أوصاف الأدوات لتوفير السياق، و--agents يضيّق مجموعة الأدوات لتقليل الالتباس، و-w يعزل نظام الملفات لاحتواء الأخطاء. محتوى حسّاس للزمن: تحقّق منه بـclaude --help.
الوكيل لا يحمل إلا الأدوات التي يحتاجها
أعطِ الوكيل مئة أداة فهو لا يقرأ مئة دليل أولاً. يبحث عن التي يحتاجها حين يحتاجها — كميكانيكيّ يمشي إلى صندوق الأدوات بدل أن يحمله.on-demand disclosureToolSearch
ToolSearch أداة للبحث عن الأدوات. الخوادم تسجّل أدواتها مؤجَّلةً؛ فيرى الوكيل الأسماء وحدها، ثم يحمّل الأوصاف الكاملة التي يطلبها. فهرس مكتبة، لا الرفّ كلّه.ToolSearch("slack message"). أو بالتحديد: ToolSearch("select:mcp__slack__send"). أو بنطاق: ToolSearch("+slack send"). والأداة المؤجَّلة يجب أن تُحمَّل قبل أن تُستدعى.ببساطة: المكتبة لا ترسل إليك كل كتبها تحسّبًا، بل ترسل الفهرس وتطلب أنت منه ما تريد.
تقنيًّا: تسجيل مؤجَّل: يُعلن الخادم أسماء الأدوات ويحجب مخطّطاتها الكاملة حتى يسأل ToolSearch. والتوفير في رموز الدخل في كل دور لا مرة واحدة عند البدء، ولهذا يتراكم أثره عبر الجلسة الطويلة.
التجربة العملية 0: ثبّت Claude Code وتأكّد من اتصاله
node --version && git --versionسطران يظهران الإصدار. يجب أن يكون Node 18 أو أحدث من أجل تثبيت npm في الخطوة التالية. إذا ظهر أن node غير موجود فإمّا أن تثبّت Node، أو تثبّت Claude Code بمُثبِّت مستقل (مثل claude-code في Homebrew) وتتجاوز خطوة npm.
npm install -g @anthropic-ai/claude-code && claude --versionيطبع npm سطر added N packages ثم رقم الإصدار. إذا فشل npm بخطأ في الأذونات فاستخدم مدير إصدارات Node ولا تستخدم sudo — فالتثبيت العام بصلاحيات الجذر هو أكثر الطرق شيوعاً لإفساد بيئة Node.
cd my-project && claudeلافتة ترحيب، ثم تسجيل دخول لمرة واحدة في أول تشغيل، ثم مؤشّر ينتظر ما تكتبه. أنت الآن داخل جلسة ولست في الطرفية — أوامر التجربة 1 لا تعمل إلا هنا.
/statusملخّص للجلسة: كيف سجّلت الدخول، وأي نموذج يعمل، وأي مجلد يعمل فيه. هذا هو إثبات الاتصال. إذا أظهر أنك غير مسجّل الدخول فسجّل الدخول قبل المتابعة — فالجلسة غير الموثّقة تفشل عند أول طلب حقيقي، ونادراً ما تقول رسالة الخطأ إنك غير مسجّل الدخول.
“What does this project do? Answer in three sentences.”إجابة قصيرة تسبقها أسطر تُظهر الملفات التي فتحها. اقرأها كامتحان تعرف أجوبته سلفاً. إذا أخطأ في مشروع تعرفه جيداً فهذه أنفع معلومة ستتعلّمها اليوم — ومن الأفضل أن تتعلّمها الآن وليس في عمل مهم.
/exit then claude --continueيعيدك /exit إلى الطرفية، ويعيد claude --continue فتح المحادثة نفسها بكامل سياقها. الجلسة شيء محفوظ يمكن استئنافه، وليست نافذة تفقدها بإغلاقها.
claude --resume (and: claude --fork-session)قائمة بالمحادثات الأقدم لتختار منها. يعيد --continue فتح أحدثها، ويتيح --resume أن تختار، ويفتح --fork-session نسخة تجرّب فيها ما هو محفوف بالمخاطر دون إفساد مسار تعتمد عليه. استخدم التفرّع حين تريد محاولة ثانية للمسألة نفسها مع الإبقاء على الأولى — فبدونه تطمس الجواب الذي قد يتبيّن أنه الأفضل.
التجربة العملية 1: الأوامر المختصرة التي تهمّ
/helpقائمة بالأوامر المتاحة في هذه الجلسة، بما فيها ما أضافه مشروعك أو ملحقاته. القائمة ليست ثابتة — فهي تعتمد على المكان الذي شغّلت منه، ولهذا يستحق قراءتها مرة في كل مشروع جديد.
/initيقرأ المستودع ويقترح ملف CLAUDE.md في الجذر لتوافق عليه. اقرأه قبل الموافقة. فقد استنتج أعرافك من شيفرتك، والعُرف الذي يبدو معقولاً وهو خاطئ ستقرأه كل جلسة قادمة.
/contextتفصيل لما يشغل نافذة السياق. الدرس هو ما يوجد فيها قبل أن تكتب أي شيء: تعليمات النظام، وتعريفات الأدوات، وأي خوادم موصولة، وملف CLAUDE.md الخاص بك. هذا هو السبب الحقيقي لكون الجلسة المزوّدة بأدوات كثيرة أبطأ وأغلى من الجلسة المجرّدة.
/clear versus /compact/clear يتخلّص من المحادثة ويبدأ من الصفر. و/compact يستبدلها بملخّص ويواصل. شغّل /context بعد كل منهما لترى الفرق في المقياس. وهما ليسا درجتين لشيء واحد: أحدهما يرمي قراراً قد تحتاجه، والآخر يحتفظ بأثر ناقص له.
/rewindقائمة بنقاط سابقة في الجلسة يمكنك العودة إليها. هذا هو مخرج الطوارئ لحالة «وافقت على ذلك بسرعة» — ومعرفتك بوجوده هي ما يجعل العمل السريع آمناً من الأصل.
التجربة العملية 2: أنماط الأذونات والخطّافات — حاجزان في اتجاهين متعاكسين
claude --permission-mode planتبدأ الجلسة في نمط التخطيط. والمجموعة الحقيقية هي acceptEdits وauto وbypassPermissions وmanual وdontAsk وplan — تحقّق بـclaude --help ولا تثق بأي قائمة، بما فيها هذه، فالمجموعة تتغيّر بين الإصدارات.
“Add a one-line comment at the top of README.md”يسأل قبل الكتابة. اقرأ كل الخيارات قبل أن تختار: أحدها يوافق على هذا الإجراء وحده، وآخر يوافق على كل إجراء من نوعه من الآن. يختار المبتدئون الثاني تلقائياً ثم يتساءلون لماذا لم يعد يسألهم.
“Plan how you would add input validation here. Do not edit anything.”خطة مكتوبة وبلا تعديلات. نمط التخطيط للقراءة فقط بحكم تصميمه، فهو النمط الوحيد الذي يمكنك فيه طرح سؤال واسع ومكلف بلا ثمن غير الوقت. أما الخطة التي لم تقرأها فهي مجرّد تأخير.
يُكتب الخطّاف في إعدادات مشروعك: حدث، ومطابِق يحدّد الأداة، وأمر يُنفَّذ. والأحداث الحقيقية هي PreToolUse وPostToolUse وUserPromptSubmit وSessionStart وStop وSubagentStop وPreCompact وNotification. ولأنه ملف في المستودع، يحصل زميلك على الحاجز بمجرّد git pull.
“Run this: rm -rf /tmp/does-not-exist”ينطلق الخطّاف ويُرفض الأمر. الحاجز غير المُختبَر ليس حاجزاً. وهذا الفشل صامت في اتجاه واحد: المطابِق الذي لا يشمل الأداة التي افترضتها لا ينطلق أبداً، ولا يخبرك بأنه لم ينطلق.
التجربة العملية 3: اختيار النموذج ومقدار تفكيره
claude --list-modelsالنماذج التي يمكن لحسابك استخدامها. اعتبر هذا مصدر الحقيقة، لا جدولاً في دورة — فأسماء النماذج تتغيّر، وأي عرض يثبّت اسماً يصبح قديماً في غضون ربع سنة. ويبدّل /model بينها داخل الجلسة.
إجابتان. قارن زمن الاستجابة والعمق لا الصحّة — ففي سؤال لم يكن صعباً أصلاً يكون النموذج القوي أبطأ فقط. واللجوء إلى أقوى نموذج افتراضياً هو أشيع عادات المبتدئين وأكثرها تكلفة.
claude --effort low (also: medium, high, xhigh, max)يحدّد الجهد مقدار التفكير قبل التنفيذ، باستقلال عن النموذج الذي اخترته. المستوى المنخفض يناسب التعديلات الميكانيكية، والعالي يستحقّ ثمنه في «اعثر على السبب الجذري». واستخدم /effort لتغييره داخل الجلسة.
/contextتمنحك النماذج المختلفة مقادير مختلفة من السياق. النافذة الأوسع تغيّر ما يمكنك إدخاله لا جودة استنتاجه — وأنت تدفع مقابل السياق الذي تشغله فعلاً، فنافذة كبيرة مملوءة بالضجيج أسوأ من نافذة صغيرة فيها الملفان الصحيحان.
التجربة العملية 4: المقاطعة والتوجيه
يتوقّف ويعيدك إلى المؤشّر. ما كُتب على القرص يبقى، والخطوة الجارية لا تكتمل. المقاطعة تشغيل عادي وليست خطأ — وكلما اعتدت عليها أسرع، دفعت أقل مقابل تنفيذ كنت تعرف أنه خطأ.
“Stop looking in tests/. The bug is in the request parser — read that first.”يستأنف من موضعه ومعه تصحيحك في السياق. التصحيح أرخص من إعادة البدء دائماً، فإعادة البدء ترمي القراءة التي دفعت ثمنها بالفعل.
/rewindاختر نقطة سابقة فتعود الجلسة إليها. هذا هو المقابل لخيار الموافقة الدائمة في التجربة 2: كلما تركته يعمل أسرع، احتجت أكثر إلى طريق للعودة.
الحدّ هو الدرس: قابلية التراجع خصيصة لتعديلات الأداة نفسها لا للعالم. وهذا الحدّ هو أيضاً ما يحدّد أي موافقات الأذونات يمكن جعلها دائمة بأمان.
التجربة العملية 5: إدخال المستندات
“Summarise @README.md in five bullets.”كتابة @ تفتح مُكمّل المسارات، ويُحمَّل الملف مباشرة. قارن ذلك بأن تطلب منه «ابحث عن ملف readme»: فذلك يدفع ثمن بحث، ويترك ناتج البحث في سياقك بقية الجلسة.
“Compare @package.json and @README.md — does the README describe scripts that exist?”يُحمَّل الملفان وتغطّيهما إجابة واحدة. هذا هو شكل معظم العمل الحقيقي على المستندات: سؤال لا معنى له إلا على مصدرين، والجواب هو التناقض بينهما.
يُظهر المؤشّر مرفقاً وتصف الإجابة ما في الصورة. ويستحقّ اللجوء إليه كلما كان التصوير أسرع من الوصف، وهو ما ينطبق على العلل المرئية دائماً تقريباً.
git log --oneline -30 | claude -p "Group these commits by theme."يصبح الدخل القياسي هو المحتوى، ويطبع -p إجابة واحدة ثم يخرج. وأي أمر يُنتج نصاً هو الآن مصدر مستندات — سجلات، أو ملف CSV، أو ناتج بناء. وهذا أيضاً هو الباب الذي يتكامل مع بقية طرفيتك، ولهذا فهو باب الأتمتة.
claude -p "List the three largest files as JSON" --output-format json ; echo $?كائن JSON بدل النص، ثم 0. يقبل --output-format القيم text (الافتراضي) وjson لنتيجة واحدة وstream-json للإخراج أثناء وصوله. استخدمه لحظة احتياج برنامج آخر لقراءة الإجابة — خطوة في CI، أو سكربت، أو لوحة متابعة. فالنص لك، وJSON للأمر التالي. وتحقّق من رمز الخروج: السكربت الذي يتجاهله سيعدّ التشغيل الفاشل نتيجةً فارغة.
التجربة العملية 6: أنشئ شيئاً ثم أصلحه عند تعطّله
“Create NOTES.md summarising this project, one section per top-level directory.”يُعرض الملف المقترح للموافقة ثم يُكتب. افتحه واقرأه. أنت المراجع — وهذا أول ناتج في هذا المسار تملكه وستُبقي عليه.
“Add scripts/hello.sh that prints the current git branch, and make it executable.”عمليتان — كتابة الملف وتغيير صلاحيته — وكل منهما تسأل على حدة إن كنت في نمط يسأل. ثم شغّله: يجب أن يطبع اسم فرعك. والملف الذي يقول إنه جعله قابلاً للتنفيذ ولم يفعل لا يظهر إلا عند التشغيل.
git status && git diff --statالملفات التي طلبتها بالضبط ولا شيء غيرها. وإذا وجدت ملفاً ثالثاً لم تطلبه فهذه هي الملاحظة — و/rewind من التجربة 4 هو طريقك لاسترجاعه.
command not found → مجلد npm العام ليس في PATH (التجربة 0). لا يحدث شيء بعد الطلب ← تحقّق من النمط، فقد تكون في نمط التخطيط (التجربة 2). يتجاهل أعرافك → لا يوجد CLAUDE.md، فشغّل /init (التجربة 1). بطيء وكثير النسيان → شغّل /context ثم /compact (التجربة 1).كل واحد من هذه عطل في البيئة أو النمط لا في النموذج — وكل منها يعود إلى تجربة سابقة في هذا المسار، وهذا هو الاختبار الحقيقي لنجاح المسار.
دليل البدء السريع
npm install -g @anthropic-ai/claude-codecd my-project && claudeببساطة: كتركيب أثاث جاهز: ثلاث خطوات بلا بريق، ثم الجزء الذي أردته فعلًا.
تقنيًّا: الخطوات 1 و2 و4 تتكرّر كل جلسة، والخطوة 3 وحدها هي التي تبقى — تجاوزها يعني أن تعيد شرح المشروع في كل تشغيل لاحق، وهذا أبطأ، وهو المصدر الأول لتخمين الأعراف بدل معرفتها.
اختبار المعرفة
ثمانية أسئلة على هذه الوحدة. أجب لترى السبب — يظهر الشرح سواء أصبتَ أم أخطأت.