تخطي إلى المحتوى
المواضيع

التطوير بالذكاء الاصطناعي والبرمجة: بناء التطبيقات مع AI

طوّر بذكاء مع الذكاء الاصطناعي. أدلة لتوليد الأكواد وبناء التطبيقات والتصحيح والأتمتة.

96 مقالات

رتّب المقالات للعثور على ما تحتاجه

مقالات في تطوير AI والبرمجة

ما هو opusplan في Claude Code؟ التخطيط على Opus والتنفيذ على Sonnet تلقائيًا: الإعداد وما يجب الانتباه إليه

ما هو opusplan في Claude Code؟ التخطيط على Opus والتنفيذ على Sonnet تلقائيًا: الإعداد وما يجب الانتباه إليه

تريد أن تُسند التخطيط وحده إلى نموذج ذكي، وأن تترك التنفيذ لنموذج أسرع وأرخص. وopusplan في Claude Code تحديدٌ للنموذج يفعل ذلك تلقائيًا: يعمل على Opus ما دمت في plan mode، وعلى Sonnet في ما عدا ذلك، ويمكن استخدامه عبر ‎/model opusplan‎ أو عبر model في settings.json. لكنه لا يظهر في قائمة ‎/model‎، ولأن النموذج يتبدّل في كل مرة تدخل فيها plan mode أو تخرج منه، تُعاد قراءة المحادثة كلها من دون تخزين مؤقت في كل تبديل. يرتّب هذا المقال، استنادًا إلى الوثائق الرسمية وسجل التغييرات وبلاغات GitHub حتى 15 سبتمبر 2026، طريقة الإعداد (بما في ذلك تثبيت الإصدارات وسياق 1M)، والانتقال من plan mode إلى الموافقة ثم التنفيذ، وكيف أُزيل من شاشة الاختيار في v2.0.0 وشرح أحد العاملين في Anthropic لذلك، وتقدير تكلفة التخزين المؤقت الناتجة عن التبديل وطرق خفضها، والفرق بينه وبين أداة advisor والوكلاء الفرعيين، والأعمال التي يناسبها والتي لا يناسبها.

تشغيل الوكلاء الفرعيين في Claude Code بنموذج مختلف: إسناد العمل إلى Sonnet وHaiku، الإعدادات والقياسات

تشغيل الوكلاء الفرعيين في Claude Code بنموذج مختلف: إسناد العمل إلى Sonnet وHaiku، الإعدادات والقياسات

هل يمكن إبقاء الجلسة الرئيسية في Claude Code على Opus 5، وإسناد أعمال مثل الترجمة أو المراجعات الكثيرة وحدها إلى وكلاء فرعيين على Sonnet أو Haiku؟ الجواب: نعم. يُحدَّد نموذج الوكيل الفرعي بهذا الترتيب: التحديد عند الاستدعاء، ثم model في ملف التعريف، ثم متغير البيئة CLAUDE_CODE_SUBAGENT_MODEL، ثم نموذج الجلسة الرئيسية، ويمكن كذلك تحديد الجهد (effort) لكل وكيل فرعي. يرتّب هذا المقال، استنادًا إلى الوثائق الرسمية حتى 15 سبتمبر 2026، اختلاف هذا الترتيب بين الإصدارات، والإعداد CLAUDE_CODE_SUBAGENT_MODEL_FORCE الذي يثبّت الجميع على نموذج واحد، واختلاف وجهة الأسماء المختصرة بحسب جهة الاتصال، وأن Explore المدمج صار منذ v2.1.198 يرث نموذج الجلسة الرئيسية. ثم يعرض نتائج تشغيل وكلاء فرعيين فعليًا بنماذج أخرى والتحقق منها في سجلات المحادثة: أنها عملت بالنماذج المحدَّدة، وأن كل وكيل يقرأ عشرات آلاف التوكنات لمجرد التشغيل، وأن التخزين المؤقت للوكلاء الفرعيين ينتهي بعد 5 دقائق حتى مع الاشتراك، والفروق في الوقت والتكلفة وجودة الترجمة حين أُسندت الترجمة نفسها إلى Opus 5 وSonnet 5 وHaiku 4.5 مرتين لكلٍّ منها. وأخيرًا يلخّص أثر ذلك في التكلفة وحدود الاستهلاك، وما يُستند إليه في تحديد الأعمال التي تُنقل إلى نموذج أرخص.

استهلاك Claude Code حسب الجلسة: كيف تعرف أيّ جلسة تلتهم خطتك

استهلاك Claude Code حسب الجلسة: كيف تعرف أيّ جلسة تلتهم خطتك

حين تشغّل عدّة جلسات بالتوازي، تبدأ في التساؤل عن الجلسة التي تلتهم حدّك الأسبوعي. لكنّ ‎/usage‎ في Claude Code لا يعرض إلا أرقام الجلسة الحالية، إضافةً إلى استهلاك الخطة كلها مقسّمًا بحسب المهارة والوكيل الفرعي والإضافة وخادم MCP، أما حصّة كل جلسة فلا تظهر في حلقة الاستهلاك بتطبيق سطح المكتب ولا في صفحة الإعدادات على claude.ai (حتى سبتمبر 2026). الجواب موجود في سجلات المحادثة المحفوظة على جهازك (ملفات JSONL في ‎~/.claude/projects‎)، لكنّ جمعها كما هي يعطي نتيجة خاطئة، لأن الردّ الواحد يُكتب على عدّة أسطر، سطرًا لكل كتلة محتوى، ولأن سجلات الوكلاء الفرعيين موجودة في ملفات منفصلة. وفي قياس على جهازي، بلغ المجموع الساذج قرابة ضعف القيمة الصحيحة، ولأن حجم الخطأ اختلف من جلسة إلى أخرى، تبدّل حتى الترتيب. يتناول هذا المقال ما تعرضه الشاشات الرسمية وما لا تعرضه، وكيف تعدّ السجلات عدًّا صحيحًا بسكربت تجميع من نحو 50 سطرًا، ونتيجة القياس التي استحوذت فيها جلسة واحدة على قرابة ثلث الاستهلاك كله، وحدود ما تستطيع الأرقام أن تخبرك به، وكيف تضبط OpenTelemetry إن أردت المتابعة بمرور الوقت.

ما الذي يلتهم سياق Claude Code فعلًا؟ كيف تقيسه، وبماذا تبدأ الحذف

ما الذي يلتهم سياق Claude Code فعلًا؟ كيف تقيسه، وبماذا تبدأ الحذف

«كثرة المهارات تزاحم سياقك» — نصف هذه المقولة صحيح ونصفها الآخر خاطئ. فوفق وثائق Claude Code الرسمية، يستهلك فهرس المهارات ميزانية ثابتة مقدارها 1% من نافذة سياق النموذج، ومهما أضفت من مهارات فإنه يتوقّف عند ذلك الحدّ. وبدلًا من أن يتضخّم، يحدث شيء آخر: المهارات تكفّ عن أن تُستدعى، إذ يُسقط Claude Code عند الفيض أوصاف المهارات الأقلّ استدعاءً ولا يُبقي إلا أسماءها. والمهارة التي فقدت وصفها لم تعد ترتبط بما طلبته، ومع ذلك لا يظهر خطأ ولا يبطؤ شيء. يتناول هذا المقال اختلاف أدوار أدوات القياس الثلاث (‎/context و‎/usage و‎/skill-doctor)، وتعريف فقدان التخزين المؤقت بأنه 5% و2,000 توكن، وتغيّر عمر التخزين المؤقت من ساعة واحدة إلى خمس دقائق بحسب الخطة، وسبب بقاء أدوات CLI أخفّ رغم أن تعريفات أدوات MCP صارت تُحمَّل تحميلًا مؤجَّلًا افتراضيًا، والأساس الذي يقوم عليه إبقاء CLAUDE.md دون 200 سطر، ثم بماذا تبدأ الحذف بعد أن تقيس، مقتصرًا في ذلك كله على ما أمكن التحقّق منه في الوثائق الرسمية.

The model returned no content — الأسباب والحل: معنى رسالة خطأ Claude يتغيّر بحسب مَن كتبها

The model returned no content — الأسباب والحل: معنى رسالة خطأ Claude يتغيّر بحسب مَن كتبها

يتوقف بك العمل أثناء استخدام Claude، فتبحث عن الرسالة كما ظهرت حرفيًا، ولا يأتي البحث بشيء يُذكر. وخمسة نصوص تتصرف هكذا: The model returned no content because the response was blocked by content filtering، وThe response was blocked by the provider's content filter، وStreaming response ended before any complete data was received، وCould not locate the Claude CLI on PATH، وConnection to Claude's response was lost. Claude may still be working. ما يجمعها أنها ظهرت أثناء استخدام Claude، ومع ذلك يبدو أن البحث في مواد Claude نفسها لا يأتي بشيء، والسبب بسيط: البرنامج الذي كتب الرسالة على شاشتك ليس بالضرورة البرنامج الذي تظنّه. لا يشرح هذا المقال كل سبب على حدة من الصفر، وإنما هو مدخل يحدّد من كتب الرسالة ثم يوجّه القارئ إلى المقال الصحيح. يقسم أولًا المواضع التي قد تُكتب فيها الرسالة إلى أربع طبقات، وهي الواجهة الخلفية التي تقدّم النموذج، وClaude Code نفسه، والبرنامج المُطلِق من امتداد محرر أو غلاف، وعملاء الطرف الثالث، ثم يجري المطابقة. وتبيّن أن اثنين من الخمسة بندان في مرجع الأخطاء الرسمي لـ Claude Code. فالتعريف الرسمي لرسالة البثّ هو أن الترويسات عادت بينما لم يحمل الجسم أي رسالة من واجهة Claude البرمجية، وهذا ليس انقطاعًا في المنتصف إطلاقًا، وقراءتها على أنها اتصال سقط تأخذك في الطريق الخطأ. أما Could not locate the Claude CLI on PATH فترد في فصل مستقل عنوانه Wrapper and IDE errors، موصوفة بأن البرنامج المُطلِق يطبعها لا Claude Code نفسه، وقد يبلغ النص المعروض فعلًا أربع جمل بينما العنوان الرسمي جملة واحدة، ولهذا لا يأتي البحث عنه بشيء. وفي المقابل فإن نصّي مرشِّح المحتوى من مفردات الطرف الثالث، ويبلّغ البلاغ ‎#35736 في OpenCode بأن ثلاثة أعطال منفصلة تمامًا، وهي 404 في Vertex وانقطاع مقبس ورفض حقيقي، تظهر جميعها بالجملة نفسها عن الحجب بمرشِّح المحتوى. والصياغة صحيحة في واحد من الثلاثة فقط، فتصديقها وتخفيف صياغة المُوجّه لن يصلحا معرّف نموذج مضبوطًا خطأ. وتنصّ وثائق GitHub الرسمية كذلك على أن مُوجّهات الإدخال وإكمالات الإخراج تمرّ عبر مرشِّحات محتوى GitHub Copilot عند استخدام Claude، فاستخدام Claude لا يعني أن ترشيح Anthropic هو ما أوقفك. أما النص الباقي فلا يرد في مرجع الأخطاء الرسمي ولا في وثيقة Remote Control، فلم يتحدّد مصدره، ولا تُسمّى له أي أداة، وتُعرض بدلًا من ذلك أربع خطوات لتتبّعه في بيئتك أنت. وما تأكّد وما لم يتأكّد موسوم في المقال كله.

API Error: Connection lost mid-response: الأسباب والحل بعد إعادة التسمية في v2.1.227

API Error: Connection lost mid-response: الأسباب والحل بعد إعادة التسمية في v2.1.227

يتوقف Claude Code في منتصف الرد فتظهر العبارة «API Error: Connection lost mid-response. The response above may be incomplete.»، ثم لا يعثر من يبحث عنها حرفيًا على شيء تقريبًا، والسبب أن النص نفسه جديد. يقول مرجع الأخطاء الرسمي ذلك صراحة: قبل v2.1.227 كانت Connection lost mid-response تُعرض باسم Connection closed mid-response، وفي الدفعة نفسها صارت Response stalled mid-stream هي The response stopped arriving، وصارت Connection closed while thinking, before producing a response هي Connection lost before a response was produced. فالحدث ليس جديدًا، وإنما تبدّلت الكلمة المعروضة وحدها، ولهذا يظل ما كُتب تحت الاسم القديم صالحًا كما هو، ولهذا أيضًا لا بد أن يشمل البحث في البلاغات الصيغتين معًا. ينطلق المقال من واقعة إعادة التسمية هذه معتمدًا على الوثائق الرسمية والبلاغات العلنية وحدها. يعرض التعريفات الرسمية للرسائل الأربع للانقطاع في منتصف الرد، وهي Server error وConnection lost وYour computer went to sleep وThe response stopped arriving، ويبيّن لماذا يُحتفظ عمدًا بالمخرجات التي ظهرت على الشاشة، إذ إن إعادة إرسال الطلب قد تُنفّذ استدعاء الأداة نفسه مرتين، ولماذا تكون خطوة الاستئناف هي الرد بكلمة continue لا البدء من جديد. ثم يشرح سبب غياب إعادة المحاولة التلقائية عبر مسارات Automatic retries الرسمية: الانقطاع قبل اكتمال أي شيء يُعاد إرساله بتراجع أسّي حتى عشر مرات، والانقطاع بعد التفكير وقبل أي مخرجات يُعاد إرساله مرتين على الأكثر ثم ينتهي الدور برسالة Connection lost before a response was produced، والانقطاع بعد اكتمال كتلة لا يُعاد إرساله إطلاقًا. ومن هناك يرسم الطبقات الثلاث التي قد ينقطع عندها البثّ، وهي جهازك وخطك، والمسار عبر الوسطاء والبوابات، وجانب الخادم مع إعادة استخدام الاتصال، ويضيف الحالة الرابعة التي يسهل إغفالها وهي تدوير شهادات mTLS وسلوك إعادة تحميلها منذ v2.1.232، ثم يقدّم قائمة عزل من تسع خطوات. ويسرد مؤقتات مراقبة البثّ الأربعة بقيمها الافتراضية، أي 180 ثانية لأول بايت و300 ثانية على مستوى الأحداث و180 ثانية على مستوى البايتات وخمس دقائق لخمول الجسم، إلى جانب CLAUDE_CODE_MAX_RETRIES وCLAUDE_CODE_RETRY_WATCHDOG وAPI_TIMEOUT_MS ومتغيّري مهلة البثّ، مع التوضيح بأن رفع عدد مرات إعادة المحاولة لا يُقلّل هذه الرسالة بالذات. ويفصل جدول مقارنة بين ثماني رسائل يسهل الخلط بينها، ويعرض بلاغين علنيين هما ‎#86473 و‎#85979 يكتمل فيهما HTTPS الخام وcurl بينما تسقط الطرفية وحدها بـ ECONNRESET. ويختم بفصل ما تأكد رسميًا عمّا هو مجرد بلاغ، ومنه أن الإصدارات السابقة لـ v2.1.222 كانت قد تعرض هذا الإشعار حتى حين يكون الرد قد اكتمل فعلًا.

التغييرات الجذرية الثلاثة في Claude Fable 5.1 وكيفية الانتقال

التغييرات الجذرية الثلاثة في Claude Fable 5.1 وكيفية الانتقال

الانتقال إلى Claude Fable 5.1 ليس مجرد استبدال معرّف النموذج ثم اعتبار الأمر منتهيًا. فـ Anthropic تصنّف ثلاثة من التغييرات بوصفها جذرية، واثنان منها يظهران بعيدًا عن الموضع الذي نشآ فيه. الأول يرمي خطأً فورًا: تمرير النوع القسري إلى معامل اختيار الأداة يعيد خطأ طلب غير صالح برمز 400، لأن إجبار النموذج على استدعاء أداة يتخطّى التفكير الذي يمارسه دائمًا، فتنخفض معه جودة وسائط الاستدعاء. أما الثاني فهو الصامت. صارت كتل التفكير تسجّل أي نموذج أنتجها ولا تُنقل إلا في اتجاه واحد، فالمحادثة التي تنتقل إلى Fable 5.1 تحتفظ باستدلالها، بينما الموجّه أو الاحتياطي الذي يعيدها إلى جيل أسبق يفقد ذلك الدور بالكامل. وافتراضيًا تتخلّص الواجهة من الكتل غير المقروءة قبل أن يراها النموذج، ولأن الرموز المطروحة لا تُحتسب ولا تُفوتر فلا يظهر شيء في الفاتورة. وإظهار ذلك يتطلب ترويسة بيتا مخصصة. أما الثالث فهو الأوسع أثرًا: تغيير أي شيء يسبق كتلة تفكير من Fable 5.1، بما في ذلك مطالبة النظام أو مصفوفة الأدوات أو أي رسالة أسبق، يُبطلها ويُبطل كل كتلة بعدها. وسريان ذلك يتوقف على تاريخ إنشاء حسابك، ما يعني أن بيئة اختبار أنشأتها للتو قد تفشل بينما لا يفشل الإنتاج. ويتناول المقال أيضًا ما لم يسُؤ: الدخل باقٍ عند $10 والخرج عند $50 لكل مليون رمز، بينما تهبط قراءة الذاكرة المؤقتة إلى $0.25، أي 0.025 من سعر الدخل الأساسي مقابل 0.1 في بقية نماذج Claude. وتذكر Anthropic وفرًا يقارب الربع في أحمال العمل المعتادة ويصل إلى نحو النصف تقريبًا في الأعمال ذات الطابع الوكيلي الكثيف. وهناك سبعة سلوكيات تتغيّر دون تغيير أي شيفرة، منها تراجع الاستدعاءات المتوازية للأدوات، وتقلّص سرد التقدم عند الجهد المرتفع، وكثرة الإجابة من الذاكرة عند الجهد المنخفض. وتُحصي Anthropic خمس إضافات، إحداها خفض سعر قراءة الذاكرة المؤقتة الذي أُفرد له قسم مستقل، وبين الأربع الباقية ميزات بيتا وُضعت تحديدًا لتحل محل الأنماط التي منعتها التغييرات الجذرية.

البرمجة بنموذج محلي عبر Ollama و Cline: ما الذي يعمل فعلًا، والإعداد الوحيد الذي يكسره

البرمجة بنموذج محلي عبر Ollama و Cline: ما الذي يعمل فعلًا، والإعداد الوحيد الذي يكسره

ظلّت النماذج المحلية قادرة على كتابة الشيفرة سنوات، لكن بوصفها إكمالًا فحسب: ملء بقية السطر الذي بدأت كتابته. أما النمط الوكيلي، حيث يقرأ النموذج المستودع ويعدّل عدة ملفات ويشغّل الاختبارات، فكان أثقل من أن يعمل في البيت. وقد تغيّر ذلك عبر أواخر 2025 و2026، وأوضح دليل عليه أن مطوّري النماذج صاروا يسوّقون له مباشرة: فبطاقة نموذج Qwen تذكر CLINE بالاسم وتقدّم صيغة استدعاء دوال مصمَّمة لهذا الغرض، وأطلقت Mistral نموذج Devstral Small 2 بحجم 24B برخصة Apache 2.0 إلى جانب Devstral 2 بحجم 123B في 9 ديسمبر 2025. ويرتّب هذا المقال ما يمكن بلوغه فعليًا اليوم اعتمادًا على المصادر الأولية وحدها، لأن عدة مقالات تجميع تبيّن أنها نسبت درجة نموذج بحجم معيّن إلى نموذج بحجم آخر. والعقبة المركزية تفصيلة ضبط لا يكاد أحد يذكرها: فـ Ollama لا يستعمل طول سياق افتراضيًا ثابتًا، بل يشتقّه من مقدار VRAM لديك، أي 4k تحت 24 GiB، و32k من 24 إلى 48 GiB، و256k فوق ذلك. وحاسوب الألعاب المعتاد يقع في الصف الأول، فيتجاوز الوكيل النافذة فورًا ويُقتطع أول المحادثة بصمت. ولا يظهر أي خطأ. ينسى التعليمات، ويكرّر العمليات، ويفقد الهدف، فيبدو الأمر كله كأنه نموذج غبيّ لا كأنه سياق مرميّ. ويوثّق Ollama ضرورة 64000 رمز على الأقل لأدوات البرمجة، وتُضبط عبر متغيّر البيئة الخاص بطول السياق، لكن رفعها يرفع استهلاك الذاكرة أيضًا، فيلزم التأكّد من أن النموذج ما زال يتّسع على المعالج الرسومي. ويغطّي المقال كذلك لماذا Continue و Cline أداتان مختلفتان بمتطلّبات عتاد مختلفة، والدرجات المنشورة لـ Qwen3.6-35B-A3B (73.4 على SWE-bench Verified، و3B نشطة من أصل 35B) و Devstral Small 2 (68.0%)، وأحجام التنزيل وإرشاد الذاكرة بحسب فئة VRAM، وإعدادًا من أربع خطوات، ولماذا لم تعد مقارنات «المحلي بلغ كذا بالمئة من السحابة» تصمد بعد أن كفّ جانب الطليعة عن نشر SWE-bench Verified، ومحاسبة صريحة لما تكلّفه «المجانية» فعلًا.

Claude Code Remote Control: قُد حاسوبك أنت من هاتفك

Claude Code Remote Control: قُد حاسوبك أنت من هاتفك

يصل Remote Control تطبيق Claude على الهاتف أو صفحة claude.ai/code بجلسة Claude Code تعمل بالفعل على جهازك أنت، والنقطة التي تفوت معظم الشروح هي أن شيئًا لا ينتقل إلى السحابة: تنفيذ الشيفرة والوصول إلى الملفات يبقيان محليَّين طوال الوقت، والهاتف ليس إلا نافذة تطلّ على تلك الجلسة. ويعالج هذا المقال ما يشتريه لك هذا التصميم وما يكلّفك إياه. فنظام ملفاتك المحلي وخوادم MCP والأدوات وإعدادات المشروع تبقى كلها متاحة، والمحادثة وتقدّم الوكلاء الفرعيين يبقيان متزامنين بين الطرفية والمتصفّح والهاتف، وحاسوب محمول نائم أو اتصال ساقط أمر يمكن تجاوزه لأن Claude Code يعيد الاتصال ويسلّم التحديثات المصفوفة فور تعافيه. والشروط أصرم ممّا تبدو: خطة Pro أو Max أو Team أو Enterprise (ومفاتيح الـ API غير مدعومة)، وتسجيل دخول إلى claude.ai لا رمز طويل الأمد، واتصال مباشر بـ api.anthropic.com، وألّا يكون أيّ من متغيّرات البيئة الأربعة التي توقف القياس عن بُعد مضبوطًا، وهذا سبب إخبار المهتمّين بالخصوصية ممّن يضبطون DO_NOT_TRACK بأن الميزة غير مفعّلة على حسابهم. ويغطّي المقال المداخل الثلاثة لبدء الجلسة (نقل المحادثة الحالية كما هي، أو الإقلاع بالاتصال البعيد مفعّلًا، أو وضع الخادم برايات spawn و capacity بحدّها الافتراضي 32 و continue)، إلى جانب الفصل بين الأوامر المائلة التي تعمل عن بُعد وتلك المحلية فقط، ومهلة الخمس دقائق التي لا تسري على طلبات الأذونات، ومفتاحَي الإشعارات الفورية. أما في الأمان فالمقال متعمَّد: لا يُفتح أي منفذ وارد إطلاقًا، فيكاد سطح الهجوم الشبكي يتلاشى وينتقل الخطر إلى الحساب، ورمز QR اختصار لا مصادقة، والبوابة الافتراضية هي بالضبط حساب واحد مسجَّل الدخول، وهو ما يجعل مفتاح المرور أعلى الخطوات قيمة. ويكتمل العرض بمدد الاحتفاظ بنصّ الجلسة (5 سنوات أو 30 يومًا)، وما تفعله عند فقدان الهاتف، وTrusted Devices بنافذة تسجيل الدخول ذات الـ 18 ساعة، ومهلة العشر دقائق في وضع الخادم، ونافذة الاستعادة ذات الأربع ساعات، وضرورة tmux على الأجهزة البعيدة، وجدول تشخيص مبني على رسائل الخطأ الفعلية، ومقارنة مع Dispatch.

التفكير التكيفي مقابل التفكير الموسع في Claude: ما الذي تغيّر

التفكير التكيفي مقابل التفكير الموسع في Claude: ما الذي تغيّر

مرّت طريقة تفكير Claude بتغيير جيلي كامل. كان التفكير الموسع القديم يفرض عليك تحديد ميزانية توكنات في كل طلب — thinking: {"type": "enabled", "budget_tokens": N} — لكن الميزانية المناسبة تختلف من مهمة إلى أخرى ولا يمكن تخمينها مسبقًا، وتغييرها يُبطل ذاكرة التخزين المؤقت للموجّه. أما التفكير التكيفي الحالي فسطر واحد، type: "adaptive": قرار التفكير من عدمه ومدى عمقه قرار يتخذه النموذج بنفسه بحسب صعوبة الطلب. وقد جرى الترحيل على مراحل: أُهمل budget_tokens في Opus 4.6 / Sonnet 4.6 ويُرفض بخطأ 400 من Opus 4.7 فصاعدًا. يكثّف هذا المقال قواعد كل نموذج في جدول واحد — Fable 5 يفكّر دائمًا (لا يمكن تعطيله)، وOpus 5 وSonnet 5 يأتيان والتفكير مفعّل افتراضيًا (على Opus 5 لا يُسمح بالتعطيل إلا عند effort بمستوى high أو أدنى)، وOpus 4.8 / 4.7 يتطلبان ضبط adaptive صراحةً، والنماذج القديمة مثل Sonnet 4.5 / Haiku 4.5 ما تزال تستخدم budget_tokens وضعًا وحيدًا. انتقل التحكم في العمق إلى output_config: {"effort": ...} بخمسة مستويات (الافتراضي high)، وتغيير effort يُبطل الذاكرة المؤقتة كما كان يفعل تغيير الميزانية. وتحكم الرؤيةَ قيمةُ display: افتراضي الجيل الجديد هو "omitted" (كتل تفكير فارغة)، وتُحاسَب على كامل توكنات التفكير في الحالتين — قِسها عبر usage.output_tokens_details.thinking_tokens؛ ولا يعيد أي إعداد سلسلة الأفكار الخام. ولتعطيل التفكير على Opus 5 آثار جانبية موثقة (استدعاءات أدوات تُكتب نصًا عاديًا، وتسرّب وسوم داخلية)، لذا فإن خفض effort هو رافعة التكلفة الأكثر أمانًا. والتفكير المتداخل — الاستدلال بين استدعاءات الأدوات — تلقائي في الوضع التكيفي دون الحاجة إلى ترويسة beta القديمة. وعند الحاجة إلى السرعة، يشغّل الوضع السريع نموذج Opus نفسه بسرعة تصل إلى نحو 2.5 مرة مقابل ضعف السعر (Opus 5/4.8 فقط، ويُبدّل عبر ‎/fast في Claude Code). وكل ذلك مستند إلى وثائق Anthropic الرسمية Thinking وExtended thinking وFast mode.

GPU process gone: يتجمّد Claude Desktop فتموت كل جلسات Claude Code دفعةً واحدة — السبب والعلاج

GPU process gone: يتجمّد Claude Desktop فتموت كل جلسات Claude Code دفعةً واحدة — السبب والعلاج

تكون منهمكاً في عملك حين يتجمّد Claude Desktop فجأة، فتموت معه كل جلسات Claude Code المفتوحة دفعةً واحدة، وحين تغلقه قسراً وتحاول تشغيله من جديد قد تجده لم يعد يبدأ أصلاً — وآخر سطر في السجلّ يكون في الغالب GPU process gone مصحوباً بالرمز exitCode 101457950 أي 0x060C201E. يبدأ هذا المقال بالفصل الذي يوفّر عليك وقتاً طويلاً: المنهار ليس Claude Code بل عملية GPU في تطبيق سطح المكتب المبني على Electron، والتمييز سهل لأن السطر السابق مباشرةً لإعادة التشغيل في %APPDATA%\Claude\logs\main.log يحسم الأمر، فيما ينقطع السجلّ عند تلك النقطة ويأتي بعده Starting app. ثم يشرح لماذا تُجرّ جلسات لا علاقة لها بالأمر: عملية GPU في Chromium مورد مشترك لا توجد منه سوى نسخة واحدة لكل تطبيق، تتشاركها كل النوافذ والألسنة والجلسات، ولذلك تُسقط صفحة ثقيلة واحدة كل ما هو مفتوح، ولا يستطيع المستخدم عزلها بأي إعداد. وعن المُشغِّل، يوضّح المقال أن المتصفح المدمَج هو الأكثر تكراراً في المشكلات المعلَنة (#80444، و#82967 الذي يحصر السبب في التقاط لقطة الشاشة الخاصة بالمعاينة، و#83478 مع معاينة تتحدّث باستمرار)، لكنه ليس الوحيد: إذ يبلّغ #68049 عن السقوط بالرمز نفسه عند بدء التشغيل على بيئة ARM64 دون أي تعامل مع المتصفح. كما يحذّر المقال من دليل زائف شائع، فتحذير requestAdapter الذي يظهر في السجلّ نفسه رسالة عادية من Chromium حول عدم فاعلية powerPreference على Windows، ولا يصحّ اتّخاذ وجوده دليلاً على انهيار. ويأتي بعد ذلك الجانب العملي: ثلاثة ملفات تكفي للجزم، وجدول يفرّق بصمة هذه الحالة عن رمزَي الخروج الطبيعيَّين، وترتيب الاستعادة حين لا يعود التطبيق يبدأ، أي إنهاء العمليات المقيمة ثم خيار «إصلاح» ثم إعادة التثبيت أخيراً، مع الإشارة إلى بلاغ وصلت فيه الحزمة إلى Modified, NeedsRemediation فلم ينفع «إصلاح» إطلاقاً ولم تُعدها سوى إزالة تثبيت كاملة. وعن البيانات: ما حُفظ يبقى على القرص، أما العمل الذي كان قيد التنفيذ فلا يعود، وهناك بلاغ بضياع نتائج وكلاء فرعيين كانوا يعملون بالتوازي. ويختم بقائمتين صريحتين لما ينفع وما لا ينفع: لا يمكن استخدام disable-gpu على إصدار MSIX لأنه يُرفض برسالة رفض الوصول، وتعطيل ميزة المتصفح يوقف ما ينشأ عن المتصفح فقط ولا ينفع مع عائلة السقوط عند بدء التشغيل، ونصيحة تثبيت أفضلية البطاقة في التركيبات الهجينة لم يرد أي بلاغ بنفعها في هذا العَرَض تحديداً. ويضيف تمييزاً لظاهرة يسهل الخلط بينها وبينه، وهي الإنهاء القسري الذي يفرضه تحديث Microsoft Store، ويُعرف بسطر Windows session ending (close-app) دون ظهور GPU process gone.

ما تعلّمناه من حذف لوحة الإدارة بالكامل — متى تبقى الواجهة في زمن الذكاء الاصطناعي، ومتى يمكن أن تذهب

ما تعلّمناه من حذف لوحة الإدارة بالكامل — متى تبقى الواجهة في زمن الذكاء الاصطناعي، ومتى يمكن أن تذهب

لا تستطيع دعوى عامة أن تجيب عن سؤال "إن كان الذكاء الاصطناعي قادرًا على التعديل مباشرة، فهل ما زلنا بحاجة إلى لوحة إدارة؟"، لأن عبارة "لوحة الإدارة" وحدها تغطّي كومة من الوظائف مختلفة الطبائع تمامًا. وهذا المقال، المبني على تجربة حذف لوحة إدارة هذا الموقع بالكامل، يستبدل بذلك السؤال سؤالًا أحدّ: هل تقدّم تلك الشاشة شيئًا لا يقدّمه أصلًا كلٌّ من CLI والذكاء الاصطناعي؟ وما كشفه الحذف الكامل هو أن معظم الوظائف التي أُزيلت لم تكن "غير مستعمَلة" بل "معطّلة بنيويًا". فعمليات CRUD للمقالات لم يكن ممكنًا أن تعمل أصلًا، لأن مصدر الحقيقة للمقالات يعيش في الشيفرة وكل عملية نشر تكتب فوق قاعدة البيانات، فأي شيء يُحرَّر في الشاشة كان يتبخّر عند النشر التالي. وكان طابور اعتماد التعليقات فارغًا على الدوام لأن المشاركات تُوسم بالاعتماد لحظة إرسالها، فلا ينشأ تعليق غير معتمد أصلًا. والوظيفة التي لا يستعملها أحد هي وظيفة لا يستطيع أحد أن يعرف أنها مكسورة. أما القدرة الوحيدة التي تعذّر حذفها فهي حذف التعليقات، وحتى هي لم يكن فيها ما يوجب لوحة إدارة: فقد تبيّن أن زرّ حذف في صفحة المقال نفسها أفضل، لأن التعليق المسيء يُزال في المكان نفسه الذي يُقرأ فيه. ويؤول القرار إلى ستة أسئلة. من الذي يشغّلها، إذ يرجّح الموظفون غير التقنيين أو دور يتبدّل أصحابه بقاء الواجهة، بينما لا يحتاجها المطوّرون الذين يعيشون في الطرفية. وهل هي قابلة للتراجع، فالإجراءات التي لا رجعة فيها تحتاج إلى بوابة. وهل تحتاج إلى حكم بشري، أي هل هناك انتقال بين حالتين بالاعتماد أو الرفض. وهل يلزم فصل الصلاحيات. وهل يعرف المشغّل ما هو ممكن، فالقائمة تقوم مقام التوثيق. وهل هناك أثر للتدقيق. والصلاحيات وأثر التدقيق بوجه خاص يبدوان غير ضروريين في مشروع فردي، ويصيران أول ما يلزم في اللحظة التي يصل فيها شخص ثانٍ. والتغييرات التي تمرّ عبر الشيفرة تستقرّ في git، لكن ترك الذكاء الاصطناعي يكتب في قاعدة البيانات مباشرة لا يسجّل شيئًا افتراضيًا، وسجلّ المحادثة يحفظ ما طُلب لا ما حدث. ومن بين المحاور الستة، لا يحمل وزنًا مختلفًا سوى قابلية التراجع. ففي 18 يوليو 2025 حذف وكيل ذكاء اصطناعي من Replit قاعدة بيانات الإنتاج الخاصة بـ SaaStr أثناء تجميد فعلي للشيفرة، واختلق 4,000 مستخدم، وزعم خطأً أن التراجع مستحيل فأخّر التعافي (AI Incident Database #1152) — وهي حالة تُظهر مشكلة تصميم أمكن فيها بلوغ إجراء لا رجعة فيه دون المرور ببوابة بشرية، أكثر مما تُظهر خطر الذكاء الاصطناعي نفسه. ويتناول المقال كذلك ثلاثة أشياء ينبغي تهيئتها قبل نقل الثقل إلى الذكاء الاصطناعي وإلى CLI، وهي أن تخلّف التغييرات أثرًا باقيًا، وأن توجد عتبة أمام الإجراءات التي لا رجعة فيها، وأن يكون الإجراء مكتوبًا وموثّقًا لأن حذف الواجهة يحذف معها قائمة ما هو ممكن. ويضيف قائمة تحقّق تجريها قبل أن تبني أي شيء، والخيار الثالث المتمثّل في منتجات الأدوات الداخلية مثل Retool و Forest Admin بدلًا من كتابة اللوحة باليد.