Akinator AI: طبقة معرفية حية لوكلاء البرمجة بالذكاء الاصطناعي
Claw Administrator@claw-adminتاريخ النشر · 4 مشاهدة · 1 قارئ مسجّل
في هذه الصفحة
قراءة في 8 دقيقة
Akinator AI هي طبقة معرفية قابلة للتثبيت لوكلاء البرمجة بالذكاء الاصطناعي. فهي تجعل Claude Code و Codex و Cursor يقرأون قصد المستودع (repository) قبل تغييره، وتعمل على تنمية تلك المعرفة في نفس التغيير الذي يطرأ على الكود [1]. يصف المشروع نفسه بجملة تموضع واحدة: "مهارة واحدة. أمر واحد. مفعل دائماً. يصبح المستودع الخاص بك ويكي خاصاً به" [2]. ويصيغه مؤلفه، Ihab Khaled، على أنه طبقة سلوكية ترصد سبب اتخاذ القرارات، وليس فقط ما يقوم به الكود [3].
أهم النقاط
- يستهدف Akinator ثلاثة وكلاء: Claude Code و Codex و Cursor، حيث يتم دمج كل منهم من خلال آلية التوسع الأصلية الخاصة به [1].
- ويزعم أنه مفعل دائماً: لا حاجة لاستدعاء أي أمر أثناء العمل العادي بمجرد تثبيته [2].
- يقوم بتتبع المنتج، والأعمال، والمتطلبات، والانحراف (drift)، والبنية التحتية، والمكتبات، والقرارات، والسجل، والقواعد، والمهارات، والذاكرة [1].
- مسار تثبيته عبارة عن سكريبت shell أو PowerShell من سطر واحد، وعملية إلغاء التثبيت تعيد المستودع كما كان بدقة (byte for byte) [2].
- يتم قراءة حزمة المعرفة محلياً دون وجود daemon، أو شبكة، أو خدمة فهرسة [2].
ماهية المشروع في الواقع
الوعد الأساسي هو عكس تقسيم العمل المعتاد. الكود يحدد كيفية التنفيذ؛ بينما يحتفظ Akinator بـ ماذا، ولماذا، ومن، ومتى، وقبل، والآن، وبعد [1]. هذا التصور يضع الأداة فوق قاعدة الكود (codebase) بدلاً من أن تكون بداخلها: فهي طبقة من القصد المسجل التي يستشيرها الوكيل قبل تحرير الملفات.
يذكر ملف README أنه يتبنى الاصطلاحات التي يمتلكها المستودع بالفعل ولا يقوم أبداً ببناء ويكي موازٍ [2]. هذا الأمر مهم لتبني الأداة، لأنه يعني أن الأداة مصممة لتكون مكملة للمستندات الموجودة بدلاً من أن تكون مصدراً منافساً للحقيقة.
ملاحظة:ملاحظة: الاسم مستعار من لعبة التخمين Akinator، ولكن المستودع ليس لعبة تخمين شخصيات. القوائم الدليلية المستقلة التي تصفه بأنه لعبة تخمين هي قراءات خاطئة للعنوان [4].
التثبيت ودعم المنصات
عملية التثبيت قصيرة عن عمد. في macOS و Linux يتم جلب المثبت وتمريره إلى shell؛ وفي Windows يتم جلبه واستدعاؤه من خلال PowerShell [1]. بعد التثبيت، يقوم المستخدم بإعادة تشغيل الوكيل وكتابة الأوامر بشكل طبيعي، لأنه لا يوجد شيء صريح لاستدعائه [2].
| المنصة | الصيغة الصريحة (نادراً ما تكون مطلوبة) | آلية التشغيل الدائم |
|---|---|---|
| Claude Code | /akinator:everything | خطافات SessionStart وكل مطالبة (per-prompt) [1] |
| Codex | $akinator | كتلة مميزة في AGENTS.md [1] |
| Cursor | /akinator | قاعدة مطبقة دائماً [1] |
تشكل عدة خيارات للمثبت بصمة التثبيت. تختار --claude و --codex و --cursor المنصات؛ وتقوم --repo PATH بالتثبيت في مستودع واحد بدلاً من ملف تعريف المستخدم؛ بينما تقوم --ref REF بتثبيت إصدار محدد [2]. يتم إجراء التحديثات عن طريق إعادة تشغيل نفس سطر التثبيت، ويستخدم إلغاء التثبيت الأمر --uninstall (أو -Uninstall في Windows) [1].
نصيحة:نصيحة: تتطلب إضافات Cursor بيان سوق (marketplace manifest) خاصاً بها، وهو ما لا يوفره Akinator. لذلك، يوصي ملف README باستخدام المثبت لـ Cursor بدلاً من مسار الإضافة [2].
كيف يعمل التكامل الدائم
تختلف الآلية حسب المنصة ولكنها تخدم هدفاً واحداً: يجب أن يصل السياق دون أن يطلبه المستخدم. في Claude Code، يتم تفعيل الخطافات (hooks) عند بدء الجلسة ومرة أخرى قبل كل مطالبة (prompt) [1]. في Codex، تحمل كتلة محددة داخل AGENTS.md التعليمات [1]. وفي Cursor، تقوم قاعدة تُطبق دائماً بنفس المهمة [1].
يوفر Akinator أيضاً مسار ملحق لـ Claude Code. يتم إضافة المتجر عبر رابط HTTPS الخاص به، ويتم تحديثه باستخدام الأمر claude plugin marketplace update akinator وتحديثه عبر claude plugin update akinator@akinator [2]. وفي إضافة VS Code، يكتب المستخدم /plugins ثم يفتح Marketplaces ويضيف الرابط نفسه ويثبت الملحق [2].
يتعامل المثبت بتحفظ بشأن ملكية الملفات؛ فهو لا يلمس إلا الملفات التي تحمل شعار Akinator، ويحافظ على نهايات الأسطر الموجودة، ويحذر إذا كان الملف AGENTS.override.md سيحجب كتلة Codex [2].
مجالات المعرفة التي يحافظ عليها
النطاق الموثق لـ Akinator هو مجموعة من المجالات المسماة، يجيب كل منها على سؤال مختلف حول المشروع [1].
- Product — ماهية المنتج، وماذا يفعل، وما يجب أن يفعله [1].
- Business — منطق الأعمال، والقواعد، والدوافع [1].
- Requirements — المتطلبات الحالية والمتطورة [1].
- Drift — كيف ابتعد المنتج عن القصد الأصلي [1].
- Architecture — القرارات الهيكلية، والأنماط، والقيود [1].
- Libraries — التبعيات، والإصدارات، وسبب اختيارها [1].
- Decisions — القرارات التقنية وقرارات المنتج مع المبررات [1].
- History — الجدول الزمني للتغييرات وأسباب حدوثها [1].
- Rules — قواعد الترميز والسلوك الخاصة بالمشروع [1].
- Skills — قدرات الوكيل القابلة لإعادة الاستخدام [1].
- Memory — سياق مستمر عبر الجلسات [1].
يضيف وصف المؤلف تفاصيل إضافية لهذه الفئات؛ حيث يمكن تحويل العمليات المتكررة إلى مهارات (Skills)، ويتم تذكر الإخفاقات، وتُفرض الدروس كقواعد (Rules)، ويتم تتبع التغييرات من حيث الحالة قبل التغيير، وبعده، وسبب حدوثه [3].
تخطيط المستودع والمخرجات المولدة
توجد المهارة الأساسية في skills/everything/ كما يتضمن المستودع أيضاً دليل مهارات akinator [2, 5]. وللتوثيق شجرته الخاصة تحت docs [6].
تنطبق قاعدة تشغيلية حاسمة على المواد المولدة: يُعد دليل .agents/ وكل موجه (router) وصفحات الويكي المولدة مخرجات ناتجة؛ لذا يجب إعادة توليدها بدلاً من تحريرها يدوياً، مع تسجيل الأوامر في CLAUDE.md [2]. ويوجه ملف README القراء إلى المنطق التصميمي في ADR 0010 و ADR 0011 [2].
تحذير:تحذير: التحرير اليدوي للموجهات المولدة أو صفحات الويكي يكسر العقد الموصوف في README. قم بإعادة توليدها بدلاً من ذلك، باتباع الأوامر الموجودة في
CLAUDE.md[2].
كيف يعالج انحراف المنتج (product drift)
يتم التعامل مع الانحراف (Drift) كمجال أساسي وليس كمجرد تأثير جانبي. وبما أن الحالة السابقة، والحالة الحالية، ومنطق الانتقال، والتوجه المستقبلي كلها مسجلة [1]، يمكن للوكيل مراجعة هذا السجل قبل اتخاذ أي إجراء. ومن الناحية العملية، يدعم هذا أربعة سلوكيات:
- تجنب التراجع عن القرارات التي تم تغييرها عمداً [1].
- فهم سبب اختلاف الحالة الحالية عن الخطة الأصلية [1].
- البقاء متسقاً مع مسار المنتج [1].
- الإشارة إلى التضاربات بين تغيير جديد والتوجه المعتمد [1].
بناء "شركة في مستودع"
القيمة المقترحة العملية هي أن الوكيل يتصرف كما لو كان يشغل عدة أدوار في وقت واحد. فهو يحصل على منظور المهندس (البنية التحتية، خيارات المكتبات، قواعد البرمجة)، ومنظور مدير المنتج (النطاق، المتطلبات، قواعد العمل، الانحراف) وذاكرة الفريق (من قرر ماذا، ومتى، ولماذا) [1]. عندما يطلب المستخدم "إصلاح إعادة محاولة الدفع الفاشلة"، يمكن للوكيل مراجعة سياق المنتج، وقواعد العمل، والبنية التحتية، والمكتبات، والقرارات، وسجل الانحراف، وقواعد المشروع قبل لمس الكود [1].
هذا هو المعنى الذي تدعي به الأداة أنها تسمح للذكاء الاصطناعي بـ "البرمجة بالحدس" (vibe code) كشركة متكاملة: النموذج ليس أكثر ذكاءً، ولكنه مطلع بشكل أفضل. تتضمن المواد الداعمة لملف README صفحة لحالة العمل إلى جانب البنية التحتية، والتوافق، والقواعد، والسياق، والذاكرة، والسجل، والقوالب، وعقد ويكي حي [2].
قيود التصميم الجديرة بالمعرفة
تم تناول الأداء والخصوصية بشكل صريح. يصف ملف README الأداة بأنها رخيصة وسريعة، ويؤكد أنها تقرأ "حزمة المعرفة" بدلاً من الشجرة، دون استخدام أي daemon، أو شبكة، أو خدمة فهرسة [2].
بالنسبة للفرق القلقة بشأن الارتباط الحصري بالمورد (lock-in)، فإن الترخيص واضح: MIT، وفقاً لملف LICENSE الخاص بالمستودع [2]. كما يوفر المستودع فروعاً (branches) لأولئك الذين يرغبون في متابعة نشاط التطوير [7].
موقع المشروع بين مشاريع المؤلف الأخرى
يدير Ihab Khaled أعمالاً أخرى في نفس المجال العام. يوصف ClawAI بأنه لوحة تحكم للذكاء الاصطناعي تعتمد مبدأ "المحلي أولاً" (local-first)، حيث يقوم بتشغيل نماذج مفتوحة على جهاز المستخدم مع الاتصال بأفضل مزودي نماذج LLM، مع ميزات التوجيه والذاكرة والتنسيق (orchestration) [8]. يوثق سجل التغييرات الخاص به الإصدار 0.2.0، وهو انتقال من بنية أحادية (monolith) إلى تسع خدمات مصغرة NestJS مع مراسلات RabbitMQ، وNginx كبوابة واجهة برمجة تطبيقات (API gateway)، وحوالي عشرين حاوية تحت Docker Compose [9].
يعالج المشروعان طبقتين مختلفتين؛ حيث يحدد ClawAI أي نموذج يجب استخدامه، بينما يضمن Akinator أن النموذج المختار يفهم المشروع قبل اتخاذ أي إجراء [8][1]. أما لوحات مشاريع ClawAI وسير عمل CI الخاصة به فهي تندرج تحت اعتبارات البنية التحتية المنفصلة [10][11].
ما لم يتم توثيقه علناً
يغطي ملف README الذي تم جلبه عمليات التثبيت، وتكامل المنصة، والمجالات، وعقد الملفات المولدة، ولكن ليس كل شيء. إن تنسيقات الملفات الدقيقة المستخدمة لتخزين كل مجال، وما إذا كان الاسترجاع يستخدم التضمينات (embeddings) أو مطابقة الكلمات المفتاحية، وتكلفة زمن الاستجابة للخطافات (hooks)، وحل النزاعات بين إدخالات المعرفة، وسلوك المستودع الموحد (monorepo)، والتسعير، كلها أمور غير موصوفة في المواد التي تمت مراجعتها هنا [1, 2].
تضيف بعض القوائم الخارجية تفاصيل لا يؤكدها المستودع نفسه. تصف إحداها دورة مكونة من اثنتي عشرة محطة تشمل: السؤال، الحل، التدقيق، التخطيط، التنفيذ، التوثيق، تحويل المهارات (skillify)، وضع القواعد (rule)، وضع السياق (contextify)، التذكر (memoize)، الفهرسة والمزامنة (index-and-sync)، والتحقق، بالإضافة إلى أوامر لتهيئة المستخدمين الجدد، وتشغيل الدورة، وتدقيق طبقة المعرفة [13]. يجب التعامل مع ذلك كوصف ثانوي بانتظار التأكيد في المستودع المصدر.
ملاحظة:ملاحظة: المستودع ليس محرك بحث عام لقواعد المعرفة. المستودعات مثل AI-Powered-Knowledge-Base-Search تغطي استيعاب المستندات والاسترجاع الدلالي، وهي مشكلة مختلفة عن التقاط قصد المشروع لوكيل برمجة [12].
قائمة مراجعة الاعتماد
- اقرأ installer script قبل تشغيله، كما ينصح README نفسه [2].
- قم بتشغيل سطر تثبيت shell أو PowerShell، مع إضافة platform flags إذا تم استخدام agent واحد فقط [1].
- أعد تشغيل agent وقم بتقديم prompt بشكل طبيعي؛ لا يتطلب الأمر أي أمر صريح [2].
- حافظ على أن تكون routers وصفحات wiki المُنشأة مُعاد إنشاؤها، وليست معدلة يدويًا [2].
- أعد تشغيل سطر التثبيت للتحديث، واستخدم uninstall flag لاستعادة repository بايت ببايت [2].
الرهان الأوسع بسيط: الـ agent الذي يعرف "السبب" وراء codebase ينتج تعديلات متناقضة أقل من الـ agent الذي يرى الملفات فقط. Akinator هو محاولة لجعل هذه المعرفة محمولة، ومؤرشفة بإصدارات، وتلقائية [1].
المصادر
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
- https://github.com/ihabkhaled/akinator-ai/branches
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://github.com/ihabkhaled/ClawAI/projects
- https://github.com/ihabkhaled/ClawAI/actions/runs/30214522756/usage
- https://github.com/rikusato0/AI-Powered-Knowledge-Base-Search---Enrichment
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
المراجع
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/branches
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://github.com/ihabkhaled/ClawAI/projects
- https://github.com/ihabkhaled/ClawAI/actions/runs/30214522756/usage
- https://github.com/rikusato0/AI-Powered-Knowledge-Base-Search---Enrichment
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d