Claude Code يساعد في بناء تطبيق إنتاجي بلغة Elixir دون كتابة يدوية للشيفرة خلال أربعة أشهر

هل يمكن بناء تطبيق إنتاجي دون كتابة أي شيفرة يدويًا؟ تُظهر هذه الحالة أن ذلك ممكن: خلال أربعة أشهر وصلت خدمة Elixir، بمساعدة Claude Code، إلى 1 702 التزامًا (commit) و3 880 اختبارًا وتغطية اختبارية بنسبة 94,83%. لكن الخلاصة الأهم ليست السرعة، بل العملية نفسها: تطوير صارم قائم على الاختبار أولًا (TDD)، وفصل واضح بين الأدوار، وتحليل مفصّل لانهيارين وقعا في بيئة الإنتاج.

معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
Claude Code يساعد في بناء تطبيق إنتاجي بلغة Elixir دون كتابة يدوية للشيفرة خلال أربعة أشهر
المصدر: Habr AI. كولاج: Hamidun News.
استمع للمقال
بطاقة الحقائق والأرقام
المعيارالتفاصيل
المصدر الأصليHabr AI ↗
رئيس التحرير
حقيقة رئيسية #1بعد أي تعديل يجب تشغيل mix format وmix credo --strict
حقيقة رئيسية #2لا يُسمح بسطر واحد من شيفرة الإنتاج دون اختبار فاشل أولًا
حقيقة رئيسية #3يُحظر استخدام float في البيانات المالية، ويُستخدم Decimal فقط

وصف المؤلف تجربة استمرت أربعة أشهر: بُني فيها تطبيق إنتاجي بلغة Elixir/Phoenix عبر Claude Code دون كتابة أي شيفرة يدويًا. وخلال هذه المدة وصل المشروع إلى 1 702 التزامًا و3 880 اختبارًا وتغطية بنسبة 94,83%، لكنه مرّ في الطريق بحادثتين خطيرتين في بيئة الإنتاج.

حجم المشروع

لم يكن الأمر عرضًا تجريبيًا ولا مشروعًا شخصيًا للتسلية، بل خدمة EasyStocksAI لتقييم أكثر من 1 000 سهم وفق 15 مقياسًا. يحسب التطبيق التقييم النقطي عبر أربعة محاور، ويدير محافظ استثمارية مع سجل للصفقات، ويقارن النتائج باستراتيجيات مرجعية (benchmark)، ويعرض رسومًا بيانية تفاعلية. كما أنشأ المؤلف مدونة منفصلة بمحلّل Markdown مخصص قادر على تحويل رموز الأسهم والأوامر إلى روابط ورسوم بيانية مضمّنة.

والتقنيات المستخدمة إنتاجية بالفعل: Elixir/Phoenix LiveView وPostgreSQL وOban وTailwind وLightweight Charts. ومن حيث الأرقام، يقترب المشروع من منتج متكامل أكثر من كونه تجربة. فقاعدة الشيفرة تضم 422 ألف سطر من شيفرة Elixir، وأكثر من 73 ألف سطر من الاختبارات، وأكثر من 300 وحدة (module)، و34 عاملًا (worker) في Oban، و80 ترحيلًا (migration) لقاعدة البيانات. وتُسحب البيانات من خمس واجهات API في وقت واحد مع آلية بديلة متسلسلة (fallback): إذا لم يستجب أحد المصادر، ينتقل النظام تلقائيًا إلى المصدر التالي. وجرى كل ذلك على بنية تحتية متواضعة: خادم VPS لدى Vultr وقاعدة PostgreSQL على AWS RDS، فيما بُني خط CI/CD عبر GitHub Actions.

كيف حافظوا على الجودة

كانت الآلية الرئيسية للضبط هي الملف CLAUDE.md الذي يقرؤه Claude Code في كل جلسة. ويصفه المؤلف بأنه «دستور» المشروع: فهو يحدد الأوامر الإلزامية والمحظورات والقواعد المعمارية. وبدون هذه القيود يكتب الذكاء الاصطناعي شيفرة تعمل لكن يصعب التحكم بها، أما معها فيحافظ على أسلوب موحّد ولا ينسى الإجراءات. وكان كل خطأ جديد يتحول إلى قاعدة جديدة، لذلك نما المستند مع نمو المنتج.

  • بعد أي تعديل يجب تشغيل mix format وmix credo --strict
  • لا يُسمح بسطر واحد من شيفرة الإنتاج دون اختبار فاشل أولًا
  • يُحظر استخدام float في البيانات المالية، ويُستخدم Decimal فقط
  • لا يجوز تنفيذ استعلامات قاعدة البيانات داخل الحلقات في عمال Oban
  • تُعدّ قاعدة البيانات المصدر الرئيسي للحقيقة، وليس حالة العمليات

وإضافةً إلى ذلك، وزّع المؤلف الأدوار داخل عملية التطوير بالذكاء الاصطناعي نفسها. ففي وضع Director يتولى النموذج الهندسة المعمارية وسجلات القرارات المعمارية (ADR) وخطة التغييرات، وفي وضع Implementor يكتب الشيفرة وفق هذه الخطة حصرًا وعبر TDD فقط. وتنقسم دورة العمل إلى ثلاث مراحل منفصلة: العصف الذهني، ثم خطة تفصيلية، ثم التنفيذ بخطوات صغيرة مدة كل منها 2–5 دقائق. ويحدّ هذا النهج من الانحراف المعماري: فجلسة الذكاء الاصطناعي الجديدة تقرأ ملفات ADR والخطط وملفات الذاكرة (memory)، وتواصل المشروع من سياق موثّق مسبقًا لا من الصفر.

أين تسبّب الذكاء الاصطناعي في أعطال الإنتاج

أكثر أجزاء القصة فائدة ليست الأرقام، بل تحليل حادثتين وقعتا في بيئة الإنتاج. في الحالة الأولى، تشارك عمال Oban وطلبات الويب مجموعة واحدة (pool) من 15 اتصالًا بقاعدة PostgreSQL. وعندما أُطلقت عملية ملء رجعي (backfill) من 923 مهمة، توقفت الواجهة فعليًا عن العمل. وحُلّت المشكلة بإنشاء ObanRepo مخصص بمجموعة اتصالات منفصلة لعمليات الطابور الداخلية. وبعد ذلك أُضيفت إلى القواعد ميزانية استعلامات (query budget) إلزامية لكل عامل، وقيود على تزامن الطوابير.

وكان العطل الثاني أكثر دلالة. أضاف الذكاء الاصطناعي ConnectionWatchdog لمراقبة سلامة المجموعة وتفادي تكرار الحادثة الأولى. لكن المراقبة نفسها صارت سبب الانهيار التالي: تحت الحمل، بدأت الاستعلامات ذات المهلة الصارمة في قتل الاتصالات، وأسقط watchdog مجموعة Oban بأكملها في ثوانٍ معدودة. وفي النهاية حُذف المكوّن ببساطة، وسُجّل الدرس في ذاكرة المشروع.

«لا تستخدم أبدًا اتصالات مجمّعة (pooled connections) ذات مهلات صارمة

لأغراض المراقبة»

وبشكل منفصل، دمج المؤلف في التطبيق خادم MCP Debug Server ليتمكن Claude Code من الاتصال ببيئة الإنتاج كأداة: قراءة السجلات، ومعاينة طوابير Oban، وتنفيذ استعلامات SQL، وفحص المقاييس، وإعادة تشغيل العمال دون SSH ودون تصحيح يدوي. لكن حتى هنا توجد حدود: فالوصول مسموح لقائمة بيضاء من الإجراءات فقط، كي لا يتحول تصحيح الأخطاء إلى ثغرة أمنية.

وخلاصة المؤلف الرئيسية بسيطة: يستطيع الذكاء الاصطناعي بالفعل دعم بيئة إنتاج حقيقية إذا توفرت له القواعد والذاكرة وتحاليل ما بعد الحوادث (postmortems) وحدود وصول واضحة.

ماذا يعني ذلك

تُظهر هذه القصة أن التطوير بالذكاء الاصطناعي بات قادرًا على بلوغ مستوى الإنتاج، لكن ليس من تلقاء نفسه. فالدور الحاسم لا يعود إلى النموذج، بل إلى الانضباط المحيط به: TDD والقرارات المعمارية وملفات الذاكرة وتحاليل ما بعد الحوادث وضوابط حماية صارمة (guardrails). وإذا بقي الإنسان مهندسًا ومحررًا للعملية، فإن الذكاء الاصطناعي يسرّع التسليم فعلًا دون أن تتراجع الجودة بالضرورة.

القصة

أسئلة وأجوبة حول الخبر

ما أبرز التفاصيل حول حجم المشروع؟

لم يكن الأمر عرضًا تجريبيًا ولا مشروعًا شخصيًا للتسلية، بل خدمة EasyStocksAI لتقييم أكثر من 1 000 سهم وفق 15 مقياسًا. يحسب التطبيق التقييم النقطي عبر أربعة محاور، ويدير محافظ استثمارية مع سجل للصفقات، ويقارن النتائج باستراتيجيات مرجعية (benchmark)، ويعرض رسومًا بيانية تفاعلية. كما أنشأ المؤلف مدونة منفصلة بمحلّل Markdown مخصص قادر على تحويل رموز الأسهم والأوامر إلى روابط ورسوم بيانية مضمّنة. والتقنيات المستخدمة إنتاجية بالفعل: Elixir/Phoenix LiveView وPostgreSQL وOban وTailwind وLightweight Charts. ومن حيث الأرقام، يقترب المشروع من منتج متكامل أكثر من كونه تجربة. فقاعدة الش

ما أبرز التفاصيل حول كيف حافظوا على الجودة؟

كانت الآلية الرئيسية للضبط هي الملف CLAUDE.md الذي يقرؤه Claude Code في كل جلسة. ويصفه المؤلف بأنه «دستور» المشروع: فهو يحدد الأوامر الإلزامية والمحظورات والقواعد المعمارية. وبدون هذه القيود يكتب الذكاء الاصطناعي شيفرة تعمل لكن يصعب التحكم بها، أما معها فيحافظ على أسلوب موحّد ولا ينسى الإجراءات. وكان كل خطأ جديد يتحول إلى قاعدة جديدة، لذلك نما المستند مع نمو المنتج. بعد أي تعديل يجب تشغيل mix format وmix credo --strict لا يُسمح بسطر واحد من شيفرة الإنتاج دون اختبار فاشل أولًا يُحظر استخدام float في البيانات المالية، ويُستخدم Decimal فقط لا يجوز تنفيذ استعلامات قاعدة البيانا

ما أبرز التفاصيل حول أين تسبّب الذكاء الاصطناعي في أعطال الإنتاج؟

أكثر أجزاء القصة فائدة ليست الأرقام، بل تحليل حادثتين وقعتا في بيئة الإنتاج. في الحالة الأولى، تشارك عمال Oban وطلبات الويب مجموعة واحدة (pool) من 15 اتصالًا بقاعدة PostgreSQL. وعندما أُطلقت عملية ملء رجعي (backfill) من 923 مهمة، توقفت الواجهة فعليًا عن العمل. وحُلّت المشكلة بإنشاء ObanRepo مخصص بمجموعة اتصالات منفصلة لعمليات الطابور الداخلية. وبعد ذلك أُضيفت إلى القواعد ميزانية استعلامات (query budget) إلزامية لكل عامل، وقيود على تزامن الطوابير. وكان العطل الثاني أكثر دلالة. أضاف الذكاء الاصطناعي ConnectionWatchdog لمراقبة سلامة المجموعة وتفادي تكرار الحادثة الأولى. لكن ال

ZK
جمال حميدون — مدير المنتجات في Alpina Digital ومدير منتج AlpinaGPT. يبني منتجات الذكاء الاصطناعي منذ 2019. بدأ Hamidun News كمشروع شخصي ثم أصبح مُجمِّعًا إنتاجيًا بأكثر من 6000 قارئ.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
ما رأيك؟
جارٍ تحميل التعليقات…