Skip to content

Latest commit

 

History

History
292 lines (214 loc) · 14.4 KB

File metadata and controls

292 lines (214 loc) · 14.4 KB

English中文العربية

ARK

ARK — مجموعة أدوات البحث الآلي

أتمتة العمل الشاق، لا الاتجاه.

Python 3.9+ Apache 2.0 CI 8 وكلاء +11 مؤتمر 115 اختبار

الموقعالبداية السريعةPipelineAgentsالأوامر


يُنسّق ARK ٨ وكلاء ذكاء اصطناعي متخصصين لتحويل فكرة بحثية إلى ورقة علمية — بحث أدبي، تجارب Slurm، صياغة LaTeX، توليد أشكال، ومراجعة تكرارية — بينما تبقى في السيطرة عبر CLI أو بوابة الويب أو Telegram.

قدّم فكرة ومؤتمرًا مستهدفًا. ARK يتولى الباقي.

أوراق بحثية كتبها ARK

ورقة MMA
ضرب المصفوفات على المعالج: من البسيط إلى الفعّال
تنسيق NeurIPS • ٦ صفحات • ١٤ تكرارًا


ARK Pipeline

يمرّ ARK بثلاث مراحل متتابعة. مرحلة المراجعة تتكرر حتى تصل الورقة إلى الدرجة المستهدفة.

ARK Pipeline

المرحلة ما يحدث
Research خط أنابيب من ٤ خطوات: Deep Research → المُهيّئ (تمهيد البيئة والاستشهادات) → المخطط → المُجرِّب
Dev دورة تجا��ب تكرارية: تخطيط → تشغيل Slurm → تحل��ل → كتابة مسودة أولية
Review تجميع → مراجعة → تخطيط → تنفيذ → تحقّق، تكرار حتى الدرجة ≥ العتبة

دورة المراجعة

كل تكرار في مرحلة المراجعة يمرّ بـ ٥ خطوات:

دورة المراجعة

الخطوة الوصف
Compile LaTeX → PDF، عدّ الصفحات، استخراج صور الصفحات
Review تقييم الورقة ١–١٠، سرد المشكلات الكبرى والصغرى
Plan المخطط يُنشئ خطة عمل ذات أولويات
Execute الباحث + المُجرِّب يعملان بالتوازي؛ الكاتب يعدّل LaTeX
Validate التحقق من أن التغييرات تُترجَم بنجاح؛ إعادة إنتاج PDF

تتكرر الحلقة حتى يصل التقييم إلى عتبة القبول — أو تتدخل عبر Telegram.


ARK Agents

بنية ARK

الوكيل الدور
Reviewer يُقيّم الورقة وفق معايير المؤتمر ويُنشئ مهام تحسين
Planner يحوّل ملاحظات المراجعة إلى خطة عمل ذات أولويات
Writer يصيغ أقسام LaTeX ويُنقّحها بمراجع مُتحقَّقة عبر DBLP
Experimenter يصمم التجارب، يُرسل مهام Slurm، ويحلل النتائج
Researcher مسح أدبي عميق عبر واجهات أكاديمية (DBLP، CrossRef، Semantic Scholar)
Visualizer يُنشئ أشكالاً بـ Nano Banana وأبعاد لوحة مُدركة للمؤتمر
Meta-Debugger يكتشف التوقف، يشخّص الإخفاقات، ويُشغّل الإصلاح الذاتي
Coder يكتب ويُصحّح كود التجارب وسكريبتات التحليل

ما يميّز ARK

الأدوات الأخرى ARK
التحكم تعمل بلا إشراف، تنحرف عن النية، لا تصحيح أثناء التشغيل إنسان في الحلقة: توقف عند القرارات الحرجة، تدخّل عبر Telegram أو الويب
التنسيق تخطيطات مضطربة، أخطاء LaTeX، إصلاح يدوي LaTeX مُبرمَج + قوالب مؤتمرات (NeurIPS، ACL، IEEE…)
الاستشهادات LLM يختلق مراجع تبدو معقولة لكنها غير موجودة كل اقتباس يُتحقَّق عبر DBLP — لا مراجع وهمية
الأشكال أنماط افتراضية، أحجام خاطئة، لا مراعاة لقيود الصفحة Nano Banana + أبعاد لوحة وعرض أعمدة وخطوط دقيقة
العزل بيئة مشتركة — المشاريع تتداخل مع بعضها بيئة conda لكل مشروع، HOME معزول، عزل كامل متعدد المستأجرين
النزاهة LLM يحاكي النتائج بدلاً من تشغيل تجارب حقيقية موجّهات مضادة للمحاكاة + مهارات مدمجة تفرض التنفيذ الحقيقي

عزل البيئات

يعمل كل مشروع في بيئة conda مستقلة لكل مشروع، مُستنسخة من بيئة أساسية عند الإنشاء. هذا يضمن عزلاً كاملاً متعدد المستأجرين:

  • Python معزول — مجلد .env/ لكل مشروع بحزمه الخاصة
  • HOME معزول — كل مُنسق يعمل بمجلد المشروع كـ HOME
  • لا تلوث متبادلPYTHONNOUSERSITE=1 يمنع تسرب حزم المستخدم
  • توفير تلقائيark run وبوابة الويب يكتشفان ويستخدمان بيئة conda للمشروع؛ خط الأنابيب يُنشئها تلقائياً عند الحاجة
# بيئة conda تُنشأ تلقائياً عند أول تشغيل
# ark run يكتشفها ويستخدمها:
ark run myproject
#   Conda env: /path/to/projects/myproject/.env

نظام المهارات

يأتي ARK مع مهارات مدمجة — مجموعات تعليمات نمطية يحمّلها الوكلاء أثناء التشغيل لفرض أفضل الممارسات:

المهارة الغرض
research-integrity موجّهات مضادة للمحاكاة: الوكلاء يجب أن يُجروا تجارب حقيقية لا أن يختلقوا نتائج
human-intervention بروتوكول التصعيد: الوكلاء يتوقفون ويسألون عبر Telegram قبل الإجراءات غير القابلة للعكس
env-isolation فرض حدود البيئة لكل مشروع
figure-integrity التحقق من تطابق محتوى الأشكال مع البيانات؛ منع الرسوم البيانية الوهمية
page-adjustment الحفاظ على حدود الصفحات بتعديل كثافة المحتوى لا بحذف الأقسام

المهارات موجودة في skills/builtin/ وتُثبّت تلقائياً أثناء مرحلة التمهيد.


البداية السريعة

# التثبيت
pip install -e .

# إنشاء مشروع (معالج تفاعلي)
ark new mma

# التشغيل — ARK يتولى من هنا
ark run mma

# المراقبة المباشرة
ark monitor mma

# التحقق من التقدم
ark status mma

يرشدك المعالج عبر: مجلد الشيفرة، المؤتمر المستهدف، فكرة البحث، المؤلفين، بيئة الحوسبة، توليد الرسوم، وإعداد Telegram.

البدء من ملف PDF موجود

ark new mma --from-pdf proposal.pdf

يحلل ARK ملف PDF باستخدام PyMuPDF + Claude Haiku، ويملأ المعالج مسبقًا، ويبدأ من المواصفات المستخرجة.


مرجع الأوامر

الأمر الوظيفة
ark new <name> إنشاء مشروع عبر معالج تفاعلي
ark run <name> بدء الـ pipeline (يكتشف تلقائياً بيئة conda للمشروع)
ark status [name] التقييم، التكرار، المرحلة، التكلفة
ark monitor <name> لوحة مراقبة مباشرة: نشاط الوكلاء، اتجاه التقييم
ark update <name> إدخال تعليمات أثناء التشغيل
ark stop <name> إيقاف سلس
ark restart <name> إيقاف وإعادة تشغيل
ark research <name> تشغيل Gemini Deep Research بشكل مستقل
ark config <name> [key] [val] عرض أو تعديل الإعدادات
ark clear <name> إعادة تعيين الحالة للبدء من جديد
ark delete <name> حذف المشروع بالكامل
ark setup-bot إعداد بوت Telegram
ark list سرد جميع المشاريع وحالتها
ark webapp install تثبيت خدمة بوابة الويب

بوابة الويب

يتضمن ARK بوابة ويب لإدارة المشاريع وعرض الدرجات وتوجيه الوكلاء. تعرض البوابة شارات مراحل مباشرة (Research / Dev / Review)، حالة بيئة conda لكل مشروع، وتتبع التكلفة في الوقت الحقيقي.

الإعدادات

يتم تكوين تطبيق الويب عبر webapp.env الموجود في دليل إعدادات ARK (الافتراضي: .ark/webapp.env في جذر المشروع). يتم إنشاؤه تلقائيًا عند أول تشغيل لـ ark webapp.

المصادقة والوصول

  • SMTP: مطلوب لتسجيل الدخول بالرابط السحري. عيّن SMTP_HOST وSMTP_USER وSMTP_PASSWORD.
  • تقييد الوصول: استخدم ALLOWED_EMAILS (مستخدمون محددون) أو EMAIL_DOMAINS (مؤسسات كاملة).
  • Google OAuth: اختياري. عيّن GOOGLE_CLIENT_ID وGOOGLE_CLIENT_SECRET.

أوامر الإدارة

الأمر الوصف
ark webapp بدء التطبيق في الواجهة (مفيد للتصحيح).
ark webapp release وسم الكود الحالي ونشره في شجرة العمل الإنتاجية.
ark webapp install [--dev] تثبيت وبدء كخدمة systemd للمستخدم.
ark webapp status عرض حالة خدمة systemd.
ark webapp restart إعادة تشغيل خدمة التطبيق.
ark webapp logs [-f] عرض أو متابعة سجلات الخدمة.
تفاصيل الخدمة (إنتاج مقابل تطوير)
الإنتاج التطوير
المنفذ 9527 1027
اسم الخدمة ark-webapp ark-webapp-dev
بيئة Conda ark-prod ark-dev
مصدر الكود ~/.ark/prod/ (مقفل) المستودع الحالي (مباشر)
استدعاء المُنسق مباشرة
python -m ark.orchestrator --project mma --mode paper --max-iterations 20
python -m ark.orchestrator --project mma --mode dev

تكامل Telegram

ark setup-bot    # مرة واحدة: الصق رمز BotFather، كشف تلقائي لمعرّف المحادثة

ما تحصل عليه:

  • إشعارات غنية — تغيرات التقييم المنسقة، انتقالات المراحل، نشاط الوكلاء، والأخطاء
  • إرسال تعليمات — توجيه التكرار الحالي في الوقت الحقيقي
  • طلب PDF — أحدث ورقة مترجمة تُرسل للمحادثة
  • تدخل بشري — الوكلاء يصعّدون القرارات إليك قبل الإجراءات غير القابلة للعكس
  • متوافق مع HPC — يدعم شهادات SSL الموقّعة ذاتياً على شبكات المؤسسات/HPC

المتطلبات

  • Python 3.9+ مع pyyaml و PyMuPDF
  • Claude Code CLI مثبّت ومصادق عليه
  • يُنصح باشتراك Claude Max — يستهلك رموزًا كثيرة
  • اختياري: LaTeX (pdflatex + bibtex)، Slurm، google-genai للرسوم الذكية
# إنشاء بيئة conda الأساسية
conda env create -f environment.yml         # Linux (ينشئ "ark-base")
# أو لنظام macOS:
conda env create -f environment-macos.yml   # macOS (ينشئ "ark-base")

pip install -e .                    # الأساسي
pip install -e ".[research]"       # + Gemini Deep Research و Nano Banana

المؤتمرات المدعومة

NeurIPS • ICML • ICLR • AAAI • ACL • IEEE • ACM SIGPLAN • ACM SIGCONF • LNCS • MLSys • USENIX — بالإضافة إلى أسماء بديلة لـ PLDI، ASPLOS، SOSP، EuroSys، OSDI، NSDI، INFOCOM، وغيرها.

الرخصة

Apache 2.0

بُني في مختبر SANDS، جامعة الملك عبدالله للعلوم والتقنية