توبولوجيا التغذية الراجعة أهم من ذكاء النموذج

هل سيُحَل كل شيء عندما يصبح النموذج أذكى؟

السردية السائدة في أدوات البرمجة بالذكاء الاصطناعي تقول: عندما يصبح النموذج جيداً بما فيه الكفاية، سيكتب الكود ويكتب الاختبارات ويُعيد الهيكلة من تلقاء نفسه. ما لم ينجح مع GPT-4 سينجح مع GPT-5. وما لم يستطعه Claude سيستطيعه Claude الأكبر.

هل هذا صحيح حقاً؟

طلبت من Claude Opus 4.7 إعادة هيكلة filefunc. أنهاها في ساعة واحدة دون مراجعة بشرية. نجح في validate، ونجح في pytest، وحافظ على coverage. بالنظر إلى النتيجة فقط، تتوافق مع سردية “المهم أن يكون النموذج جيداً”.

لكن ماذا لو طلبت من نفس النموذج نفس إعادة الهيكلة بدون قواعد filefunc؟ بدون validate؟ بدون تغذية راجعة من coverage؟ النتيجة تختلف تماماً. يقع في doom loop. يصلح خطأً فيكسر مكاناً آخر، ويصلح ذاك فيكسر مكاناً ثالثاً.

نفس النموذج. ما تغيّر هو البيئة.


“انتهيت” — غريزة الإنهاء المبكر عند الوكيل

أجريت تجربة أخرى بنفس النموذج. أطلقت وكيلاً مستقلاً على مشروع يحتوي 527 دالة. “اكتب اختبارات لجميع الدوال.” أنهى الوكيل العمل وأبلغ: “اكتملت المهمة.”

عدد الدوال التي كُتبت لها اختبارات فعلاً: 40. أربعون من أصل 527.

لم يكذب الوكيل. بعد إنجاز 40 دالة، حكم بأنه “أنجز ما يكفي”. الميل الافتراضي لـ LLM هو الإنهاء المبكر المتفائل. عندما يواجه دالة صعبة يتخطاها، وبعد بضع دوال أخرى يستنتج أن “الباقي نمط مشابه فلا داعي للمتابعة”.

بعد فرض الحلقة عبر أداة CLI:

وكيل مستقل:  40 / 527  (7.6%)  — الوكيل يعلن "اكتمل"
حلقة CLI:    527 / 527 (100%)  — الآلة تعلن "لا يزال هناك 487"

نفس النموذج. نفس المشروع. الفرق هو من يقرر متى “ينتهي”.


البيئة تصنع النموذج

التجربتان تشيران إلى نفس الاستنتاج. Opus 4.7 لم ينجح لأنه ذكي. نجح لأن specification surface كانت machine-checkable.

filefunc validate  → هل يلتزم الكود بقواعد البنية؟
pytest             → هل السلوك الحالي محفوظ؟
coverage           → أي فروع مفقودة؟

هذه الثلاثة أعادت تغذية راجعة فورية مع كل تعديل. يستقبل النموذج التغذية الراجعة، يُعدّل، يستقبل مرة أخرى، يُعدّل مرة أخرى. self-correcting loop.

الجوهر هنا:

توبولوجيا التغذية الراجعة تحدد النتيجة أكثر من ذكاء النموذج.

LLM قوي في التوليد لكنه ضعيف في ضمان correctness. لكن مع وجود deterministic verifier، يستقر أداؤه بشكل حاد. lint، typecheck، test، coverage — هذه تصبح gradient signal تُصحّح مخرجات النموذج.

“سيُحَل عندما يصبح النموذج ذكياً بما فيه الكفاية” قضية خاطئة. الصحيح هو: “عندما تكون التغذية الراجعة سريعة بما فيه الكفاية، يمكن حله بالنموذج الحالي”.


broad exploration مقابل local correction

نقطة قوة LLM ليست broad exploration بل local correction.

“اكتب اختبارات لهذا المشروع” — هذا broad exploration. يضيع LLM الاتجاه.

“السطر 41 غير مُغطّى” — هذا local correction. يكتب LLM اختباراً يُغطّي بالضبط ذلك السطر.

أرقام مُثبتة من مشروع فعلي:

بدون تغذية راجعة:  يتوقف عند 60~70% coverage
مع تغذية راجعة:    يصل إلى 100% (للدوال القابلة للوصول)

نفس النموذج. سطر واحد “line 41 not covered” يؤدي دور gradient signal. هذه التغذية الراجعة توجّه تعديلات LLM في الاتجاه الصحيح.


Symbolic Feedback Loop

هناك بنية واحدة تخترق كل هذه الملاحظات.

LLM يُولّد → أداة حتمية تحكم → النتيجة تُعاد إلى LLM → تكرار

هذا ما أسميه Symbolic Feedback Loop.

التيار السائد في الصناعة الآن هو LLM Feedback Loop. ذكاء اصطناعي يتحقق من ذكاء اصطناعي. كشخص ثمل يسأل صديقه الثمل: “هل أنا سكران؟” كلاهما احتمالي، فتتراكم الأخطاء.

Symbolic Feedback Loop مختلفة. pytest لا تُهلوس. go test لا تسكر. قياس coverage لا يكذب. التحقق من المواصفات لا ينحرف.

هذه البنية تعمل في المجالات التي يمكن فيها الحكم الآلي على correctness — الكود، والاختبارات، والمواصفات، والأنواع. أناقة تصميم API أو طبيعية تجربة المستخدم لا تستطيع الأدوات الرمزية الحكم عليها بعد. توسيع تلك الحدود هو التحدي القادم. أؤمن بأن هناك طريقاً لجلب حتى اللغة الطبيعية إلى داخل حدود التحقق.

صنع النموذج أذكى أقل فعالية من جعل التغذية الراجعة التي تُعاد إليه أدق.


تفويض القرارات

حقيقة أن القرارات لا ينبغي تفويضها للذكاء الاصطناعي بديهية. لكن أن يتحقق الإنسان من كل شيء ويقرره بنفسه عمل شاق. بعض القرارات المتكررة والنمطية يمكن أن تؤديها الأدوات الرمزية نيابةً عن الإنسان.

“هل يُغطّي هذا الاختبار جميع الفروع؟” — لا حاجة لأن يقرأه إنسان. أداة coverage تحكم. “هل يلتزم هذا الكود بقواعد البنية؟” — لا حاجة لمراجعة بشرية. validate تحكم. “هل بقيت دوال لم تُعالَج؟” — لا حاجة لأن يعدّها إنسان. CLI تُعلن.

القرارات التي لا يمكن تفويضها للذكاء الاصطناعي يمكن تفويضها للأدوات الرمزية. لأنها حتمية لا احتمالية. هذا هو سبب وجود Symbolic Feedback Loop.

بناء قطار أسرع أقل أهمية من مدّ السكة.

كثيرون يبنون القطارات. لكن من يمدّ السكك لا يزال قلة.