مرحبًا بالجميع. بصراحة، يبدو أن وضع المبرمجين صعب، فأنا حتى الآن مذهول من الجودة التي ظهرت. لقد انشغلنا قليلًا بسلسلة n8n، وكنت أود تصوير مقال عن إعلانات Google I/O 2025 والتحديثات العديدة على منتجاتها، وهو خبر ثوري للغاية. لكن، بمجرد أن بدأت، أعلنت شركة Anthropic عن Claude 4، وهو خبر من الصعب أن نتجاوزه.
السبب هو أن الكثير من المبرمجين، وأنا منهم، يعتبرون Claude 3.7 Sonnet أفضل مبرمج في العالم حاليًا. لذلك، سنتحدث اليوم عن مواصفات Claude 4 وسنجربه بشكل عملي، حيث لاحظت أنه تم إصداره في محرر Cursor.
إذا كنت مهتمًا فقط بجانب البرمجة، يمكنك الانتقال مباشرة إلى قسم “التجربة العملية”.
ما الجديد في كلود 4؟
ماذا قالت شركة أنثروبيك عن كلود 4؟ ذكرت أنه تطوير كبير عن Claude 3.7 Sonnet، وأنها طورت نموذجين جديدين: Claude 4 Opus و Claude 4 Sonnet.
لديهم أربع مواصفات رئيسية:
- البحث في الويب (Web Search): أصبح البحث في الويب جزءًا من النموذج وهو الآن متاح في النسخة التجريبية. هذا يعني أن وضع التفكير الممتد (Extended Thinking) في Claude 4 يتضمن مباشرة القدرة على البحث في الويب، ويتم ذلك عبر استخدام الأدوات (Tool Use).
- قدرات نموذجية جديدة (New Model Capabilities): يذكرون أن النموذجين (Opus و Sonnet) يستطيعان الآن استدعاء الأدوات بشكل متوازٍ (parallel). كما يذكرون أن هناك استخدامًا أفضل للذاكرة، مما يسمح للنموذج بالاحتفاظ بالمعلومات والتعلم منها بشكل أفضل. يبدو أن هذه نقطة تحسين مهمة لمشكلة نسيان السياق بعد فترة.
- إطلاق Claude Code رسميًا: مع إطلاق هذه النماذج، أطلقوا أيضًا Claude Code بشكل رسمي بعد أن كان في نسخة تجريبية. يذكرون أن Claude Code يتكامل مع GitHub وتم إصداره كإضافة (plugin) لـ VS Code ومحررات JetBrains. هذا الأمر يضعه في منافسة مباشرة مع ما فعلته جوجل مع “Jewels” وما فعلته OpenAI مع “Codex”.
- تحسينات واجهة برمجة التطبيقات (API): أضافوا أربعة تحسينات رئيسية:
- أداة تنفيذ الشيفرة (Code Execution Tool):
- موصل MCP (MCP Connector):
- واجهة برمجة تطبيقات للملفات (Files API): تنافس بشكل مباشر مفهوم RAG.
- التخزين المؤقت (Caching): زادوا مدة التخزين المؤقت في الواجهة البرمجية إلى ساعة كاملة، مما يساعد الأداة على تذكر السياق لفترة أطول.
بالنسبة للتسعير، لم يغيروا السعر مقارنة بـ Claude 3.7 Sonnet.
معايير الأداء (Benchmarks)
لننتقل سريعًا إلى معايير الأداء. رغم أنني لا أقتنع بها كثيرًا، إلا أنها تعطي مؤشرًا.
- هندسة البرمجيات (SW-E Benchmark): يُظهر تفوقًا واضحًا، متقدمًا على Gemini 1.5 Pro و OpenAI Codex.
- البرمجة الوكيلة (Agentic Coding): في المركز الأول.
- برمجة الطرفية (Terminal Coding): في المركز الأول.
- الاستدلال على مستوى الدراسات العليا (Graduate-level Reasoning): يأتي بعد GPT-4o و Gemini 1.5 Pro.
- استخدام الأدوات الوكيلة (Agentic Tool Use): في المركز الأول أو الثاني بعد Claude 3.7 Sonnet.
- الاستدلال البصري (Visual Reasoning): يتفوق عليه GPT-4o.
يبدو أن أقوى النماذج في العالم حاليًا هي Gemini 1.5 Pro، و GPT-4o، و Claude 4.
ملخص الميزات
باختصار، التحسينات الرئيسية كانت في استخدام الأدوات، البحث في الويب، التنفيذ المتوازي، والذاكرة. وحسب معايير الأداء التي عرضوها، فقد أصبحوا الأفضل في مجال البرمجة. وأخيرًا، أصبح Claude Code متاحًا للجميع كإضافة للمحررات.
التجربة العملية: بناء مشروع لإدارة المهام شبيه بـ Trello
انتهينا من الجزء النظري، لننتقل إلى جزئية البرمجة. توجهت إلى محرر Cursor ووجدت أنهم يدعمون Claude 4 Sonnet مباشرة. اخترته لنجربه في بناء مشروعين: واحد صغير، والآخر شبه متكامل يشبه Trello.
لمن لا يعرف Trello، هو تطبيق لإدارة المشاريع يعتمد على لوحات (Boards)، وكل لوحة تحتوي على أعمدة (Columns) تمثل مراحل العمل، وبطاقات (Cards) تمثل المهام. يمكنك نقل البطاقات بين الأعمدة بالسحب والإفلات.
مثال على الأعمدة:
- جديد (New)
- قيد التنفيذ (In Progress)
- تم (Done)
أو
- قائمة المهام (Backlog)
- قيد التنفيذ (In Progress)
- مراجعة (Review)
- تم (Done)
أخذت الطلب التالي (Prompt) من ChatGPT وطلبت من Claude 4 تنفيذه:
أنشئ لي مساحة عمل (Workspace) تحتوي على عدة لوحات (Boards). كل لوحة تحتوي على أعمدة (Columns) وبطاقات (Cards). يجب أن تحتوي البطاقات على وصف وتاريخ استحقاق. يجب أن يكون التصميم متجاوبًا (responsive) ويعمل على الويب والموبايل. استخدم React و Node.js مع قاعدة بيانات SQLite. قم بإعداد بعض التوثيق. تجاهل المصادقة (Authentication) وتسجيل الدخول حاليًا. أنشئ الواجهة الخلفية (Backend) والواجهة الأمامية (Frontend).
بدأ النموذج بالعمل في وضع الوكيل (Agent Mode) في Cursor. لم أتدخل في عمله خطوة بخطوة لأنه على الأغلب سيستغرق وقتًا. بدأ مباشرة بإنشاء مخطط قاعدة البيانات (SQL Schema)، ثم ملف package.json
، وبدأ بكتابة كمية هائلة من الشيفرة.
بعد حوالي 10 دقائق، انتهى من كتابة الشيفرة. الشيء الوحيد الذي كنت أفعله هو كتابة “Continue” كل 25 رسالة، حيث يتوقف Cursor تلقائيًا. المثير للدهشة أنه كان يكتشف الأخطاء بنفسه ويصلحها، مثل تغيير إصدار SQLite أو حل مشكلة في إعداد الخادم عبر إرسال طلبات cURL لاختباره.
النتيجة: تطبيق شبه متكامل من طلب واحد
في النهاية، انتهى من العمل وقام بتشغيل المشروع وفتح المتصفح تلقائيًا. وهذا ما فعله:
- أنشأ واجهة لإنشاء مساحات عمل (Workspaces).
- عند إنشاء مساحة عمل، يتم حفظها في قاعدة البيانات وتظهر حتى بعد تحديث الصفحة.
- داخل مساحة العمل، يمكن إضافة لوحات (Boards) بألوان مختلفة.
- داخل كل لوحة، يمكن إضافة قوائم (Lists) مثل “جديد”، “قيد التنفيذ”، و “تم”.
- يمكن إضافة بطاقات (Cards) إلى القوائم.
- يمكن سحب البطاقات وإفلاتها بين القوائم المختلفة، ويتم تحديث موقعها عبر استدعاءات API.
بصراحة، ما أراه مذهل. من طلب واحد وخلال ربع ساعة من العمل المستقل، بنى تطبيقًا شبه وظيفي.
بالطبع، كانت هناك بعض الأخطاء الصغيرة:
- البيانات لا يتم عرضها بشكل صحيح عند العودة للخلف في المتصفح.
- لا يوجد زر للعودة.
- خصائص البطاقة مثل التعديل لم تكن موجودة.
لكن بالنظر إلى أنه تم بناؤه من طلب واحد، فالنتيجة خيالية. كمية الشيفرة التي كتبها كانت هائلة ومنظمة بشكل جيد في الواجهتين الأمامية والخلفية.
التجربة الثانية: بناء لعبة سوبر ماريو
المثال الأول رفع سقف طموحاتي، فقررت تجربة شيء آخر. طلبت من ChatGPT كتابة طلب لإنشاء نسخة من لعبة سوبر ماريو باستخدام HTML, CSS, و JavaScript فقط.
أنشئ نسخة من لعبة سوبر ماريو باستخدام HTML, CSS, و JavaScript. يجب أن تحتوي اللعبة على شخصية ماريو يمكنها التحرك يمينًا ويسارًا والقفز. يجب أن يكون هناك أعداء ومنصات وعملات يمكن جمعها.
مرة أخرى، تركته يعمل في وضع الوكيل. استغرق وقتًا أطول وكان أبطأ بعض الشيء، لكنه قام ببناء هيكل ملفات نمطي (modular) ومفصل بشكل مذهل، حيث فصل كل شيء في وحدات خاصة مثل الفيزياء والمدخلات والأدوات. كمية الشيفرة كانت خيالية.
النتيجة: شيفرة معقدة ولكنها غير مكتملة
عندما انتهى وقام بتشغيل الخادم، كانت النتيجة مثيرة للاهتمام. اللعبة عملت، وكانت هناك موسيقى في الخلفية (لا أعرف من أين أتى بها)، لكنها لم تكن ناجحة بالكامل. ظهر خطأ في وحدة الفيزياء (Physics)، ولم يكن ماريو يقفز.
Error in physics module: Cannot read property 'velocity' of undefined
حاولت إصلاحها عبر إعطائه رسالة الخطأ، وبعد عدة محاولات، عملت اللعبة بشكل نسبي، لكنها لم تكن كاملة.
ما ألاحظه هنا هو أن الشيفرة التي كتبها كانت خيالية بلا أي شك. لقد قام بتضمين مفاهيم فيزيائية معقدة مثل الاحتكاك (friction) والجاذبية (gravity) ومعادلات رياضية من الصعب تحقيقها. أتوقع لو قضيت عليه ساعتين إضافيتين، لكانت النتيجة ممتازة جدًا.
خاتمة وتقييم نهائي
بناءً على هذه التجارب، إمكانيات Claude 4 Sonnet حتى الآن تبدو أفضل من 3.7 Sonnet. الشيفرة التي ينشئها وتصحيح الأخطاء الذي يقوم به بنفسه أمران في غاية الجمال.
هذا يطرح مجددًا السؤال حول مصير المبرمجين. أعتقد أن هناك فرقًا يجب أن نوضحه بين “الكاتب للشيفرة” (Coder) و “المطور” (Developer). التطوير هو أكثر من مجرد كتابة الشيفرة.
أتمنى أن يكون هذا المقال قد أعجبكم. سنعود إلى أخبار الذكاء الاصطناعي في المقالات القادمة. شكرًا لمتابعتكم.