PaT: Planning-after-Trial for Efficient Test-Time Code Generation
تقترح الورقة البحثية "التخطيط بعد التجربة" (PaT)، وهي سياسة تكيفية لتوليد الكود في وقت الاختبار تستدعي المخطط فقط عند فشل التحقق، مما يتيح تكويناً غير متجانس للنماذج يتسم بكفاءة التكلفة ويحسن بشكل كبير المقايضة بين التكلفة والأداء مقارنة بنهج التخطيط الجامد.
تخيل أنك تحاول حل لغز معقد، مثل مستوى صعب في لعبة فيديو أو مسألة رياضية شائكة. لديك فريق من المساعدين لمساعدتك، لكنهم يأتون بنوعين:
المتدرب السريع: سريع، وغير مكلف، وجيد في المهام البسيطة، ولكنه أحياناً يعلق في المسائل المنطقية الصعبة حقاً.
المهندس المعماري الخبير: بطيء، ومكلف، وبارع في تفكيك المشكلات الضخمة والمربكة إلى قطع أصغر يمكن إدارتها.
الطريقة القديمة: "خطط أولاً، ثم جرب لاحقاً"
تستخدم معظم أدوات البرمجة الحالية بالذكاء الاصطناعي استراتيجية تسمى "التخطيط قبل التجربة" (PbT).
فكر في هذا الأمر كأنك توظف المهندس المعماري الخبير للنظر في كل لغز لديك، حتى السهل منها. قبل أن تحاول حتى حل لغز بسيط، يقضي المهندس وقتاً طويلاً في رسم مخطط هندسي معقد.
المشكلة: هذا هدر للمال والوقت. فإذا كان اللغز سهلاً، كان بإمكان المتدرب حله في ثوانٍ دون الحاجة إلى مخطط. ولكن لأن النظام جامد، فإنه يدفع التكلفة العالية للمهندس لكل مهمة، سواء كانت مطلوبة أم لا.
الطريقة الجديدة: "جرب أولاً، ثم خطط لاحقاً" (PaT)
تقدم الورقة البحثية طريقة جديدة تسمى PaT (التخطيط بعد التجربة). وهي تقلب الموازين.
إليك كيف تعمل طريقة PaT، خطوة بخوة:
التجربة: أولاً، يأخذ المتدرب السريع محاولة لحل المشكلة فوراً. إنهم يحاولون حلها مباشرة.
الفحص: يقوم النظام بإجراء اختبار سريع لمعرفة ما إذا كان حل المتدرب قد نجح.
إذا نجح: رائع! انتهت المهمة. لقد وفرت ثروة لأنك لم تحتج إلى المهندس المعماري الخبير.
إذا فشل: يدرك النظام: "أوه، هذه المسألة صعبة حقاً".
التدخل: فقط عندما يفشل المتدرب، يستدعي النظام المهندس المعماري الخبير. لا يقوم المهندس بالتخمين فحسب؛ بل ينظر إلى سبب فشل المتدرب ويضع خطة محددة لتفكيك المشكلة الكبيرة إلى مهام فرعية أصغر.
الإنهاء: يقوم المتدرب بعد ذلك بحل تلك المهام الفرعية الأسهل، ومن ثم يتم تجميع الحل النهائي.
"العمل الجماعي المتنوع"
تقترح الورقة أيضاً هيكلاً ذكياً للفريق. فبدلاً من استخدام عقل واحد ضخم ومكلف لكل شيء، تستخدم PaT فريقاً مختلطاً:
المتدرب (نموذج ذكاء اصطناعي أصغر وأرخص) يقوم بـ 90% من العمل لأن معظم المشكلات هي في الواقع سهلة.
المهندس المعماري الخبير (نموذج ذكاء اصطناعي ضخم وقوي) يتم الاحتفاظ به كاحتياط، ولا يستيقظ إلا عندما يصطدم المتدرب بحائط مسدود.
لماذا يهم هذا؟
اختبر المؤلفون هذه الطريقة على العديد من تحديات البرمجة المختلفة. وهذا ما وجدوه:
إنها أرخص: من خلال تجنب خطوة "المهندس المعماري" المكلفة للمشكلات السهلة، خفضوا التكلفة بنحو 69% مقارنة بالطرق القديمة.
إنها أذكى: على الرغم من استخدامهم لإعداد أقل تكلفة، إلا أن النتائج كانت بنفس الجودة (أو أفضل) من استخدام نموذج ضخم ومكلف لكل شيء.
نقطة التوازن المثالية: وجدوا أن وجود نموذج صغير يقوم بالعمل الشاق، بتوجيه من نموذج كبير عند الضرورة، هو الطريقة الأكثر كفاءة للعمل. الأمر يشبه امتلاك سيارة سريعة للطرق السريعة وشاحنة قوية للطرق الوعرة فقط، بدلاً من قيادة شاحنة في كل مكان.
الخلاصة
تجادل الورقة البحثية بأنه لا ينبغي لنا معاملة كل مشكلة برمجية كما لو كانت تتطلب خطة فائقة التعقيد. معظم المشكلات بسيطة بما يكفي لحلها بمجرد محاولة سريعة. ومن خلال الانتظار لمعرفة ما إذا كانت المشكلة صعبة حقاً قبل إنفاق المال على خطة معقدة، يمكننا بناء أنظمة برمجة تكون أسرع وأرخص بكثير دون التضحية بالجودة.
ملخص تقني: PaT: التخطيط بعد التجربة لتوليد الكود بكفاءة عند وقت الاختبار
بيان المشكلة
بينما حققت النماذج اللغوية الكبيرة (LLMs) نجاحاً ملحوظاً في توليد الكود، فإن توسيع نطاق الحوسبة عند وقت الاختبار للتعامل مع المنطق الخوارزمي المعقد غالباً ما يؤدي إلى تكاليف استدلال باهظة. تتبنى الأساليب الرائدة الحالية بشكل أساسي سياسة التخطيط قبل التجربة (PbT) الصارمة (مثل FunCoder)، حيث يقوم المخطط بتفكيك المشكلات إلى مهام فرعية قبل أي محاولة لتوليد الكود. وتعد هذه الطريقة غير فعالة لأنها تطبق أعباء تخطيط مكلفة على جميع المشكلات، بما في ذلك جزء كبير من الحالات "السهلة" التي يمكن للنموذج حلها مباشرة دون تدخل. وبناءً على ذلك، تفشل هذه الأساليب غالباً في تحسين جبهة باريتو (Pareto frontier) للتكلفة مقابل الأداء، مما يجعل النماذج الأصغر التي تستخدم PbT أكثر تكلفة وأقل فعالية من النماذج الأكبر التي تستخدم الاستدلال القياسي.
المنهجية: التخطيط بعد التجربة (PaT)
يقترح المؤلفون منهجية التخطيط بعد التجربة (PaT)، وهي سياسة تكيفية تعكس نموذج PbT التقليدي. تعمل PaT على مبدأ أن التخطيط يجب أن يكون مورداً تفاعلياً، لا يُستدعى إلا عند فشل المحاولة المباشرة.
سير العمل الأساسي
مرحلة التجربة: بالنظر إلى مواصفات المشكلة x، يحاول نموذج التوليد (MG) أولاً حل المشكلة مباشرة باستخدام استراتيجية أخذ عينات أفضل من N (Best-of-N).
التحقق: يتم التحقق من المرشحات المولدة مقابل مجموعة اختبار T(x). يتم توفير حالات الاختبار إما من خلال المعيار المرجعي أو توليدها بواسطة نموذج لغوي كبير لضمان المتانة.
التصعيد التكيفي:
النجاح: إذا اجتاز أي مرشح جميع الاختبارات، تتوقف العملية فوراً، مع إعادة الحل دون أي عبء تخطيط إضافي.
الفشل: إذا فشلت جميع المرشحات، يفسر النظام ذلك كإشارة إلى أن تعقيد المشكلة يتجاوز قدرة التفكير المباشر للمولد. عندها فقط يتم استدعاء نموذج مخطط (Planner model - MP) قوي.
التفكيك: يقوم المخطط بتفكيك المشكلة الأصلية إلى مجموعة من المشكلات الفرعية. يتم حل هذه المشكلات الفرعية بشكل متكرر باستخدام نفس سياسة "التجربة أولاً".
التركيب: بمجرد التحقق من الحلول الفرعية، يتم تركيب حلولها في برنامج نهائي. إذا فشل الحل المركب، يتم استدعاء المخطط مجدداً مع المشكلة الأصلية ومجموعة الحلول الفرعية الناجحة السابقة كـ "سياق".
تكوين النماذج غير المتجانسة
لزيادة الكفاءة إلى أقصى حد، تستخدم PaT تكوين نماذج غير متجانسة:
المولد (Generator): نموذج أصغر وأكثر كفاءة من حيث التكلفة (sLM) يتولى محاولات التوليد عالية الكثافة.
المخطط (Planner): نموذج أكبر وأقوى (LLM) يتم تخصيصه حصرياً لتدخلات التخطيط غير المتكررة. هذا التقسيم للعمل يستفيد من الحدس القائل بأنه بينما يتطلب التفكيك المعقد تفكيراً قوياً، فإن المهام الفرعية الناتجة يمكن غالباً تنفيذها ببراعة بواسطة نماذج أصغر.
التفاصيل التقنية
توليد حالات الاختبار: للتعامل مع المعايوهات المرجعية ذات حالات الاختبار الشحيحة أو المفقودة (مثل MBPP)، تقوم PaT بتوليد حالات الاختبار صراحةً. وللحد من الضجيج الناتج عن الاختبارات المولدة، يستخدم النظام معيار نجاح صارم (اجتياز جميع الاختبارات) وقاعدة الهضبة (plateau rule): إذا لم يتحسن عدد مرات النجاح عبر التكرارات، يتوقف البحث لمنع الإفراط في التناسب مع النتائج الإيجابية الزائفة.
التلقين (Prompting): على عكس أساليب PbT التي تعتمد على التقييم الذاتي للنموذج لدرجة التعقيد، يتضمن تنبيه التخطيط في PaT توجيهاً صريحاً يتم تفعيله بواسطة إشارة "الفشل"، مما يضمن فهم النموذج لضرورة التفكيك.
المساهمات الرئيسية
السياسة التكيفية: تقديم PaT، التي تتجنب أعباء التخطيط غير الضرورية عبر استدعاء التفكيك فقط عند فشل التحقق.
التكوين غير المتجانس: الجمع الاستراتيجي بين مولدات صغيرة ومخططات كبيرة يفصل بين تكاليف التوليد والتخطيط، مما يحسن المقايضة بين التكلفة والأداء.
التحقق التجريبي: تقييم شامل عبر عائلات نماذج متعددة (Qwen3, Llama-3.1, DeepSeek-Coder) ومعايير مرجعية (HumanEval, MBPP, xCodeEval) مما يثبت كفاءة فائقة.
التحليل النظري: إثباتات رسمية (النظريات 1-3) تؤسس للشروط التي تتفوق فيها التكوينات غير المتجانسة على المتجانسة وتستنتج التكلفة المثلى لنموذج المولد.
النتائج التجريبية
تسجل الورقة تحسينات كبيرة في مقايضة التكلفة مقابل الأداء:
الأداء مقابل التكلفة: عبر المعايير المرجعية الأساسية، تتفوق PaT باستمرار على خط الأساس السابق PbT (FunCoder) بينما تستهلك، في المتوسط، 60% فقط من تكلفة الاستدلال.
تعزيز النماذج الصغيرة: يحقق نموذج صغير (Qwen3-4B) موجه بواسطة PaT متوسط Pass@1 بنسبة 83.13%، وهو ما يضاهي تشغيل قياسي لنموذج أكبر بثماني مرات (Qwen3-32B, 83.35%).
الكفاءة غير المتجانسة: في إعداد غير متجانس (مولد Qwen3-8B + مخطط Qwen3-32B)، يحقق النظام أداءً ضمن نطاق أقل من 1% من إعداد Qwen3-32B المتجانس، ولكنه يقلل تكلفة الاستدال النسبية إلى 31%.
عائد الاستثمار (ROI): تُظهر PaT عائداً على الاستثمار الحوسبي (ROI) أعلى بحوالي 2.4 ضعف مقارنة بـ FunCoder و 4.6 ضعف مقارنة بـ CodeT.
زمن الاستجابة (Latency): يؤكد تحليل زمن التنفيذ الفعلي أن PaT تقلل وقت التنفيذ بشكل كبير مقارنة بأساليب PbT، حيث تقترب التكوينات غير المتجانسة من زمن استجابة المولد الصغير وحده.
الأهمية والادعاءات
يزعم المؤلفون أن PaT ترسي جبهة باريتو جديدة ومتفوقة للتكلفة مقابل الأداء لتوليد الكود. توضح الورقة أن توسيع نطاق الحوسبة عند وقت الاختبار لا يجب أن يكون موحداً؛ فمن خلال تخصيص الموارد بذكاء بناءً على الصعوبة الجوهرية لمهام العمل، يمكن القضاء على الأعباء غير الضرورية دون التضحية بالأداء.
تجادل الورقة بأن نهج "التخطيط قبل التجربة" الصارم غير فعال جوهرياً لأنه يتجاهل توزيع صعوبة المهام. ومن خلال عكس هذا النهج إلى "التخطيط بعد التجربة"، تثبت PaT أن التخطيط المكلف هو مورد عالي التكلفة يجب تخصيصه بشكل تفاعلي. علاوة على ذلك، فإن نجاح التكوين غير المتجانس يشير إلى أن الطريقة الأكثر كفاءة من حيث التكلفة لتعزيز قدرة النظام ليست مجرد زيادة حجم نموذج واحد، بل حجز نماذج قوية استراتيجياً للمهام الحرجة والنادرة (التخطيط) مع الاعتماد على نماذج فعالة للمهام عالية الكثافة (التوليد).