Code-Hinter
تصحيح بالذكاء الاصطناعي داخل VS Code
تمارين برمجة تُنشأ وتُسلَّم وتُصحَّح بالذكاء الاصطناعي دون مغادرة VS Code.
التقنياتTypeScriptVS Code API
Python
Flask
Next.js
Hugging Face Transformers
Supabase

نظرة عامة
في مقرر برمجة، تعيش التمارين عادةً في مكان، وكود الطلاب في مكان آخر، والتصحيح في مكان ثالث. في مشروع جماعي في École Centrale de Lyon، تساءلنا عمّا إذا كانت الحلقة كاملة يمكن أن تجري داخل المحرر الذي يستخدمه الطلاب أصلًا، مع بقاء الأستاذ صاحب القرار في ما يُعدّ إجابة صحيحة.
بنينا Code-Hinter: إضافة لـ VS Code، وخلفية Python/Flask، وتطبيق ويب مرافق بـ Next.js. يحدد الأساتذة التمارين مع حل مرجعي والمفاهيم التي يتوقعونها؛ ويسجّل الطلاب الدخول ويختارون تمرينًا ثم يقيّمون كودهم أو يسلّمونه من لوحة الأوامر (Command Palette). يفحص نموذج مفتوح صغير (SmolLM2-1.7B-Instruct) الكود وفق مفاهيم الأستاذ ويمنحه درجة لمدى قربه من الحل المرجعي.
علّمني المشروع أن ملاحظات الذكاء الاصطناعي لا تحظى بالثقة إلا عندما تكون المعايير صريحة وبيد المعلّم. بقي مشروعًا أكاديميًا ولم يُنشر خارج نطاق المقرر.
السؤال
هل يمكن للتصحيح المدعوم بالذكاء الاصطناعي أن يعيش حيث يعمل الطلاب أصلًا — في المحرر — مع احتفاظ الأساتذة بالتحكم في معايير التقييم؟
أهم الميزات
- أوامر في VS Code لتسجيل الدخول والخروج وتغيير التمرين وتقييم الكود وتسليمه للمقارنة.
- تقييم قائم على المفاهيم: لكل مفهوم أدرجه الأستاذ، يجيب النموذج بنعم أو لا مع شرح قصير ويشير إلى أخطاء الصياغة أو المنطق.
- درجة تشابه تقارن حل الطالب المسلَّم بكود الأستاذ المرجعي وتعيد درجة من 0 إلى 100.
- اقتراحات كود بالذكاء الاصطناعي في ملفات Python، تُستدعى بـ Ctrl+Space وتُعرض كعنصر إكمال يستبدل محتوى الملف بالكود المولَّد.
- تطبيق ويب بـ Next.js مع تسجيل دخول عبر Supabase ولوحتي تحكم منفصلتين للمعلّمين والطلاب لإنشاء التمارين وتعديلها والعمل عليها.
كيف يعمل
الأستاذ يحدد التمرين
يخزّن كل تمرين كود الأستاذ المرجعي والمفاهيم التي يجب أن تُظهرها الإجابة الصحيحة، مرتبطةً بالأساتذة والطلاب في نموذج علائقي بسيط.
الطالب يعمل في المحرر
تقرأ الإضافة الملف المفتوح وترسله إلى واجهة Flask (evaluate_code أو compare_code أو complete_code) مع التمرين المحدد.
النموذج يقيّم وفق المعايير
توجّه الخلفية أوامرها إلى SmolLM2-1.7B-Instruct عبر Hugging Face Transformers لفحص كل مفهوم، أو لإرجاع درجة تشابه واحدة من 0 إلى 100 مقابل الحل المرجعي.
النتيجة تعود إلى VS Code
تُعرض الاستجابة للطالب داخل المحرر، ويمنح تطبيق الويب المعلّمين والطلاب عرض لوحة تحكم للتمارين.
أمثلة



المدخل
POST /api/evaluate_code with the exercise's concepts and the student's code, e.g. "print([x for x in range(10)])"
المخرج
One line per concept in the format the grading prompt requires: "[nbr]) [yes/no], [explanation in 6 words]", with any syntax or logic error called out.
التقنيات المستخدمة
أوامر إضافة VS Code ومزوّداتها
الأوامر والإكمالات ونتائج webview
منطق الخلفية واستدلال النموذج
واجهة REST للتصحيح والتمارين
لوحات تحكم الويب للمعلّمين والطلاب
يشغّل SmolLM2-1.7B-Instruct للتصحيح
مصادقة تطبيق الويب وأدوار المستخدمين
ما تعلمته
- يجب أن تكون معايير التقييم صريحة وبيد المعلّم حتى تحظى ملاحظات الذكاء الاصطناعي بالثقة
الحدود
- مشروع أكاديمي جماعي؛ لم يُنشر خارج نطاق المقرر