أنماط ومخرجات الحديث (Output Styles): تغيير البرنامج لا المذيع
📚 تنقل السلسلة: المقال السابق 31 ملفات settings.json: الإعدادات الشخصية والمشاريع علمك كيفية تنظيم مستويات الإعدادات وتفادي التعارضات. وينتقل هذا المقال لشرح زر تحكم هام في الإعدادات - أنماط ومخرجات الحديث (output styles). لا يختص هذا الإعداد بـ "المعلومات التي يعرفها Claude"، بل بـ "طريقة وأسلوب إجابته عليك". فبسطر تهيئة واحد، يمكنك تحويل شخصيته من "مهندس برمجيات صامت يركز على الكود" إلى "مدرس يشرح خطواته بالتفصيل"، أو حتى إلى شخصية غير برمجية تماماً.
يقال دائماً: "إذا كنت تريد التزام Claude بالقواعد، فاكتبها في ملف CLAUDE.md" - اكتب القواعد، والشروط، وكل ما يجب أن يتذكره.
بصراحة، تمثل هذه النصيحة نصف الحقيقة فقط. فملف CLAUDE.md يمثل المكان الأنسب لحفظ خلفيات وسياق المشروع (المقال 18)، ولكن كتابة بعض الخيارات داخله يعتبر خياراً خاطئاً.
مثل ماذا؟ "أريد تعديل وتغيير نبرة، وشخصية، وتنسيق إجاباته في كل مرة". كأن تطلب منه رسم مخطط توضيحي قبل كل إجابة، أو شرح الأكواد أثناء كتابتها لمساعدتك في التعلم، أو تحويله إلى مساعد كتابة نصوص عامة بدلاف من كونه مهندساً برمجياً. إذا كتبت هذه الرغبات في CLAUDE.md فستجد تفعيلاً غير مستقر وتجاهلاً لبعض الشروط - لأن ملف CLAUDE.md يُرسل كرسالة من المستخدم تابعة لتعليمات النظام، ويمثل "طلب توصية" وليس زر تحكم حقيقي لتعديل طبيعته. والزر الفعلي المخصص لتعديل سلوكه ونبرته يسمى output styles (أنماط المخرجات).
لصياغة الأمر بوضوح: يمثل ملف CLAUDE.md مستند وثائق المشروع الذي تسلمه للموظف الجديد، ويمثل خيار output styles تعديل الوصف الوظيفي للموظف نفسه - "هل دورك الحالي هو مهندس يركز على كتابة الأكواد، أم معلم يشرح الخطوات ويبسط المفاهيم". وسنشرح في هذا المقال كيفية تعديل وضبط هذا الزر.
تأمل هذا السيناريو الواقعي: شخص لا يفهم البرمجة ويريد استخدام Claude Code لمساعدته في تعديل سيرته الذاتية. إذا استخدم الشخصية الافتراضية للوكيل (المهندس البرمجى)، فستجده يقترح تلقائياً "تعديل هذه الجملة لتكون دالة برمجية" أو "إضافة اختبارات لفحص الأقسام" - لتداخله مع تفكير المهندس البرمجى الذي لا يناسب مراجعة السير الذاتية. هذه المشكلة لا يحلها ملف CLAUDE.md بل يعالجها خيار output styles.
بعد قراءة هذا المقال، ستحصل على:
- شرح مبسط لخيارات output styles وكيف تعدل "أسلوب الإجابة" لا "المعلومات".
- أنماط المخرجات الأربعة المدمجة في النظام (الافتراضي Default، والمبادر Proactive، والشارح Explanatory، والتعليمي Learning) واستخدام كل منها.
- كيفية التبديل وتفعيل الأنماط - وتنبيه هام حول تعديل الأوامر في الإصدارات الأخيرة: حيث تم إلغاء أمر
/output-styleالقديم وكيفية البدء بالأوامر الجديدة. - كيفية تصميم وبناء نمط مخرجات مخصص لك: طريقة صياغة ملف Markdown، دور حقول frontmatter، والتحذير من إعداد خيار
keep-coding-instructions. - مقارنة تفصيلية بين أنماط المخرجات وملف
CLAUDE.mdوخيارات سطر الأوامر--append-system-promptوالوكلاء الفرعيين والمهارات لمنع اللبس.
01 تغيير "أسلوب الإجابة" لا "المعلومات"
لنثبت القاعدة الأساسية أولاً:
تغير أنماط المخرجات طريقة إجابة Claude عليك، ولا تضيف له معلومات جديدة.
وهذا يعني أن تعيين نمط جديد لن يمد Claude ببيانات جديدة حول كود مشروعك، بل يعدل تعليمات النظام الأساسية (system prompt) التي تُحمل في بداية الجلسة وتحدد "من هو Claude وكيف يتصرف" - لترسم له الشخصية، والنبرة، وتنسيق الإجابة المفضل.
تشبيه: تغيير طريقة تقديم نفس المذيع لبرامج مختلفة. فالمذيع هو نفسه يملك نفس المهارات والمعلومات؛ ولكنه يقدم "نشرة الأخبار" بنبرة رسمية هادئة وجادة، ويقدم "برنامج الأطفال" بنبرة حماسية وتفاعلية سريعة، ويقدم "البرنامج التعليمي" بنبرة هادئة وبطيئة ويطرح أسئلة تفاعلية. المتغير هنا هو "طريقة تقديم البرنامج المحددة له"، وليس المذيع نفسه. وخيارات output styles تعمل بنفس الطريقة - فالنموذج هو نفسه يملك نفس القدرات البرمجية، والمتغير هو شخصيته ونبرته وتنسيقه المعتمد في الحوار معك.
ومتى يُنصح باللجوء لهذه الميزة؟ يشير التوثيق صراحة:
استخدم أنماط المخرجات عند تكرار نفس التوجيهات لتعديل النبرة أو التنسيق في بداية كل سؤال، أو عند رغبتك في تحويل دور Claude لشخصية أخرى غير مهندس البرمجيات.
ويمكن تلخيص الحاجة في حالتين أساسيتين:
- "أضطر لتكرار نفس الشرط والتوجيه في بداية كل سؤال يدوياً" ← ككتابة "يرجى رسم مخطط توضيحي قبل الشرح" مع كل سؤال. عند تكرارها لخمس مرات، فهذا مؤشر على ضرورة حفظها كنمط مخرجات مخصص بدلاً من كتابتها يدوياً.
- "لا أريد منه القيام بمهام برمجية إطلاقاً في الوقت الحالي" ← كاستخدامه لكتابة المقالات أو تحليل البيانات العامة. فشخصية Claude Code الافتراضية مصممة للعمل بكفاءة في المهام البرمجية (كفحص التغييرات وكتابة التعليقات واختبار الكود)، وتصبح هذه التوجيهات البرمجية عائقاً وتشتيتاً عند استخدامها لكتابة المقالات مثلاً.
نعود لمثال مراجعة السيرة الذاتية - تكمن المشكلة هنا في عدم تعطيل تعليمات البرمجة. والحل الصحيح هو استخدام أنماط المخرجات لتعديل شخصيته برمجياً.
💡 خلاصة سريعة: تعدل أنماط المخرجات تعليمات النظام الأساسية (system prompt) لترسم الشخصية والنبرة والتنسيق؛ ويُنصح بها عند تكرار نفس شروط التنسيق يدوياً أو عند استخدام الوكيل لمهام غير برمجية.
02 أنماط المخرجات الأربعة المدمجة
يحتوي Claude Code على أربعة أنماط مخرجات مدمجة وجاهزة للاستخدام الفوري دون حاجة لكتابتها يدوياً.
النمط الافتراضي (Default): وهو النمط الذي تعاملت معه في المقالات السابقة - وتمت تهيئة تعليمات النظام له للعمل بأعلى كفاءة في المهام البرمجية، ككتابة كود نظيف وتعديل ملفات بدقة وفحص سلامة العمل. ويُنصح بالحفاظ عليه كخيار أساسي عند غياب مهام أخرى.
وبالاضافة للنمط الافتراضي، يوفر النظام ثلاثة أنماط إضافية نوضح الفروق بينها:
النمط المبادر (Proactive) —— اتخاذ قرارات سريعة وتفضيل العمل المباشر على التخطيط الطويل. يوضح التوثيق: "يقوم الوكيل بالعمل مباشرة، ويبني افتراضات منطقية لإكمال العمل وتجنب مقاطعتك بالأسئلة والاستفسارات العادية، ويفضل التنفيذ على وضع خطط طويلة". باللغة البسيطة، يقلل من وتيرة الأسئلة والمراجعة ويتخذ قرارات سريعة للمضي قدماً في العمل.
هناك تفصيل هام ينبه إليه التوثيق: يقدم النمط المبادر توجيهات للعمل والتحرك الذاتي السريع، ولكنه لا يغير إعدادات وقواعد الصلاحيات المطبقة - وبالتالي ستستمر في رؤية تنبيهات طلب الموافقة للأوامر الحساسة. فقواعد الصلاحيات (المقال 20) تمنع تشغيل الأوامر، والنمط المبادر يحدد نبرة وسلوك العمل، فلا تخلط بينهما.
النمط الشارح (Explanatory) —— شرح وتوضيح المفاهيم أثناء العمل. يقوم بالمهام البرمجية المعتادة، ولكنه يضيف شروحات تفصيلية وتبسيط للمفاهيم المطبقة لمساعدتك في فهم "لماذا كتبنا هذا الكود وما هي بنية وتصميم هذا المجلد". وهو خيار ممتاز إذا كنت تريد تعلم لغة أو إطار عمل جديد أثناء البرمجة.
النمط التعليمي (Learning) —— نمط تفاعلي يشاركك البرمجة ويترك لك مهاماً لإنجازها. وهو نمط متميز وتفاعلي - فلا يكتفي بالشرح بل يترك تعليقات مثل TODO(human) في الكود ويطلب منك كتابة كود مخصص بنفسك. وبذلك يضع لك الهيكل العام ويترك لك فرصة كتابة الأجزاء الهامة لتتعلم بالعمل بدلاً من الاقتصار على المشاهدة.
الجدول التالي يقارن بين الأنماط الأربعة المدمجة:
| النمط | السلوك الأساسي مقارنة بالافتراضي | متى يُنصح باختياره | هل يؤدي لإجابات أطول؟ |
|---|---|---|---|
| Default (الافتراضي) | النمط البرمجى المعتاد | المهام اليومية المعتادة لبرمجة المشاريع | طبيعي |
| Proactive (المبادر) | سرعة اتخاذ القرارات وتقليل الأسئلة | لتجاوز كثرة الأسئلة وتسريع العمليات البسيطة | طبيعي |
| Explanatory (الشارح) | إضافة شروحات ومفاهيم برمجية تفصيلية | لفهم وتتبع طريقة بناء كود جديد عليك | أطول (تصميماً) |
| Learning (التعليمي) | شروحات تفصيلية وترك تعليقات TODO(human) لتكتبها بنفسك | للتدريب والتعلم وتجربة كتابة الكود بنفسك | أطول (تصميماً) |
ركز على عمود "هل يؤدي لإجابات أطول؟": فالنمط الشارح والتعليمي مصممان برمجياً لصياغة إجابات أطول ومفصلة - مما يترتب عليه استهلاك أكبر للرموز (tokens) الصادرة وتكلفة تشغيل أعلى (راجع المقال 06 لتفاصيل تكلفة الرموز). لذا تجنب تفعيلهما كإعدادات دائمة، واستخدمهما عند الحاجة للتعلم فقط، ثم عد للنمط الافتراضي Default لتوفير التكلفة.
مخطط استخدام الأنماط: للعمل اليومي المعتاد استعن بـ Default؛ لتصفح مستودع جديد برمجياً وفهم فكرته استعن بـ Explanatory؛ وللتدريب والتعلم البرمجى الفعلي استعن بـ Learning.
💡 خلاصة سريعة: أنماط مدمجة - Default للبرمجة المعتادة، Proactive لسرعة التنفيذ وتقليل الاستفسارات، Explanatory للعمل مع شرح المفاهيم، Learning للعمل التفاعلي وترك مهام لك؛ والنمطين الأخيرين يستهلكان رموزاً وتكلفة أعلى.
03 كيفية التبديل وتفعيل الأنماط
يرجى الانتباه لوجود تعديل هام في إصدارات الأداة الأخيرة يكثر الخلط بسببه مع الوثائق والشروحات القديمة:
فقد تجد شروحات تشير لاستخدام أمر /output-style للتبديل بين الأنماط. هذا الأمر تم إلغاؤه وحذفه تماماً من الأداة:
تم إيقاف أمر
/output-styleالمستقل في إصدار v2.1.73 وتم حذفه نهائياً في إصدار v2.1.91. يرجى التبديل باستخدام أمر/configأو بتعديل حقلoutputStyleفي ملف التهيئة مباشرة.
لتغيير وتفعيل الأنماط حالياً، اتبع أحد المسارين التاليين:
المسار الأول: التعديل التفاعلي عبر واجهة /config (الخيار الأسهل)
اكتب في محادثة Claude Code:
/configستظهر واجهة تفاعلية خيارات التهيئة، تصفح القائمة للوصول لخيار أنماط المخرجات (Output Styles)، واضغط回车 لاختيار النمط المفضل. يوضح التوثيق:
شغل أمر `/config` واختر نمط المخرجات المفضل من القائمة. ويتم حفظ خيارك وتطبيقه تلقائياً في ملف التهيئة المحلي للمشروع `.claude/settings.local.json`.تذكر موقع حفظ الخيار - يُحفظ الخيار تلقائياً في ملف الإعدادات المحلي للمشروع .claude/settings.local.json. ويرتبط هذا بدرس المستويات الذي شرحناه في المقال 31 (ملف محلي يخص جهازك فقط في هذا المشروع ويُحظر رفعه للمستودع العام). وبذلك يطبق النمط المختار عليك أنت فقط في هذا المشروع دون إزعاج بقية الفريق بالخيارات الشخصية.
المسار الثاني: التعديل اليدوي المباشر لحقل outputStyle
يمكنك كتابة وتحديد النمط مباشرة داخل ملف الإعدادات المفضل بزيادة حقل outputStyle:
{
"outputStyle": "Explanatory"
}تكتب اسم النمط المطلوب (الأنماط المدمجة: Explanatory أو Learning أو Proactive أو اسم نمط مخصص قمت ببنائه). ويحدد مستوى حفظ الملف نطاق تأثير هذا النمط (شخصي لكافة المشاريع أو للمشروع الحالي فقط) بناءً على قواعد الأولويات الموضحة في المقال 31.
متى تطبق التغييرات وتفعل الشخصية الجديدة؟
بعد حفظ الملف أو تعديل الخيار في القائمة، متى تلاحظ التغيير في إجابات Claude؟ يوضح التوثيق هذه النقطة بدقة:
تمثل أنماط المخرجات جزءاً من تعليمات النظام الأساسية، ويتم قراءتها وتطبيقها مرة واحدة عند بدء الجلسة. وأي تعديل عليها يتطلب تشغيل أمر
/clearأو بدء جلسة جديدة لتفعيلها.
تشبيه: ورقة العمل الموزعة قبل العرض البرمجى. إذا قمت بتعديل ورقة العمل أثناء سير البرنامج، فلن ينتبه المذيع للتغيير إلا في الحلقة القادمة. أنماط المخرجات تعمل بنفس الطريقة: فهي جزء من تعليمات النظام الأساسية، ويقرأها Claude مرة واحدة عند بدء المحادثة. وإذا قمت بتغيير النمط أثناء المحادثة فلن تلاحظ أي تغيير في إجاباته الحالية، ويجب عليك كتابة أمر /clear (لتنظيف المحادثة وبدء جلسة جديدة كما شرحنا في المقال 19) أو إغلاق الأداة وإعادة تشغيلها لتشاهد النمط الجديد يعمل.
يقع الكثير من المستخدمين في هذا الفخ - حيث يقوم بتعديل النمط لـ Explanatory في القائمة ويعود ليسأله مباشرة ليفاجأ بإجابات مختصرة برمجية خالية من الشرح ويظن أن الميزة لا تعمل، لجهله بضرورة كتابة أمر /clear لتطبيق التغييرات.
💡 خلاصة سريعة: إلغاء أمر
/output-styleالقديم؛ والبديل هو التعديل بـ/config(يُحفظ محلياً فيsettings.local.json) أو بكتابة حقلoutputStyleيدوياً؛ ويتطلب تفعيل النمط الجديد تشغيل أمر/clearأو إعادة تشغيل الجلسة.
04 تصميم وبناء نمط مخرجات مخصص لك
إذا كنت تريد صياغة شخصية ونبرة مخصصة تناسب أعمالك غير البرمجية أو تنسيقات محددة تلتزم بها، يمكنك بناء نمط مخرجات مخصص بسهولة - فكتابة ملف Markdown واحد كافية لإنشاء نمط مخرجات مخصص.
يوضح التوثيق هيكل ومواصفات الملف كالتالي:
يمثل نمط المخرجات المخصص ملف Markdown بسيط: يحتوي في مقدمته على حقول frontmatter لتحديد البيانات العامة للملف، ويليها النص البرمجى والتعليمات المطلوب إضافتها لتعليمات النظام الأساسية.
يتكون الملف من قسمين أساسيين: حقول frontmatter في المقدمة (مغلقة بـ ---) + التعليمات والشروط (التي يتم دمجها مع تعليمات النظام). دعنا نرى كيفية بنائها في ثلاث خطوات مبسطة:
الخطوة الأولى: حفظ الملف في المجلد المخصص للمستوى المطلوب
كحال المهارات والوكلاء الفرعيين، تتوزع أنماط المخرجات على ثلاثة مستويات للملفات لتحديد نطاق عملها:
| المستوى | مجلد الحفظ | نطاق عمل النمط |
|---|---|---|
| شخصي (User) | ~/.claude/output-styles/ | يعمل في كافة مشاريعك البرمجية ويظهر في خياراتها |
| مشروع (Project) | .claude/output-styles/ (داخل مجلد المشروع) | يعمل في المشروع الحالي فقط، ويُرفع للمستودع العام للفريق |
| إدارة الشركات | المجلدات المخصصة لإدارات تقنية المعلومات | خيارات تفرضها الشركة على الأجهزة |
القاعدة الذهبية للاختيار: الخيارات الشخصية العامة (مثل نبرة تفضلها دائماً) تُحفظ شخصياً في ~/.claude/output-styles/؛ والقوانين ونبرات العمل الخاصة بالمشروع (لتوحيد طريقة كتابة الفريق) تُحفظ في مستوى المشروع .claude/output-styles/ لتُرفع لـ git.
قاعدة تسمية الملف:
يمثل اسم الملف المعرف الرسمي والاسم للنمط الجديد، إلا إذا قمت بتعيين قيمة لحقل
nameفي المقدمة.
بمعنى أن حفظ الملف باسم code-reviewer.md ينشئ نمطاً باسم code-reviewer تلقائياً؛ وإذا كتبت اسماً في حقل name فسيتم اعتماد الاسم المكتوب للنمط في القوائم.
الخطوة الثانية: كتابة حقول frontmatter والتوجيهات
تأمل هذا المثال العملي لبناء نمط يفرض رسم المخططات التوضيحية قبل الشرح:
---
name: Diagrams first
description: 每次解释都先画一张图,再用文字说明
keep-coding-instructions: true
---
解释代码、架构或数据流时,先给一张展示结构的 Mermaid 图,再用文字解释。
## 画图约定
控制流用 `flowchart TD`,请求路径用 `sequenceDiagram`。每张图节点控制在 15 个以内。تأكد من كتابة keep-coding-instructions: true لأننا نهدف للبرمجة مع تعديل طريقة الشرح، ونريد الحفاظ على تعليمات السلامة البرمجية المدمجة.
يدعم قسم frontmatter أربعة حقول أساسية نوضح دور كل منها:
| الحقل | الوظيفة ودور الخيار | القيمة الافتراضية |
|---|---|---|
name | اسم ونوع النمط المخصص المعروض في القوائم | يتم اعتماده من اسم الملف عند غيابه |
description | وصف مبسط للنمط يظهر في قائمة /config لتسهيل التعرف عليه | لا يوجد |
keep-coding-instructions | هل تريد الحفاظ على تعليمات النظام البرمجية الافتراضية لـ Claude Code؟ | false |
force-for-plugin | لتطوير الملحقات: تشغيل وتفعيل هذا النمط تلقائياً عند تفعيل الملحق | false |
تحديد قيم name و description كافٍ للاستخدام البسيط. ويختص الحقل الثالث keep-coding-instructions بضبط خيارات الحفاظ على الطبيعة البرمجية للأداة، وسنفصله في القسم القادم للأهمية. أما الحقل الرابع force-for-plugin فيختص بحزم الميزات وتعبئتها في ملحقات (Plugins) لتسهيل مشاركتها (المقال 24).
الخطوة الثالثة: تفعيل النمط المخصص الجديد
بعد حفظ الملف البرمجى في المجلد المخصص وتدوين التعليمات، شغل واجهة /config لتشاهد النمط الجديد مضافاً لقائمة أنماط المخرجات بالاسم والوصف الذي كتبته. اختر النمط واضغط回车، وشغل أمر /clear لتشاهد تأثيره في إجاباته.
💡 خلاصة سريعة: نمط مخصص = ملف Markdown؛ يضم frontmatter لكتابة البيانات والتعليمات باللغة الطبيعية؛ ويُحفظ شخصياً للمشاريع أو في مستوى المشروع ليُرفع لـ git، ويتم تفعيله بـ
/configثم/clearلتشغيله.
05 حقل keep-coding-instructions لتحديد طبيعة العمل
لماذا يستحق حقل keep-coding-instructions اهتماماً خاصاً؟ لأن تحديد قيمته بالخطأ سيؤدي لنتائج غير مستقرة وخروج سلوك Claude Code عن المسار المخطط له.
ما هو دور هذا الخيار؟ يحتوي Claude Code على تعليمات نظام افتراضية معقدة ومصممة بدقة للتعامل مع المهام البرمجية والتأكد من سلامة الكود وفحصه. وعند تفعيل نمط مخرجات مخصص، يقوم النظام بإلغاء وحذف هذه التوجيهات البرمجية الافتراضية بالكامل كخيار أساسي:
تلغي أنماط المخرجات المخصصة تعليمات النظام البرمجية الافتراضية لـ Claude Code... إلا إذا قمت بتعيين قيمة حقل
keep-coding-instructionsإلىtrue.
قيمة هذا الحقل الافتراضية هي false (أي إلغاء التوجيهات البرمجية الافتراضية والاقتصار على النص الذي كتبته في ملفك فقط). وتحديد القيمة المناسبة يعتمد على الإجابة على سؤال واحد:
"هل يهدف هذا النمط المخصص للعمل على المهام البرمجية وكتابة الكود؟"
- نعم، نريد منه البرمجة مع تغيير أسلوب الحديث (مثل: البرمجة مع رسم مخططات توضيحية) ← عين القيمة
keep-coding-instructions: trueللحفاظ على تعليمات الحماية والسلامة البرمجية المدمجة. وهذا ما قمنا به في مثال "Diagrams first" لكونه يكتب كوداً ويشرحه. - لا، لا علاقة للنمط بالبرمجة إطلاقاً (مثل: تحويله لمساعد نصوص أو مترجم للغة العربية) ← اترك القيمة الافتراضية
false(أو تجاهل كتابة الحقل) ليقوم النظام بحذف تعليمات البرمجة الافتراضية بالكامل. لتمنعه من التداخل مع الأكواد والاختبارات وتوفر له بيئة نصوص حرة ومستقرة.
يوضح الجدول التالي تأثير تعيين هذا الخيار بالخطأ:
| رغبتك البرمجية | القيمة الصحيحة | نتيجة الاختيار الخاطئ |
|---|---|---|
| البرمجة المعتادة مع تعديل أسلوب الإجابة | true | عند تركه false بالخطأ: يفقد الوكيل تعليمات التحقق والأمان البرمجية ويكتب الأكواد بعشوائية دون فحص سلامتها. |
| مهام عامة غير برمجية (مساعد نصوص) | false (أو تجاهله) | عند تعيينه true بالخطأ: يستمر الوكيل في التفكير كمهندس ويقترح تعليقات واختبارات لا علاقة لها بكتابة النصوص العادية. |
نعود لمثال مراجعة السير الذاتية - تكمن المشكلة هنا في عدم تعطيل تعليمات البرمجة. والحل الصحيح هو بناء نمط مخصص ومستقل لمراجعة النصوص والقصص مع تجاهل كتابة حقل keep-coding-instructions (ليكون false تلقائياً)، لتخليص الوكيل من مهام البرمجة والتدقيق البرمجى وتوجيه كامل ذكائه لمراجعة وتنسيق النصوص البرمجية.
💡 خلاصة سريعة: قيمة
keep-coding-instructionsالافتراضية هيfalseلإلغاء تعليمات البرمجة المدمجة؛ عينهاtrueإذا كان النمط المخصص يكتب كوداً برمجياً، واتركهاfalseللمهام النصية والتحليلية العامة.
06 آلية عمل أنماط المخرجات في النظام
بعد دراسة الخيارات والأزرار، دعنا نوضح كيف تعمل أنماط المخرجات برمجياً في الخلفية. فهم الآلية يسهل عليك معرفة سبب ضرورة تشغيل أمر /clear وكيفية تأثير الإعدادات على استهلاك الرموز.
يوضح التوثيق آلية العمل في ثلاث نقاط أساسية:
- يتم دمج وضم نصوص أنماط المخرجات المخصصة في نهاية تعليمات النظام الأساسية (system prompt) لـ Claude Code.
- يتم إرسال تنبيهات برمجية تفاعلية أثناء المحادثة لتذكير Claude بالالتزام بشروط النمط المطبق ومنع نسيانها.
- تلغي أنماط المخرجات المخصصة تعليمات البرمجة المدمجة لـ Claude Code افتراضياً، ما لم يتم تفعيل خيار
keep-coding-instructions.
توضح هذه القواعد طريقة دمج البيانات: فالنص يُكتب في نهاية تعليمات النظام الأساسية، ويتم قراءته مرة واحدة عند بدء تشغيل الجلسة - مما يترتب عليه تطبيق التوجيهات على كافة إجاباته في هذه الجلسة.
يوضح الشكل التالي كيفية تجميع (تكوين) تعليمات النظام للجلسة:

توضح الصورة مسارات تجميع تعليمات النظام: في الأنماط المدمجة وذات الخيار keep=true يتم تجميع تعليمات البرمجة مضافة إليها تعليمات النمط؛ بينما في الأنماط ذات الخيار keep=false يتم التخلي عن تعليمات البرمجة والاقتصار على توجيهات النمط فقط؛ وتطبق التعليمات للجلسة بأكملها، وأي تعديل يتطلب تشغيل أمر /clear لإعادة التجميع من جديد.
تأثير أنماط المخرجات على استهلاك وتكلفة الرموز (tokens):
تعديل تعليمات النظام يؤدي لزيادة استهلاك الرموز الواردة (input tokens)؛ ولكن بفضل ميزة حفظ تعليمات النظام المؤقتة (prompt caching) المعتمدة في Claude Code، يتم حفظ هذه التعليمات بعد أول سؤال وتوفير تكلفتها في بقية أسئلة الجلسة (راجع المقال 06 لتفاصيل حفظ التعليمات المؤقتة). وتكمن التكلفة الفعلية في استخدام أنماط مثل Explanatory أو Learning التي تولد إجابات مفصلة وطويلة، وتستهلك رموزاً صادرة (output tokens) بشكل مستمر، ويُنصح بتعطيلها فور الانتهاء من التعلم.
💡 خلاصة سريعة: تُدمج نصوص الأنماط في نهاية تعليمات النظام الأساسية ويتم تذكير الوكيل بها تفادياً للنسيان؛ ويتم التجميع للجلسة كاملة ويتطلب التعديل تشغيل أمر
/clear؛ واستعن بالتحميل المؤقت لتوفير التكلفة وتجنب تفعيل أنماط الشرح الطويلة بشكل دائم.
07 الفروق والحدود بين أنماط المخرجات والميزات الأخرى
مع تعدد ميزات التخصيص، يطرح السؤال: بماذا تختلف أنماط المخرجات عن الميزات الأخرى مثل ملف CLAUDE.md أو المهارات أو الوكلاء الفرعيين؟
الفرق الأساسي يكمن في كون أنماط المخرجات تعدل تعليمات النظام الأساسية للوكيل وتطبق طوال الجلسة وعلى كافة الإجابات. الجدول التالي يقارن بين الميزات لتوضيح الفروق:
| الميزة | طريقة وأسلوب العمل | متى يُنصح باختيارها |
|---|---|---|
| أنماط المخرجات | تعديل تعليمات النظام الأساسية (system prompt) وتطبيقها طوال الجلسة | لتغيير شخصية الوكيل، ونبرة حديثه، وتنسيق إجاباته الافتراضية |
ملف CLAUDE.md | ملف يُرسل كخلفية للمشروع بعد تعليمات النظام | لحفظ قواعد واختصارات وسياق المشروع البرمجى |
خيار --append-system-prompt | إضافة وتمرير نص لتعليمات النظام لجلسة واحدة | لتمرير تعليمات سريعة ومؤقتة عند تشغيل الأداة لمرة واحدة |
| الوكيل الفرعي (Subagent) | جلسة معزولة بنوافذ سياق ومواصفات مستقلة | لعزل عمليات القراءة وتصفح ملفات كثيرة بالتوازي |
| المهارات (Skill) | مهارات وخطوات عمل تُقرأ عند الحاجة | لحفظ أدلة وخطوات عمل تخصصية تُستدعى يدوياً أو تلقائياً |
الفصل الجوهري والأهم هو بين أنماط المخرجات وملف CLAUDE.md:
- ملف
CLAUDE.mdيختص بحفظ "محتويات وسياق المشروع" (مثل: أسماء المجلدات، وأوامر بناء الكود، وإطار العمل المعتمد). - أنماط المخرجات تختص بحفظ "طريقة وأسلوب الحديث والشخصية" (مثل: نبرة التحدث، والتنسيق المفضل للإجابة، ورسم المخططات).
لتبسيط الأمر: يمثل ملف CLAUDE.md وثائق ومعلومات المشروع، ويمثل نمط المخرجات شخصية وأسلوب حديث الموظف نفسه. فلا تكتب قواعد كتابة الكود في أنماط المخرجات، ولا تكتب نبرة التحدث وسلوكيات الرسم في CLAUDE.md.
أما خيار سطر الأوامر --append-system-prompt فهو مخصص لتمرير شروط سريعة ومؤقتة عند تشغيل الأداة لمرة واحدة دون حفظها في الملفات:
claude --append-system-prompt "يرجى الإجابة باللغة العربية وتجنب الشروح الطويلة"بمجرد إغلاق الجلسة تُلغى هذه التوجيهات؛ وإذا كنت تريد الحفاظ عليها وتفعيلها باستمرار فاحفظها كنمط مخرجات مخصص.
ويكمن الفرق مع المهارات (Skill) في كونه يتم استدعاء المهارة كخطوات عمل تخصصية عند الحاجة ولا تستهلك مساحة الذاكرة طوال الجلسة، بينما يعمل نمط المخرجات كشخصية ونبرة حديث مستمرة في كافة مراحل الحوار.
💡 خلاصة سريعة: الفروق - أنماط المخرجات تعدل الشخصية والنبرة وتطبق طوال الوقت، وملف
CLAUDE.mdيحفظ خلفيات وسياق المشروع البرمجى؛ وتُستخدم المعلمات المؤقتة للخيارات السريعة لمرة واحدة، والمهارات للمهام التخصصية المحددة.
08 تطبيق عملي: تصميم نمط "الرسم أولاً" والتحقق من عمله
سنقوم الآن بتجربة عملية لتصميم نمط مخرجات مخصص يفرض رسم مخططات Mermaid قبل إجابة الشرح، والتحقق من قراءته وتفعيله بنجاح.
الخطوة الأولى: إنشاء ملف النمط المخصص
سنقوم بحفظ الملف في المستوى الشخصي ليعمل في كافة مشاريعنا البرمجية. أنشئ المجلد المخصص إذا لم يكن موجوداً:
mkdir -p ~/.claude/output-stylesباستخدام المحرر المفضل لديك، أنشئ ملفاً باسم diagrams-first.md داخل مجلد ~/.claude/output-styles/ واكتب المحتوى التالي:
---
name: Diagrams first
description: 每次解释都先画一张图,再用文字说明
keep-coding-instructions: true
---
解释代码、架构或数据流时,先给一张展示结构的 Mermaid 图,再用文字解释。
## 画图约定
控制流用 `flowchart TD`,请求路径用 `sequenceDiagram`。每张图节点控制在 15 个以内。تأكد من كتابة keep-coding-instructions: true لأننا نهدف للبرمجة مع تعديل طريقة الشرح، ونريد الحفاظ على تعليمات السلامة البرمجية المدمجة.
الخطوة الثانية: اختيار النمط الجديد
شغل Claude Code:
claudeبمجرد الدخول، اكتب أمر التكوين:
/configتصفح الخيارات وصولاً لخيار "Output Styles" واضغط回车، ستشاهد نمطك الجديد باسم Diagrams first مضافاً للقائمة مع الوصف الذي كتبته. اختر النمط بالضغط على回车.
النتيجة المتوقعة: ظهور النمط المخصص في قائمة الخيارات بنجاح. وفي حال غيابه، تحقق من صحة مسار حفظ الملف وسلامة صياغة frontmatter.
الخطوة الثالثة: تطبيق التغييرات عبر أمر /clear
تذكر قاعدة التفعيل الفوري لتعليمات النظام. اكتب في المحادثة:
/clearالنتيجة المتوقعة: تنظيف المحادثة وبدء جلسة جديدة لتحميل وقراءة تعليمات النظام المجمعة بنجاح.
الخطوة الرابعة: فحص وتجربة الشخصية الجديدة
اطرح سؤالاً يتطلب الشرح لتتأكد من سلامة عمل النمط:
كيف يتم تمرير ومعالجة طلب تسجيل الدخول للمستخدم من الواجهة الأمامية لقاعدة البيانات؟النتيجة المتوقعة: سيبدأ Claude إجابته برسم مخطط Mermaid توضيحي (يعرض مسار الطلب بين الواجهة والخادم وقاعدة البيانات)، ثم يتبعه بالشروحات التفصيلية. ظهور الرسم في المقدمة يثبت تفعيل النمط المخصص بنجاح.
ولتأكيد الفارق، يمكنك إعادة تشغيل /config واختيار النمط الافتراضي Default ثم كتابة /clear وسؤاله نفس السؤال لتلاحظ اختفاء المخطط واقتصار إجابته على الشروحات النصية فقط.
الخطوة الخامسة: حذف الملف (اختياري)
إذا كنت تريد تنظيف جهازك بعد التجربة، يمكنك حذف ملف النمط المخصص:
rm ~/.claude/output-styles/diagrams-first.mdبإتمام هذه الخطوات، تكون قد قمت ببناء وتفعيل وفحص نمط مخرجات مخصص وفهمت آليات عمله في النظام بنجاح.
💡 خلاصة سريعة: خطوات التجربة - تصميم ملف Markdown في مجلد output-styles الشخصي ← اختيار النمط بـ
/config← كتابة/clearلتطبيق التغييرات ← طرح سؤال للشرح والتحقق من ظهور الرسم في المقدمة ← حذف الملف للتنظيف.
09 ملخص
شرحنا في هذا المقال آليات عمل أنماط المخرجات وكيفية تطويع شخصية ونبرة Claude لتناسب سيناريوهات عملك المختلفة.
لنراجع النقاط الأساسية معاً:
| الهدف | الأداة والخطوات | نقاط هامة |
|---|---|---|
| تعديل شخصية ونبرة الوكيل | استخدام أنماط المخرجات (Output Styles) | تعدل تعليمات النظام الأساسية للوكيل لتغيير أسلوب الإجابة دون إضافة معلومات جديدة. |
| الأنماط المدمجة | Default / Proactive / Explanatory / Learning | توفر الأنماط خيارات برمجية وشروحات تخصصية، ويُنصح بالعودة للافتراضي لتوفير التكلفة. |
| التبديل وتفعيل النمط | التعديل بـ /config أو بتحديث حقل outputStyle | تم إلغاء أمر /output-style القديم؛ ويتطلب تفعيل النمط الجديد تشغيل أمر /clear. |
| تصميم شخصية مخصصة | حفظ ملف Markdown يحتوي على frontmatter ونصوص التوجيه | يُحفظ في دليلك الشخصي ليعمل في كل مكان أو في المجلد المحلي للمشروع. |
| تحديد طبيعة عمل النمط | خيار keep-coding-instructions | عينه true للحفاظ على قدرات البرمجة، واتركه false للمهام النصية والتحليلية العامة. |
| التمييز مع CLAUDE.md | مراجعة طبيعة البيانات المكتوبة | يُستخدم CLAUDE.md لحفظ سياق ومعلومات المشروع، وتُستخدم أنماط المخرجات لتحديد الشخصية والتنسيق. |
يمكنك الآن: استخدام وتفعيل أنماط المخرجات المدمجة وتجنب الأوامر الملغاة، وتصميم وبناء نمط مخرجات مخصص بالكامل وتحديد خيار الحفاظ على المهام البرمجية بدقة، وتجنب الأخطاء الشائعة في التوزيع بين أنماط المخرجات وملف CLAUDE.md. هذا الفهم يمنحك صلاحية التحكم بشخصية Claude Code وتوجيهه ليناسب متطلباتك البرمجية والتعليمية والنصية بكفاءة عالية.
تذكر دائماً تشغيل أمر /clear فور التبديل بين أنماط المخرجات لتطبيق التهيئة الجديدة.
المقال القادم سنشرح 33 "الخطافات (Hooks): أتمتة المهام وضمان الحماية" - فبينما يعتمد تعديل الشخصية على وعي الوكيل لاتباع الشروط، توفر الخطافات حماية برمجية صارمة تعمل تلقائياً عند حدوث أحداث معينة (مثل تنسيق الملفات بعد حفظها أو منع تشغيل أوامر حذف الملفات). سنشرح كيفية صياغتها والتحكم بها بالتفصيل في المقال القادم.