نحن نبني منصّة بوكر، وقد حاول الذكاء الاصطناعي للتوّ نشر بنيتنا التحتية
بناء منصّة بوكر من الصفر يعني ارتداء قبّعات كثيرة في آن واحد. في يوم عاديّ أفكّر في منطق اللعبة، ومتطلّبات الامتثال، وتجربة اللاعب، وتدفّقات المعاملات المالية، ونحو مئة شيء آخر لا تربطها ببعضها رابطة. الذكاء الاصطناعي كان حقّاً منقذاً للبقاء متحكّماً في كل ذلك.
كما أنّه حاول للتوّ نشر بنيتنا التحتية حين طلبت منه أن يكتب فقرة واحدة.
السياق
تعمل منصّة البوكر فوق مواصفات تقنية مفصّلة — وثيقة حيّة تغطّي كلّ شيء: كيف يعمل محرّك الأوراق، وكيف يتعقّب ledger أموال اللاعبين، وكيف يفرض geofencing اللعب داخل تكساس فقط، وكيف يحصل كل venue على تجربته بعلامة خاصّة. إنها الأساس الذي يُبنى فوقه كلّ شيء.
حين حان وقت ترسيم نهجنا في Terraform بوصفه infrastructure-as-code، أردت أن أوثّق الاستراتيجية داخل المواصفات. ما الأنماط التي سنستخدمها، وكيف سنبني عمليات النشر على Azure، والفلسفة العامة. قسم واحد. بضع فقرات.
طلبت من الذكاء الاصطناعي إضافة ذلك.
بدلاً من ذلك، أضاف الذكاء الاصطناعي تنفيذاً كاملاً وقابلاً للتشغيل بـ Terraform.
كود جميل، تسليم خاطئ
موديولات. ملفات متغيّرات. تعريفات موارد. مشروع IaC مكتمل البنية — مغروس داخل وثيقة مواصفات بصيغة markdown.
الطريف في الأمر؟ الكود كان في الحقيقة جيّداً. بنية موديولات متينة، وتنظيم نظيف للموارد، وتسمية معقولة للمتغيّرات. لو أنّي طلبت منه بناء إعداد Terraform، لكان ذلك نقطة انطلاق قويّة.
لكنّي طلبت منه وصف الاستراتيجية، لا تنفيذها. ثمّة فرق جوهريّ بين "وثّق كيف ننوي استخدام Terraform" و"ها هو Terraform". كان إنسان سيلتقط هذا الفارق. الذكاء الاصطناعي لم يلتقطه، وبكلّ ثقة.
لماذا هذا مهمّ لمنصّة بوكر تحديداً
منصّة البوكر فيها أجزاء متحرّكة كثيرة يجب أن تكون صحيحة — لا "تقريباً صحيحة"، ولا "صحيحة في الاتجاه العام"، بل صحيحة تماماً. حالة اللعبة، قيود ledger، قواعد الامتثال، منطق geofence. المواصفات هي العقد بين التصميم والتنفيذ. حين يُضاف إليها شيء، يجب أن يكون عن قصد.
ذكاء اصطناعيّ يولّد الكود بلطف ويسقطه داخل وثيقة المواصفات دون أن يُطلب منه لا يقوم فقط بعمل إضافي — بل قد يفسد مصدر الحقيقة الذي تعتمد عليه جميع الطبقات اللاحقة. في قاعدة كود بهذه الحساسية، نطاق ارتداد تعليمة أُسيء فهمها أمر ذو أثر.
هذا الحادث بعينه كان منخفض الأثر وسهل الإصلاح. لكنّه توضيح جيّد لشيء يستحقّ أن نُبقيه في الاعتبار ونحن نبني: الذكاء الاصطناعي ينفّذ بثقة ونادراً ما يسأل. وجود الإنسان في الحلقة هو ما يسدّ الفجوة بين ما قيل وما كان يُقصَد.
الإصلاح والدرس
ثلاثون ثانية لحذف الكود المُولَّد. وثلاثون أخرى لإعادة كتابة الـ prompt بقيود صريحة: "نصّ نثريّ فقط، بدون أيّ كتل كود، وصف الاستراتيجية." في المحاولة الثانية، حصلت على ما أريد بالضبط.
الخلاصة العمليّة: حين تطلب من الذكاء الاصطناعي عمل توثيق أو مواصفات، تعامَل مع الأمر على أنّك تكتب تعليمات لشخص سينفّذ ما قلته بالضبط، ويفسّر أيّ غموض بسخاء كإذن بفعل المزيد. لأنّ هذا بالضبط ما يفعله.
كن صريحاً بشأن الصيغة. "أضِف قسماً عن X" غامض. "أضِف قسماً نثريّاً، دون أيّ كود، يصف نهجنا تجاه X" ليس كذلك.
توقّع أن يبالغ في التسليم في الاتجاه الخاطئ. الذكاء الاصطناعي يميل إلى فعل الأكثر، لا الأقل. حين تكون المهمّة نفسها إضافيّة (كتحديث مواصفات)، تحتاج تلك الغريزة إلى حواجز حماية.
اقرأ قبل أن تعمل commit. هذا بديهيّ، ومع ذلك بطريقة ما يبقى الخطوة التي تُتجاوز أكثر من غيرها.
نبني هذه المنصّة علناً — الانتصارات، والانعطافات الغريبة، واللحظات التي تقوم فيها الأدوات بشيء مضحك بشكل غير متوقّع. كانت هذه إحدى تلك اللحظات.
الذكاء الاصطناعي رائع لمشروع كهذا. وأحياناً، حريص على المساعدة أكثر من اللازم بقليل.
أتعمّق في agentic AI و spec-driven development، وفي ما يعنيه حقّاً استخدام الذكاء الاصطناعي لبناء أنظمة إنتاج، على The Salty Korean — المنهجية خلف البوكر، بدون البوكر.
المنصّة ماضية في طريقها. المزيد قريباً.
Stay salty.
The Salty Korean
مؤسس Salty Poker Network. يكتب عن بوكر تكساس وبناء المنصات ومستقبل البوكر عبر الإنترنت. اقرأ المزيد على The Salty Korean.