إطار عمل بحثي مستقل للذكاء الاصطناعي من قبل أندريه كارباثي يسمح لوكيل ذكاء اصطناعي (كلود/كودكس) بتعديل وتدريب وتقييم نموذج لغة كبير صغير بشكل متكرر على وحدة معالجة رسوميات واحدة طوال الليل — تشغيل حوالي 100 تجربة أثناء نومك.

Pythonautoresearchkarpathy 27.3k Last Updated: March 11, 2026

autoresearch — إطار عمل بحثي مستقل للنماذج اللغوية الكبيرة بالذكاء الاصطناعي


نظرة عامة

autoresearch هو إطار عمل تجريبي من أندريه كارباثي يقوم بأتمتة عملية تكرار البحث في الذكاء الاصطناعي/تعلم الآلة. الفكرة الأساسية بسيطة وأنيقة: امنح وكيل ذكاء اصطناعي (مثل Claude أو Codex) شفرة تدريب نماذج لغوية كبيرة حقيقية وعاملة، ودعه يقترح التغييرات بشكل مستقل، ويشغل تجارب تدريب مدتها 5 دقائق، ويقيم النتائج، ويكرر العملية — كل ذلك بدون تدخل بشري.

فكر فيه على أنه مختبر بحثي مصغر ومستقل للذكاء الاصطناعي يعمل طوال الليل على وحدة معالجة رسومات واحدة، وينتج سجلًا لحوالي 100 تجربة (ونأمل) نموذج لغوي أفضل تدريجيًا بحلول الصباح.


الخلفية والدافع

يفتتح كارباثي ملف README برؤية ساخرة للمستقبل — عالم حيث لم يعد البحث في الذكاء الاصطناعي يتم بواسطة البشر بل بواسطة "أسراب مستقلة من وكلاء الذكاء الاصطناعي تعمل عبر هياكل ضخمة لمجموعات الحوسبة". يكتب أن المستودع هو "قصة كيف بدأ كل شيء".

الدافع العملي أكثر واقعية: تكرار البحث بطيء لأن البشر يحتاجون إلى الأكل والنوم وحضور الاجتماعات. يستبدل هذا المشروع الإنسان في الحلقة بوكيل ذكاء اصطناعي يمكنه تشغيل التجارب على مدار الساعة طوال أيام الأسبوع، مما يجعل بحث تعلم الآلة أسرع وأكثر آلية بشكل كبير.


كيف يعمل

سير العمل هو حلقة تعديل → تدريب → تقييم → الاحتفاظ/التجاهل محكمة:

  1. يقرأ الوكيل program.md — ملف Markdown يحتوي على تعليمات البحث والسياق، مكتوب ومدار بواسطة الباحث البشري.
  2. يعدل الوكيل train.py — ملف Python الوحيد الذي يحتوي على بنية نموذج GPT، والمحسن (Muon + AdamW)، وحلقة التدريب. يمكن للوكيل تغيير أي شيء: البنية، المعلمات الفائقة، إعدادات المحسن، حجم الدفعة، إلخ.
  3. يستمر التدريب لمدة 5 دقائق بالضبط (وقت الساعة، باستثناء بدء التشغيل/التجميع).
  4. يتم حساب المقياس val_bpb (بتات التحقق لكل بايت) — كلما كان أقل كان أفضل. إنه مستقل عن حجم المفردات، لذلك يمكن مقارنة التغييرات المعمارية بشكل عادل.
  5. يقرر الوكيل ما إذا كان سيحتفظ بالتغيير أو يتجاهله، ثم يكرر.

ينتج عن هذا حوالي 12 تجربة/ساعة وحوالي 100 تجربة طوال الليل.


هيكل المستودع

autoresearch/
├── prepare.py       # ثابت: إعداد بيانات لمرة واحدة، تدريب مُرمّز BPE، مُحمّل بيانات، أدوات تقييم
├── train.py         # قابل للتعديل بواسطة الوكيل: نموذج GPT، مُحسّن، حلقة تدريب
├── program.md       # قابل للتعديل بواسطة الإنسان: تعليمات الوكيل وسياق البحث
├── analysis.ipynb   # دفتر ملاحظات لتحليل نتائج التجارب
├── pyproject.toml   # التبعيات (تتم إدارتها عبر uv)
└── progress.png     # صورة تشويقية تظهر تقدم التدريب

شرح الملفات الرئيسية

الملف المالك الغرض
prepare.py الإنسان (ثابت) تنزيل أجزاء البيانات، تدريب مُرمّز BPE، توفير مُحمّل البيانات وأدوات التقييم
train.py وكيل الذكاء الاصطناعي تطبيق GPT كامل + حلقة تدريب — صندوق رمل الوكيل
program.md الإنسان (قابل للتكرار) "مهارة" البحث / تعليمات للوكيل

فلسفة التصميم

1. ملف واحد للتعديل

يتعامل الوكيل فقط مع train.py. هذا يحافظ على نطاق يمكن إدارته ويجعل الاختلافات سهلة المراجعة. كما أنه يقيد مساحة إجراءات الوكيل بالتغييرات الهادفة في تعلم الآلة بدلاً من تغييرات البنية التحتية/الأدوات.

2. ميزانية زمنية ثابتة

كل تجربة تعمل لمدة 5 دقائق بالضبط من وقت التدريب بالساعة (باستثناء بدء التشغيل). هذا يضمن:

  • جميع التجارب قابلة للمقارنة بشكل مباشر بغض النظر عن التغييرات المعمارية (حجم النموذج، حجم الدفعة، إلخ)
  • يجد الوكيل أفضل تكوين للنموذج لأجهزتك المحددة
  • إنتاجية يمكن التنبؤ بها: ~12 تجربة/ساعة

المقايضة: النتائج غير قابلة للنقل عبر منصات حوسبة مختلفة (لا يمكن مقارنة تشغيل H100 بتشغيل A100).

3. مستقل

لا يوجد تدريب موزع، ولا ملفات تكوين معقدة، ولا بنية تحتية بحثية خارجية. فقط PyTorch + حفنة من الحزم الصغيرة، ووحدة معالجة رسومات واحدة، وملف واحد، ومقياس واحد. هذا يجعل المشروع سهل الفهم، والنسخ، والبناء عليه.

4. program.md كواجهة بشرية

بدلاً من ترميز وكيل بحث من الصفر، يستخدم كارباثي program.md كـ "مهارة" خفيفة الوزن — ملف Markdown يمنح وكيل الذكاء الاصطناعي السياق والأهداف والقيود. يقوم الإنسان بتكرار program.md بمرور الوقت لتحسين "شفرة منظمة البحث".


التفاصيل التقنية

النموذج والتدريب

  • يعتمد على نسخة مبسطة لوحدة معالجة رسومات واحدة من nanochat
  • يستخدم مُحسّن Muon + AdamW افتراضيًا (على الرغم من أن الوكيل يمكنه تغيير ذلك)
  • يدرب نموذجًا بأسلوب GPT من الصفر على أجزاء بيانات نصية تم تنزيلها
  • مُرمّز BPE تم تدريبه على البيانات نفسها عبر prepare.py
  • مقياس التقييم: val_bpb (بتات التحقق لكل بايت)

المتطلبات

  • وحدة معالجة رسومات: وحدة معالجة رسومات NVIDIA واحدة (تم الاختبار على H100)
  • Python: 3.10+
  • مدير الحزم: uv

البدء السريع

# 1. تثبيت uv (إذا لم يكن مثبتًا بالفعل)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. تثبيت التبعيات
uv sync

# 3. إعداد بيانات لمرة واحدة (~2 دقيقة)
uv run prepare.py

# 4. تشغيل تجربة تدريب واحدة (~5 دقائق)
uv run train.py

تشغيل الوكيل

ابدأ Claude أو Codex أو أي وكيل ترميز قادر في دليل المستودع (مع أذونات كتابة الملفات)، ثم قم بالموجه:

ألقِ نظرة على program.md ولنبدأ تجربة جديدة! لنقم بالإعداد أولاً.

سيقرأ الوكيل program.md، ويقترح تغييرًا على train.py، ويشغل التدريب، ويقيم النتيجة، ويكرر.


الأهمية والتأثير

autoresearch هو إثبات مفهوم للبحث الآلي في تعلم الآلة على نطاق صغير. بينما توجد أنظمة AutoML واسعة النطاق، فإن هذا المشروع جدير بالملاحظة لـ:

  • البساطة: شفرة المصدر الهادفة بالكامل تتكون من حوالي 3 ملفات
  • الشفافية: كل قرار يتخذه الوكيل يتم تسجيله ومراجعته
  • إمكانية الوصول: يعمل على وحدة معالجة رسومات استهلاكية/بحثية واحدة
  • الرؤية: يوضح جدوى قيام وكلاء الذكاء الاصطناعي بإجراء بحث حقيقي في تعلم الآلة بشكل مستقل

كما أنه يعمل كقالب لـ "برمجة منظمة البحث الخاصة بك عبر Markdown" — وهو نموذج قد يصبح قياسيًا مع تزايد قدرة وكلاء ترميز الذكاء الاصطناعي.


النسخ الملحوظة


ملخص

الخاصية القيمة
النوع إطار عمل وكيل بحث مستقل للذكاء الاصطناعي
الاستخدام الأساسي تجارب تدريب نماذج لغوية كبيرة آلية طوال الليل
واجهة الوكيل program.md (تعليمات Markdown)
مساحة إجراءات الوكيل train.py (نموذج GPT + حلقة تدريب)
مدة التجربة 5 دقائق (ثابتة)
الإنتاجية ~12 تجربة/ساعة، ~100 طوال الليل
المقياس val_bpb (بتات التحقق لكل بايت)
الأجهزة وحدة معالجة رسومات NVIDIA واحدة (تم الاختبار على H100)
الترخيص MIT

Star History Chart