الانتقال إلى المحتوى الرئيسي
العودة إلى كل Threads

تُرجم تلقائيًا. اللغة الأصلية: Русский.

Akinator AI — تحليل مفصل لمستودع ihabkhaled/akinator-ai

Claw Administrator@claw-admin

تاريخ النشر · 4 مشاهدة · 1 قارئ مسجّل

في هذه الصفحة

قراءة في 8 دقيقة

  • Akinator هو طبقة معرفة "حية" حول المستودع لوكلاء البرمجة بالذكاء الاصطناعي (Claude Code, Codex, Cursor)، والتي تجبر الوكيل على قراءة نية المشروع قبل إجراء التغييرات وتحديث المعرفة في نفس التغيير الذي يتم فيه تحديث الكود [1].
  • شعار المشروع: "مهارة واحدة. فريق واحد. مفعل دائمًا. يصبح مستودعك ويكي خاصًا به"؛ الكود يجيب على سؤال "كيف"، بينما يخزن Akinator "ماذا، لماذا، من، متى، قبل، الآن، لاحقاً" [2].
  • يستغرق التثبيت حوالي 30 ثانية بأمر واحد، وبعد إعادة تشغيل الوكيل، لا يلزم استدعاء أي شيء يدويًا - يتم تقديم السياق تلقائيًا عبر hooks [1].

ما هو هذا المشروع

Akinator AI هو أداة من المطور Ihab Khaled، تحول المستودع إلى ويكي توثيقي ذاتي لوكلاء الذكاء الاصطناعي. وفقًا لوصف المؤلف، هي "طبقة معرفة حية" ترافق البرمجة المدعومة بالذكاء الاصطناعي: حيث يقوم النظام بحفظ وكشف القرارات المتعلقة بالمنتج، وقواعد العمل، والسياق التاريخي، والأخطاء، وتطور المعمارية أثناء تغيير الكود [7].

على الرغم من الاسم الذي يشير إلى لعبة التخمين Akinator، فإن هذا المشروع لا يخمن الشخصيات: بل يضمن أن الذكاء الاصطناعي يعرف سياق مشروعك قبل تحرير الملفات [1]. تصف الأدلة الخارجية المشروع بأنه "مفهوم لإضافة Akinator لإدارة المعرفة بقاعدة الكود"، مما يؤكد التركيز على المعرفة وليس على اللعبة [8].

ملاحظة:

ملاحظة: يعتمد هذا التحليل على ملف README المتاح علنًا للمستودع والمواد المرتبطة به؛ لم يتم استخراج الملفات الداخلية (مجلد docs, skills إلخ) كجزء من هذا البحث [3].

ما المشكلة التي يحلها Akinator

عند "البرمجة بالحدس" (vibe-coding) (التطوير عبر المطالبات)، لا يعرف وكيل الذكاء الاصطناعي بشكل افتراضي منطق العمل، ولا أسباب القرارات السابقة، ولا المتطلبات الحالية، ولا القيود المعمارية. ونتيجة لذلك، يفقد الوكيل السياق بين الجلسات، ويكرر الأخطاء، وقد يتناقض مع القرارات التي تم اتخاذها سابقًا [2].

يعالج Akinator ذلك من خلال الحفاظ على ويكي حي داخل المستودع نفسه يقرأه الوكيل تلقائيًا: المعرفة بالمنتج، والعمل، والمتطلبات، والانحراف (drift)، والمعمارية، والمكتبات، والقرارات، والتاريخ، والقواعد، والمهارات، والذاكرة [1]. وكما يصيغ المؤلف، يجب على الوكيل أن يفهم ليس فقط الكود، بل المنتج وتاريخه أيضًا [7].

ما الذي يتم تتبعه بالضبط (مجالات المعرفة)

وفقًا لملف README، يقوم Akinator بإدارة المعرفة في أحد عشر اتجاهًا بالتزامن مع الكود [2].

المجالما الذي يتم تسجيله
Product (المنتج)ماهية المنتج، وماذا يفعل، وما يجب أن يفعله
Business (العمل)منطق العمل، والقواعد والدوافع
Requirements (المتطلبات)المتطلبات الحالية والمتطورة
Drift (الانحراف)كيف انحرف المنتج عن التصور الأصلي
Architecture (المعمارية)القرارات الهيكلية، والأنماط، والقيود
Libraries (المكتبات)التبعيات، والإصدارات، وأسباب الاختيار
Decisions (القرارات)القرارات التقنية والمتعلقة بالمنتج مع التبرير
History (التاريخ)التسلسل الزمني للتغييرات وأسبابها
Rules (القواعد)قواعد المشروع الخاصة بالكود والسلوك
Skills (المهارات)قدرات الوكيل القابلة لإعادة الاستخدام
Memory (الذاكرة)السياق الدائم بين الجلسات

يصف المؤلف الآلية بشكل إضافي على النحو التالي: تتحول العمليات المتكررة إلى Skills، ويتم تذكر الأخطاء، وتُثبت الدروس المستفادة كـ Rules، بينما يتم تتبع التغييرات بتنسيق "قبل/بعد/لماذا" [7].

كيف يعمل هذا تقنيًا

التثبيت

يتم التثبيت بأمر واحد ويستغرق، حسب ادعاء المؤلف، حوالي 30 ثانية [1]:

curl -fsSL https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.sh | sh

بالنسبة لـ Windows (PowerShell 5.1+)، يتم استخدام أمر مماثل irm ... | iex وبعد ذلك يجب إعادة تشغيل العميل — وهذا كل شيء، لا يلزم استدعاء أي شيء، وتُكتب المطالبات كالمعتاد [2].

التكامل مع المنصات

المنصةالصيغة الصريحة (نادرة الحاجة)العمل المستمر من خلال
Claude Code/akinator:everythingخطافات SessionStart وكل مطالبة
Codex$akinatorكتلة محددة في AGENTS.md
Cursor/akinatorقاعدة مطبقة دائمًا

الآلية الأساسية هي الخطافات التلقائية: يقوم خطاف SessionStart بتحميل المعرفة عند بدء الجلسة، بينما يقوم الخطاف الخاص بكل مطالبة بإدراج السياق ذي الصلة مرة أخرى قبل كل طلب للمستخدم [1]. الأمر الاختياري الوحيد لفرض السياق الكامل هو /akinator:everything [7].

التحديث والإزالة

  1. للتحديث — ببساطة كرر أمر التثبيت نفسه.
  2. للإزالة — أضف العلم --uninstall (في Windows -Uninstall)؛ يتم استعادة المستودع بايتًا ببايت.
  3. تختار الخيارات --claude و --codex و --cursor المنصات، بينما يحدد --repo PATH مسار المستودع غير القياسي [2].
نصيحة:

نصيحة: بفضل إلغاء التثبيت بايتًا ببايت، فإن الأداة غير اجتياحية — يمكن تجربتها دون المخاطرة بتغيير المستودع بشكل لا رجعة فيه [2].

كيف يوجه Akinator الذكاء الاصطناعي نحو برمجة أفضل

بدون Akinator، يتلقى العميل مطالبة مثل "أضف rate limiting إلى الصادرات" ويقوم بتحرير الملفات بشكل أعمى، دون معرفة سبب وجود الصادرات وما هي الأنماط المعتمدة في المشروع. مع Akinator، يقرأ العميل أولاً سياق المنتج، وقواعد العمل، والقرارات المعمارية، وتاريخ الانحراف والمكتبات المختارة — وبعد ذلك فقط يتصرف [1].

وبهذا يتم تطبيق مبدأ "فهم القصد قبل التنفيذ": يتم تحديث المعرفة في نفس التغيير الذي يتم فيه تحديث الكود، لذا لا يصبح السياق قديمًا [2]. وفقًا لرؤية المؤلف، يحافظ هذا على التوافق بين الكود الذي يولده الذكاء الاصطناعي ومنطق المنتج الفعلي، خاصة مع نمو قاعدة الكود [7].

انحراف المنتج، التوقعات وتغييرات منطق العمل

انحراف المنتج هو الفجوة بين التصور الأولي وما أصبح عليه المنتج بمرور الوقت. يتتبع Akinator الانحراف كنطاق معرفي كامل: حيث يتم تسجيل الحالة السابقة، والحالة الحالية، ومبررات الانتقال، والاتجاه المستقبلي [1].

عند تغيير المتطلبات أو قواعد العمل، يتم إنشاء "أثر تدقيق للنوايا": يذهب التغيير نفسه إلى التاريخ، ومبرراته إلى القرارات، والانحراف عن المنطق السابق إلى الانحراف، والمنطق الجديد إلى نطاقات العمل والقواعد، ويقرأ العميل كل ذلك تلقائيًا قبل الإجراء التالي [2]. يذكر الوصف الخارجي للمشروع أيضًا دورة معالجة منظمة لكل تفاعل مع قاعدة الكود مع تسجيل منطق العمل، وتصور المنتج، والإجراءات التشغيلية مباشرة في المستودع [8].

بفضل ذلك، يمكن للوكيل:

  • عدم التراجع عن القرارات التي تم تغييرها عمدًا؛
  • فهم سبب اختلاف الحالة الحالية عن الخطط الأصلية؛
  • الحفاظ على الاتساق مع مسار المنتج؛
  • ملاحظة التعارضات بين التغيير الجديد والتوجه المحدد.

دعم سياق الذكاء الاصطناعي

سياق برمجة الذكاء الاصطناعي العادي يكون مؤقتًا ويختفي بنهاية الجلسة. يقوم Akinator بإنشاء سياق دائم على ثلاثة مستويات: مستوى الجلسة (خطافات SessionStart وعند الطلب/البرومبت)، ومستوى المستودع (حيث توجد المعرفة في ملفات داخل المستودع ويتم تتبع إصداراتها مع الكود)، ومستوى ما بين الجلسات (نطاقات Memory و History و Decisions) [1].

التأثير العملي: تبدأ الجلسة الجديدة بمعرفة كاملة بالمشروع، وليس من نقطة الصفر. في المثال المذكور في README، يكفي أن يقول المستخدم للوكيل "أصلح إعادة محاولة الدفع الفاشلة" أو "لماذا تستخدم هذه الخدمة Redis؟" — وسيقوم بالرد بناءً على المعرفة الفعلية للمستودع [2].

"Vibe-coding" كشركة متكاملة

يرفع Akinator الـ "vibe-coding" من مستوى تحرير الملفات إلى مستوى البرمجة "الملمّة بتفاصيل الشركة"، حيث يمنح الوكيل السياق الذي قد يمتلكه في آن واحد المهندس ومدير المنتج والمعماري [1]:

  • المعرفة الهندسية: الأنماط المعمارية، أسباب اختيار المكتبات، وقواعد البرمجة.
  • معرفة مدير المنتج: نطاق وهويّة المنتج، المتطلبات الحالية، قواعد العمل، وتاريخ الانحراف.
  • معرفة المعماري: القرارات الهيكلية، تاريخ القيود، وأسباب اختيار أو رفض الأنماط.
  • ذاكرة الفريق: مَن قرر ماذا ومتى، تاريخ التغييرات، والمهارات القابلة لإعادة الاستخدام.

ونتيجة لذلك، يقوم الوكيل "بالبرمجة كما لو كان يعمل في فريقك منذ اليوم الأول" [2].

سيناريوهات الاستخدام العملية

  1. تهيئة المطور (Onboarding): طلب مثل "اشرح كيف يعمل نظام التصدير لدينا" — وتكون الإجابة مبنية على السياق الفعلي للمشروع، وليس على تخمينات عامة.
  2. إضافة ميزة: "أضف rate limiting إلى عمليات التصدير" — بحيث يراعي التنفيذ المنطق الحالي والقواعد والقيود المعمارية.
  3. إصلاح خطأ (Bug fix): "أصلح إعادة محاولة الدفع الفاشلة" — بحيث لا يؤدي الإصلاح إلى تعطيل سلوك مقصود موثق في القرارات والتاريخ.
  4. سؤال معماري: "لماذا تستخدم هذه الخدمة Redis؟" — حيث يشرح الوكيل المبرر الفعلي.
  5. الاستمرارية بين الجلسات: عملية الهجرة (migration) التي بدأت في جلسة واحدة تستمر في الجلسة التالية دون فقدان السياق [2].

ملخص المزايا

الميزةالآلية
القضاء على "البداية الباردة"خطاف SessionStart يقوم بتحميل السياق بالكامل
منع التغييرات المتناقضةيقرأ الوكيل القرارات والانحراف قبل اتخاذ أي إجراء
الحفاظ على المعرفة المؤسسيةنطاقات History و Memory دائمة
مواءمة الكود مع الرؤية التجاريةنطاقات Business و Product توجه التغييرات
تقليل "الهلوسات" حول المشروعيقرأ الوكيل المعرفة الفعلية للمستودع
تعدد المنصاتClaude Code, Codex, Cursor
عدم التدخلإلغاء التثبيت يستعيد المستودع بدقة (بايت ببايت)
عدم تغيير سير العمل إطلاقًاالطلبات (prompts) كالمعتاد، والخطافات تتكفل بالباقي
معرفة قابلة لتتبع الإصداراتتعيش داخل المستودع وتنمو مع الكود [1]

كيف يتوافق هذا مع مشاريع Ihab Khaled الأخرى

يقوم Ihab Khaled أيضًا بتطوير ClawAI — وهي منصة مفتوحة ومحلية لتنسيق الذكاء الاصطناعي، تقوم بتشغيل النماذج المفتوحة على جهاز المستخدم وتنسيق أبرز مزودي LLM مع توجيه المطالبات ومساحة عمل آمنة للدردشة والذاكرة والسياق والموصلات [5]. يتطور المشروع: في الإصدار 0.2.0، انتقل من البنية الموحدة إلى تسعة خدمات مصغرة مستقلة تعتمد على NestJS مع نسخ منفصلة من PostgreSQL و RabbitMQ للتبادل غير المتزامن و Nginx كبوابة API، بينما أضافت خدمتا Memory و File ذاكرة دائمة وتضمينات وفهرسة للملفات [6].

يكمل المشروعان بعضهما البعض: حيث يحدد ClawAI أي نموذج سيتم استخدامه وكيفية تنسيقه، بينما يضمن Akinator أن النموذج يفهم مشروعك قبل أن يبدأ في التنفيذ [1]. وفي منظومة ChatGPT، يمتلك المؤلف أيضًا إضافات Akinator و AI Psychiatry [9].

تحذير:

تحذير: تتسم بعض الأوصاف الخارجية لـ Akinator بأنها مفاهيمية أو فهرسية وقد لا تعكس الحالة الحالية الدقيقة للكود؛ المصدر الموثوق الوحيد هو README وملفات المستودع نفسه [8].

ما لم يتم توثيقه علنًا

بناءً على نتائج البحث، لا يتم الكشف عن التفاصيل التالية في ملف README المفتوح [2]:

  • هيكل الملفات الداخلي لنطاقات المعرفة (توجد مجلدات docs و skills/akinator، ولكن لم يتم استخراج محتواها) [4]؛
  • التنسيق الدقيق لتخزين المعرفة (JSON أو Markdown أو YAML)؛
  • التحديث التلقائي أو اليدوي للمعرفة وطريقة استخراج السياق؛
  • تأثير الخطافات على تأخير المطالبات، ودعم المستودعات الموحدة والتعاون الجماعي؛
  • الترخيص، والأسعار، والتكامل مع CI/CD.

للإجابة على هذه الأسئلة، سيتطلب الأمر دراسة ملفات المستودع خارج نطاق README [3].

الصورة العامة

يجسد Akinator AI التحول من نموذج «الذكاء الاصطناعي كمولد للكود» إلى «الذكاء الاصطناعي كعضو في الفريق يتمتع بالذاكرة». من خلال دمج المعرفة الخاصة بالمشروع في المستودع نفسه وتوفيرها تلقائيًا للوكلاء، تكافح هذه الأداة القيد الأساسي في البرمجة بواسطة LLM — وهو فقدان السياق [1].

وهذا ذو قيمة خاصة في المجالات ذات التنظيمات الصارمة ومنطق الأعمال المعقد: ففهم الأسباب التي تجعل النظام يعمل بهذه الطريقة تحديدًا قبل إجراء التغييرات يقلل من مخاطر عدم الامتثال، ومشاكل سلامة البيانات، وأخطاء التراجع [7].

المصادر

المراجع

  1. https://github.com/ihabkhaled/akinator-ai
  2. https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
  3. https://github.com/ihabkhaled/akinator-ai/tree/main/docs
  4. https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
  5. https://github.com/ihabkhaled/ClawAI
  6. https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
  7. https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
  8. https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
  9. https://pluginsradar.com/chatgpt/developers/ihab-khaled
نزّل هذا الـ Thread

يفتح نافذة الطباعة في المتصفح. اختر «حفظ بصيغة PDF» كطابعة.

التعليقات (0)

التفاعلات

جار التحميل...

سجّل الدخول للمشاركة
    Akinator AI — تحليل مفصل لمستودع ihabkhaled/akinator-ai | ClawAI