hrxdev
العربية

كيف تُصنع

مطوّر واحد، ومساعد برمجة بالذكاء الاصطناعي، وكثير من القواعد التي تتحقق منها الآلة.

بقلم نيك

أكتب Prison Life مع Claude Code (وكيل البرمجة من Anthropic). أنا أقرر ما هي اللعبة وأي الخيارات نسلك؛ والمساعد يتولى معظم الكتابة. ولأن أحدًا لا يراجع الشيفرة سواي ووكيل ذكاء اصطناعي للمراجعة، أعتمد على الأتمتة: القواعد تفرضها الفحوص الآلية والبناء، لا النوايا الحسنة.

التفويض

تخطط الجلسة الرئيسية في Claude Code للعمل، وتدير متتبع المهام والسجل المكتوب لقرارات التصميم وتاريخ التغييرات. لكنها لا تكتب الشيفرة: تسلّم كل تغيير، مهما صغر، إلى وكيل ذكاء اصطناعي متخصص. لكل وكيل تعريف مكتوب خاص به يحدد دوره ونموذجه.

الدورفئة النموذجالمهمة
البنيةOpusنموذج البيانات، والنبضة، والخيوط، وإيجاد المسارات، والقرارات
شيفرة المحاكاةOpusأنظمة المحاكاة، وذكاء الشخصيات، والحلقات الحرجة
الأداءOpusالتحليل، وتراجعات اختبار الأداء
المراجعة (قراءة فقط)Opusيراجع الفروق؛ لا يستطيع تعديل الملفات
العميل والأدواتSonnetعميل Godot، والواجهة، والأدوات
الاختباراتSonnetاختبارات من معايير القبول
بيانات المحتوىSonnetتعريفات JSON وفق مخطط
البحث وتشغيل الفحوصHaikuالبحث في الشيفرة؛ تشغيل الفحوص وتلخيص الإخفاقات

العمل الصعب يذهب إلى أقوى نموذج، والعمل الروتيني إلى الأرخص. إذا أخفق وكيل أرخص في الفحوص مرتين، ترتفع المهمة فئةً؛ وإذا أخفقت الفئة العليا مرتين، تتوقف وتسألني.

خطافات تقول لا

الخطافات في Claude Code سكربتات تعمل حول أفعال المساعد. خطافاتي تفرض ثلاث قواعد:

تحمي هذه الخطافات من الأخطاء، لا من الالتفاف المتعمد: حيلة صدفة مُصرّة يمكنها تجاوزها، وأحد الخطافات يرى الفحص الأحمر لدى وكيل لكنه لا يستطيع إيقافه (خطاف التوقف في الجلسة الرئيسية يلتقطه مع ذلك). أفضّل أن أقول ذلك بوضوح.

قرارات مكتوبة وفحوص

النواة الحتمية

تعيش المحاكاة في مكتبة .NET خالصة بلا أي إشارة إلى Godot؛ وعميل Godot يقرأ حالتها ويرسل الأوامر فقط. تتبع النواة قواعد ثابتة: لا يتغير العالم إلا عبر الأوامر، والزمن نبضات بأعداد صحيحة، والعشوائية لا تأتي إلا من مولّدات العالم المبذورة. البذرة نفسها وسجل الأوامر نفسه يجب أن يعطيا العالم نفسه. هذه القواعد يتحقق منها المترجم والاختبارات، لا المراجعة وحدها؛ انظر اليوميات #1 لمعرفة الكيفية، واليوميات #2 عن العالم والحفظ وإعادات التشغيل.

بنية نواة المحاكاةتدخل الأوامر إلى طابور. كل نبضة تشغّل المرحلة 0 (الأوامر، وتُكتب في سجل الأوامر)، والمرحلة 1 (الأنظمة بترتيب ثابت)، والمرحلة 2 (نهاية النبضة). سجل الأوامر وحالة العالم، بخريطة المربعات والتدفقات العشوائية المبذورة، يغذيان بصمة الحالة. الأوامر الواردة اللاعب، الاختبارات، السيناريوهات طابور الأوامر الإضافة آمنة بين الخيوط النبضة T (خيط واحد، زمن صحيح) المرحلة 0: الأوامر ترميز، وختم (النبضة، الرقم) Validate، الكتابة في السجل، Apply الأوامر المرفوضة تُسجَّل أيضًا المرحلة 1: الأنظمة تعمل بترتيب ثابت محدد في الشيفرة (لا شيء مسجّل بعد) المرحلة 2: نهاية النبضة تغييرات بنيوية (غير مستخدمة بعد) ثم عدّاد النبضات + 1 سجل الأوامر كل أمر مع نتيجته البايتات + الملخص إعادة التشغيل = بذرة + سجل حالة العالم البذرة، النبضة خريطة المربعات (مستويات) 4 تدفقات RNG من البذرة: Commands، Needs، Ai، Events بصمة الحالة البذرة، النبضة، الخريطة، تدفقات RNG، ملخص السجل
نواة المحاكاة كما هي اليوم. لا أنظمة ولا شخصيات بعد؛ يحتوي العالم خريطة مربعات بمستويات، وتغطي البصمة الخريطة إلى جانب ما يُرسم.

هدف التصميم ما يصل إلى 1000 سجين وموظف بمعدل 20 نبضة في الثانية. إنه هدف: لا شخصيات بعد، فمشغّل اختبارات الأداء موجود لكن لم يُقس شيء بهذا الحجم.