Install
uv tool install 'git+https://github.com/00200200/[email protected]'Repro Lens أداة للتحقق من قابلية إعادة الإنتاج موجهة لوكلاء تعلّم الآلة والبرمجة: تفحص مخاطر إعادة الإنتاج في الكود، وتعيد تشغيل التجارب وتقارن المخرجات قبل التغيير وبعده. إذا كنت قد عدّلت كود تعلّم الآلة وتريد التأكد من عدم تضرر نتائج التجربة، فهذا هو استخدامها الأساسي؛ الفحص الساكن يتطلب فقط Python 3.11+ وGit، ولا يحتاج إلى اعتماديات ML أو مفتاح API، أما إعادة تشغيل التجارب فتتطلب اعتماديات التجربة نفسها، ويجب أن تُشغَّل بشكل صريح من قبلك.
لمن هذه الأداة
- مهندسو ML/الباحثون الذين يحتاجون إلى التحقق من قابلية إعادة إنتاج التجارب قبل تعديل الكود وبعده، والفرق التي تُهيّئ سير عمل تدقيق لإعادة الإنتاج لوكلاء البرمجة.
- المستخدمون الذين يريدون الفحص الساكن فقط: لا حاجة إلى اعتماديات ML أو مفتاح API، والكود المفحوص لا يُستورد ولا يُنفَّذ، والمخرجات هي نتائج ساكنة مع مواقع الملفات.
- الحالات غير المناسبة: بدون بيئة Git لا يتاح أي من مساري التثبيت؛ وإذا كان Python أقل من 3.11 فلن يعمل الفاحص الساكن. عدا المتطلبات المذكورة، لم توضح المصادر أي متطلبات نظام أخرى، ولم يُذكر رسميًا ما إذا كانت تدعم أنظمة مثل Windows.
- ما لم تذكره الأدلة لا يجوز افتراضه: لم تُعلن الأداة لغات النصوص أو الكود المدعومة، ولم تُعلن عملاء الوكلاء المتاحين عليها.
أول محاولة خلال 3 دقائق
المتطلبات المسبقة: Python 3.11+ وGit وuv مثبتة على جهازك. المسار الرئيسي الموصى به هو التثبيت بإصدار مثبت من المستودع الرسمي عبر uv:
uv tool install 'git+https://github.com/00200200/[email protected]'
الطريقة البديلة هي التثبيت باستخدام pip داخل بيئة افتراضية من نفس رابط Git (يتطلب Git أيضًا)، وهي خيار ثانوي فقط ولا تُعد مدخلًا رئيسيًا آخر.
بعد التثبيت، ابدأ بفحص ساكن منخفض المخاطر للقراءة فقط: في مشروعك، اطلب من الوكيل أو الطرفية المهمة «استخدم repro-lens check للتحقق مما إذا كان هذا الملف يحتوي على مخاطر معروفة لإعادة الإنتاج». العملية الأساسية المقابلة هي check: تقدم نتائج ساكنة مع مواقع الملفات، ولا يُستورد الكود المفحوص أبدًا. إشارة النجاح هي ظهور نتائج مع مواقع الملفات في المخرجات (حتى إذا كانت النتيجة «عدم وجود مخاطر» فهذا يعني نجاح التشغيل).
ملاحظة: check عملية تشخيصية، وهذا يعني فقط أنها لا تستورد الكود المفحوص؛ أما ما إذا كانت تقرأ أو تكتب الملفات أو تنفذ أوامر أو تصل إلى الشبكة، فلم توضحه المصادر ولا يمكن تأكيده. إعادة تشغيل التجارب (verify، وتتطلب تطابق المخرجات المُعلنة عبر التشغيلين) تنفذ التجربة فعليًا وتُعد عملية ذات آثار جانبية، فلا تستخدمها في المحاولة الأولى؛ وإذا أردت استخدامها، فتأكد أولًا من اكتمال اعتماديات التجربة وأكّد بوضوح قبل التشغيل.
حالات الاستخدام
الحالة الأولى: تدقيق ساكن قبل تعديل سكربت التدريب. اطلب من الوكيل «شغّل repro-lens check على سكربت التدريب». تنفذ الأداة عملية check وتعيد نتائج ساكنة مع مواقع الملفات دون استيراد كودك. يمكنك بناءً على ذلك الحكم على ما إذا كان التعديل قد أدخل مخاطر معروفة لإعادة الإنتاج؛ أما التفاصيل خارج المصادر (مثل قائمة القواعد المحددة) غير متوفرة، فلا يمكن التأكيد إلا إلى حد «الحصول على نتائج مع المواقع».
الحالة الثانية: مقارنة المخرجات بعد الإصلاح. المتطلب المسبق هو أنك حفظت تقريرًا عبر سير العمل الرسمي قبل التعديل. اطلب من الوكيل «استخدم verify في repro-lens لإعادة تشغيل التجربة، ثم استخدم compare لمقارنة التقريرين المحفوظين». تتطلب verify تطابق المخرجات المُعلنة تمامًا عبر التشغيلين، بينما تُستخدم compare للمقارنة (diff) بين التقارير المحفوظة. النتيجة المتوقعة: نجاح verify يعني تطابق المخرجات مع المُعلن، وتعطي compare فروقات التقرير. إعادة التشغيل تتطلب اعتماديات التجربة نفسها، وهي أمر صريح—فالأداة لن تعيد التشغيل تلقائيًا نيابة عنك.
حدود الاستخدام
- الوصول إلى الملفات والأوامر:
checkلا تستورد الكود المفحوص؛ وverifyتنفذ التجربة (مع الحاجة إلى الاعتماديات)، وإعادة التشغيل دائمًا أمر صريح، وخطاف pre-commit (المستودع repro-lens، والإصدار rev v0.3.0، والمعرف id repro-lens) يفحص الكود وسياسات المشروع فقط ولا يعيد التشغيل تلقائيًا. ما إذا كان ذلك يتضمن وصولًا إلى الشبكة غير مذكور رسميًا. - نقاط التأكيد: أي عملية تنفذ التجربة (verify) يجب التأكد قبل تشغيلها من إعدادات التجربة وآثارها الجانبية.
- فروقات التثبيت: يُوصى بالتثبيت عبر uv للإصدار المثبت v0.3.0؛ والتثبيت بـ pip داخل بيئة افتراضية هو البديل الرسمي. لم تذكر المصادر أي طريقة تثبيت عبر marketplace أو منصات أخرى، فلا تفترض ذلك.
- التكامل مع الوكلاء: يحتوي المستودع على skills/reproducibility/SKILL.md الذي يمكنه توجيه وكيل البرمجة الحالي لإجراء التدقيق أو الإصلاحات المُصرّح بها، وقاطعه التشغيلي يستدعي المحرك نفسه الذي تستدعيه واجهة CLI؛ والمستودع الكامل هو أيضًا إضافة Codex (يتضمن .codex-plugin/plugin.json). غير ذلك، لم تُدرج الجهات الرسمية قائمة بعملاء الوكلاء المدعومين تحديدًا.
- معلومات رئيسية غير مؤكدة: سلوك الشبكة، ونطاق لغات الكود المدعومة، وحدود القراءة والكتابة لـ
check/compare— لا يوجد لها أي توضيح رسمي، فاعتمد قبل الاستخدام على مستندات المستودع.