الدرس 6

نصائح ذهبية — هذا كل ما تحتاج معرفته

جوهر السقاطة في جملة واحدة: عند كل إضافة ميزة، hurl –test يجب أن ينجح للانتقال للتالي. هذه هي السقاطة. كما أن الترس لا يرجع، الاختبار الذي نجح لا ينكسر.

لا تثق بـ “انتهيت”. AI متفائل. يُنجز 40 من 527 ويعلن “اكتمل”. تحقق بالأرقام — TODO صفر يعني انتهى. قبل ذلك لم ينتهِ.

للعمل الكبير مع الوكيل:

للوكيل: “شغّل tsma next، اكتب اختبار الدالة TODO. إذا نجح الاختبار انتقل بـ tsma next للدالة التالية. كرر حتى يظهر All functions complete!”

هذا التكرار هو كل شيء. tsma next يحدد المهمة التالية، المحقق (go test, hurl –test) يحكم بالنجاح، والآلة تعلن “النهاية”. AI يولّد فقط.

لا تعلّم الطريقة بل علّم العقد. ليس “اتبع TDD” بل “هذا الاختبار يجب أن ينجح.”

إذا مات الوكيل في منتصف الجلسة لا مشكلة. tsma next مرة أخرى يستأنف من آخر دالة معالَجة. التقدم محفوظ.


لماذا يجب أن تأمر بهذه الطريقة

LLM يولّد جيداً. لكن لا يمكن الوثوق بحكمه على الاكتمال.

خمسة مبادئ

  1. شرط الانتهاء آلي — pass/fail. ليس “يبدو جيداً”.
  2. PASS ثابت — ما نجح لا يُفتح مجدداً. العمل المتبقي لا يزيد أبداً.
  3. LLM يولّد فقط — ماذا يُعدَّل؟ الآلة تقرر. نجح؟ الآلة تحكم. التالي؟ الآلة تخبر. انتهى؟ الآلة تعلن.
  4. سلب حق حكم الانتهاء من الوكيل — “انتهيت” من LLM = توقف عند 40. من الآلة = توقف عند 527.
  5. المحقق يجب أن يكون حتمياً — نفس المدخل = نفس المخرج دائماً.

tsma — أداة السقاطة العملية

tsma أداة CLI تطبق Ratchet Pattern. تدعم Go, TypeScript, Python. أربع وظائف:

  1. فهرسة الدوال — تجد جميع دوال المشروع
  2. كشف الاختبارات — تتحقق أن لكل دالة اختبار
  3. قياس التغطية — تقيس أين يصل الاختبار
  4. توليد التغذية — تخبر بالفروع غير المغطاة برقم السطر

الأمر الوحيد الذي يحتاجه الوكيل:

$ tsma next

نتائج 527 دالة

النتيجةالعددالنسبة
PASS (تغطية فروع 100%)24646.7%
DONE (أفضل جهد)28153.3%
TODO (غير معالَج)00.0%

TODO صفر. 527 دالة كلها عولجت.

الوكيل يموت. التقدم يبقى.

وكيل A: دوال 1-200 → موت بسبب حد التوكنات
وكيل B: tsma next → يستأنف من 201
وكيل C: tsma next → يستأنف من 401

الوكيل مستهلَك. التقدم يتراكم.

استبدال المحقق يصنع أداة مختلفة

سقاطة + محققالاستخدام
سقاطة + go test + تغطيةتوليد اختبارات الوحدة
سقاطة + hurl --testتحقق endpoints API
سقاطة + yongol validateتطابق مواصفات SSOT
سقاطة + filefunc validateفرض قواعد بنية الكود

النمط واحد. المحقق يحدد المجال.


الملخص

  1. LLM يولّد جيداً لكنه لا يستطيع حكم الاكتمال. يقول “انتهيت” عند 40.
  2. نقل حكم الاكتمال للآلة يكمل 527. هذا هو Ratchet Pattern.
  3. لا تعلّم الطريقة بل العقد. ليس “اتبع TDD” بل “هذا الاختبار يجب أن ينجح.”
  4. دقة التغذية تحدد دقة الإصلاح. “فشل” أقل فعالية 10 مرات من “السطر 41 غير مغطى”.
  5. الوكيل يموت لكن التقدم يُحفظ. session.json نقطة تحقق.

مقالات ذات صلة

سلسلة دروس Reins Engineering الكاملة

الدرسالعنوان
الدرس 1كيف تأمر الذكاء الاصطناعي
الدرس 2كيف لا تثق بالذكاء الاصطناعي
الدرس 3التطبيق الذي لا ينكسر
الدرس 4القرارات خارج الكود
الدرس 5ذكاء اصطناعي بلجام
الدرس 6إذا نجح أقفله
الدرس 7كيف تعكس التملق
الدرس 8مصنع الوكيل
الدرس 9الأتمتة ما بعد الكود
الدرس 10قانون البيانات

مصادر الأدلة

  1. TDAD, ACM AIWare 2026 — تعليمات إجرائية “اتبع TDD” (6.08% → 9.94%) تزيد الانحدار، توفير ملف اختبار (6.08% → 1.82%) يخفض الانحدار 70%.