
نصائح ذهبية — هذا كل ما تحتاج معرفته
جوهر السقاطة في جملة واحدة: عند كل إضافة ميزة، 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 يولّد جيداً. لكن لا يمكن الوثوق بحكمه على الاكتمال.
خمسة مبادئ
- شرط الانتهاء آلي — pass/fail. ليس “يبدو جيداً”.
- PASS ثابت — ما نجح لا يُفتح مجدداً. العمل المتبقي لا يزيد أبداً.
- LLM يولّد فقط — ماذا يُعدَّل؟ الآلة تقرر. نجح؟ الآلة تحكم. التالي؟ الآلة تخبر. انتهى؟ الآلة تعلن.
- سلب حق حكم الانتهاء من الوكيل — “انتهيت” من LLM = توقف عند 40. من الآلة = توقف عند 527.
- المحقق يجب أن يكون حتمياً — نفس المدخل = نفس المخرج دائماً.
tsma — أداة السقاطة العملية
tsma أداة CLI تطبق Ratchet Pattern. تدعم Go, TypeScript, Python. أربع وظائف:
- فهرسة الدوال — تجد جميع دوال المشروع
- كشف الاختبارات — تتحقق أن لكل دالة اختبار
- قياس التغطية — تقيس أين يصل الاختبار
- توليد التغذية — تخبر بالفروع غير المغطاة برقم السطر
الأمر الوحيد الذي يحتاجه الوكيل:
$ tsma next
نتائج 527 دالة
| النتيجة | العدد | النسبة |
|---|---|---|
| PASS (تغطية فروع 100%) | 246 | 46.7% |
| DONE (أفضل جهد) | 281 | 53.3% |
| TODO (غير معالَج) | 0 | 0.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 | فرض قواعد بنية الكود |
النمط واحد. المحقق يحدد المجال.
الملخص
- LLM يولّد جيداً لكنه لا يستطيع حكم الاكتمال. يقول “انتهيت” عند 40.
- نقل حكم الاكتمال للآلة يكمل 527. هذا هو Ratchet Pattern.
- لا تعلّم الطريقة بل العقد. ليس “اتبع TDD” بل “هذا الاختبار يجب أن ينجح.”
- دقة التغذية تحدد دقة الإصلاح. “فشل” أقل فعالية 10 مرات من “السطر 41 غير مغطى”.
- الوكيل يموت لكن التقدم يُحفظ. session.json نقطة تحقق.
مقالات ذات صلة
سلسلة دروس Reins Engineering الكاملة
| الدرس | العنوان |
|---|---|
| الدرس 1 | كيف تأمر الذكاء الاصطناعي |
| الدرس 2 | كيف لا تثق بالذكاء الاصطناعي |
| الدرس 3 | التطبيق الذي لا ينكسر |
| الدرس 4 | القرارات خارج الكود |
| الدرس 5 | ذكاء اصطناعي بلجام |
| الدرس 6 | إذا نجح أقفله |
| الدرس 7 | كيف تعكس التملق |
| الدرس 8 | مصنع الوكيل |
| الدرس 9 | الأتمتة ما بعد الكود |
| الدرس 10 | قانون البيانات |
مصادر الأدلة
- TDAD, ACM AIWare 2026 — تعليمات إجرائية “اتبع TDD” (6.08% → 9.94%) تزيد الانحدار، توفير ملف اختبار (6.08% → 1.82%) يخفض الانحدار 70%.