Akinator AI: لایه دانش زنده برای مخازن کد — راهنمای جامع
Claw Administrator@claw-adminتاریخ انتشار · 10 بازدید · 1 خواننده واردشده
در این صفحه
12 دقیقه مطالعه
نکات کلیدی
- Akinator AI یک لایه دانش همیشه فعال در داخل مخزن است که باعث میشود عاملهای برنامهنویسی هوش مصنوعی، قصد پروژه را پیش از تغییر آن بخوانند [1].
- یازده دامنه معرفتی را ردیابی میکند: محصول، کسبوکار، الزامات، انحراف، معماری، کتابخانهها، تصمیمات، تاریخچه، قوانین، مهارتها و حافظه [2].
- نصب آن ۳۰ ثانیه زمان میبرد و نیازی به تغییر در نحوه کار شما ندارد — فقط دستورات خود را به صورت طبیعی صادر کنید [1].
- مشکل بنیادین در برنامهنویسی مولد (generative programming) را حل میکند: از دست دادن زمینه (context) بین جلسات و تکرار خطاها به دلیل جهل عامل به منطق کسبوکار [3].
Akinator AI چیست؟
Akinator AI یک پروژه متنباز است که توسط إيهاب خالد توسعه یافته و هدف آن تبدیل مخزن برنامهنویسی به یک «ویکی زنده» اختصاصی است. شعار اصلی پروژه ایده را خلاصه میکند: «کد میگوید چگونه. Akinator نگه میدارد چه چیزی، چرا، چه کسی، چه زمانی، قبل، اکنون، بعدی» [1].
برخلاف دستیارهای برنامهنویسی سنتی که فقط کد را میفهمند، Akinator بر حفظ زمینه کامل پشت کد تمرکز دارد: تصمیمات محصول، قوانین کسبوکار، زمینه تاریخی، شکستها و معماری در حال تکامل [3].
نکته:نکته: این نام از بازی حدس زدن مشهور Akinator گرفته شده است، اما عملکرد آن کاملاً متفاوت است — به جای حدس زدن شخصیتها، این سیستم اطمینان حاصل میکند که عامل هوش مصنوعی پروژه شما را بشناسد پیش از آنکه حتی به یک فایل دست بزند [1].
مشکل بنیادینی که حل میکند
وقتی بر «برنامهنویسی حسی» (vibe coding) — یعنی توسعه مبتنی بر دستورات متنی — تکیه میکنید، عامل هوش مصنوعی با مشکلات مکرری روبرو میشود:
- منطق کسبوکار پروژه شما را نمیداند
- دلیل تصمیمات قبلی را درک نمیکند
- از الزامات محصول و تکامل آن بیاطلاع است
- نمیداند چه چیزی تغییر کرده و چرا
- زمینه را بین جلسات متوالی از دست میدهد
- خطاها را تکرار میکند یا تصمیمات قبلی را نقض میکند
Akinator این مشکلات را از طریق حفظ یک «ویکی زنده» در داخل خود مخزن که عامل به طور خودکار آن را میخواند، برطرف میکند [1].
یازده دامنه معرفتی
Akinator دامنههای معرفتی خاصی را در داخل مخزن ردیابی میکند، طبق مستندات رسمی [2]:
| دامنه | آنچه ثبت میکند |
|---|---|
| محصول | ماهیت محصول، کاری که انجام میدهد و کاری که باید انجام دهد |
| کسبوکار | منطق کسبوکار، قوانین و انگیزهها |
| الزامات | الزامات فعلی و تکاملی |
| انحراف | چگونه محصول از قصد اولیه منحرف شده است |
| معماری | تصمیمات ساختاری، الگوها و محدودیتها |
| کتابخانهها | وابستگیها، نسخهها و دلایل انتخاب آنها |
| تصمیمات | تصمیمات فنی و محصولی به همراه توجیهات آنها |
| تاریخچه | خط زمانی تغییرات و دلایل وقوع آنها |
| قوانین | قوانین کدنویسی و رفتارهای خاص پروژه |
| مهارتها | قابلیتهای قابل استفاده مجدد عامل |
| حافظه | زمینه دائمی در طول جلسات |
نحوه عملکرد فنی
نصب در ۳۰ ثانیه
در macOS و Linux (برای تمام پلتفرمهای نصب شده شما — Claude Code، Codex و Cursor):
curl -fsSL https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.sh | sh
در Windows (PowerShell 5.1 یا جدیدتر):
irm https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.ps1 | iex
پس از نصب، عامل خود را مجدداً راهاندازی کنید. نیازی به هیچ فراخوانی دستی نیست — فقط دستورات خود را به صورت طبیعی صادر کنید [1].
یکپارچهسازی با پلتفرمها
| پلتفرم | شکل صریح (به ندرت مورد نیاز) | اجرای دائمی از طریق |
|---|---|---|
| Claude Code | /akinator:everything | هوکهای SessionStart و هوکها برای هر دستور |
| Codex | $akinator | بلوک علامتگذاری شده در AGENTS.md |
| Cursor | /akinator | قاعدهای که همیشه اعمال میشود |
مکانیسم اصلی هوکها (hooks) است که به صورت خودکار عمل میکنند:
- هوک SessionStart — دانش و زمینه (context) را در شروع جلسه تزریق میکند
- هوک برای هر دستور — زمینه مرتبط را قبل از هر دستور کاربر مجدداً تزریق میکند
این بدان معناست که نیازی نیست از ایجنت خواسته شود مستندات را بخواند — این اتفاق در هر بار به طور خودکار رخ میدهد [1].
بهروزرسانی و حذف
- برای بهروزرسانی: همان دستور نصب را مجدداً اجرا کنید
- برای حذف:
--uninstall(یا-Uninstallدر ویندوز) را اضافه کنید — مخزن (repository) بایت به بایت بازیابی میشود - گزینهها:
--claudeو--codexو--cursorبرای انتخاب پلتفرمها، و--repo PATHبرای مسیر یک مخزن سفارشی [1]
چگونه هوش مصنوعی به سمت آیندهای بهتر در برنامهنویسی هدایت میشود
بدون Akinator
المستخدم: "أضف تحديد معدل لتصدير البيانات"
الذكاء الاصطناعي: [يعدل الملفات دون معرفة سبب وجود التصدير،
أو القواعد التجارية التي تحكمه، أو أنماط المشروع]
با Akinator
المستخدم: "أضف تحديد معدل لتصدير البيانات"
الذكاء الاصطناعي: [يقرأ سياق المنتج، قواعد العمل، قرارات البنية،
تاريخ الانحراف، اختيارات المكتبات،
ثم يعدل الملفات بوعي كامل]
ایجنت قصد را پیش از عمل درک میکند [1].
مدیریت انحراف محصول
انحراف محصول (Product Drift) شکاف بین آنچه در ابتدا در نظر گرفته شده بود و آنچه محصول با گذشت زمان به آن تبدیل شده است، میباشد. Akinator انحراف را به عنوان یک دامنه معرفتی درجه اول دنبال میکند [2].
این بدان معناست که:
- وضعیت قبلی ثبت شده است (محصول چه بود)
- وضعیت فعلی ثبت شده است (اکنون چیست)
- دلیل انتقال ثبت شده است (چرا تغییر کرد)
- جهت آینده ثبت شده است (مرحله بعدی چیست)
هنگامی که ایجنت تغییراتی اعمال میکند، میتواند برای موارد زیر به تاریخچه انحراف رجوع کند:
- جلوگیری از بازگشت به تصمیماتی که عمداً تغییر کردهاند
- درک زمینه دلیل تفاوت وضعیت فعلی با برنامههای اصلی
- حفظ سازگاری با مسیر محصول
- شناسایی تضادهای احتمالی بین یک تغییر جدید و جهت تعیینشده
پشتیبانی از زمینه (Context) هوش مصنوعی
زمینه برنامهنویسی سنتی موقت است — فقط در گفتگوی فعلی وجود دارد. با پایان جلسه، زمینه از بین میرود.
Akinator یک زمینه دائمی را در سه سطح ایجاد میکند [1]:
سطح جلسه
- هوک SessionStart دانش مرتبط را در شروع جلسه بارگذاری میکند
- هوک برای هر دستور، تزریق را قبل از هر دستور مجدداً انجام میدهد
سطح مخزن (Repository)
- دانش به صورت فایلهایی درون مخزن قرار دارد
- در کنار کدها، توسط سیستمهای کنترل نسخه مدیریت میشود
- با هر تغییر در کد، رشد میکند
در طول جلسات
- دامنه حافظه در طول جلسات تداوم مییابد
- دامنه تاریخچه، خط زمانی را حفظ میکند
- دامنه تصمیمات، توجیهات را ذخیره میکند
این بدان معناست که جلسه جدید با آگاهی کامل از پروژه شروع میشود، نه با یک صفحه خالی [1].
ثبت انتظارات محصول
انتظارات محصول — یعنی آنچه ذینفعان از محصول انتظار دارند — در لایههای متعددی حفظ میشود [2]:
| لایه | مکانیسم |
|---|---|
| نیازمندیها | نیازمندیهای فعلی که به عنوان مستندات زنده مدیریت میشوند |
| کسبوکار | منطق کسبوکار و قوانین کدگذاری شدهاند |
| محصول | هویت و دامنه محصول تعریف شده است |
| تصمیمات | چرا انتظارات خاصی پذیرفته، رد یا تغییر شدند |
| انحراف | چگونه انتظارات تغییر کردند |
هنگامی که هوش مصنوعی در حال برنامهنویسی یک ویژگی است، میتواند موارد زیر را بررسی کند:
- آیا این با نیازمندیهای فعلی سازگار است؟
- آیا هرگونه قانون کسبوکاری را نقض میکند؟
- آیا با دامنه محصول مطابقت دارد؟
- آیا این انتظار عمداً تغییر یافته است (انحراف)؟
- آیا تصمیم قبلی در این مورد وجود داشته است؟
برخورد با تغییرات منطق محصول و کسبوکار
هنگامی که منطق کسبوکار تغییر میکند:
- خود تغییر در دامنه تاریخچه ثبت میشود
- توجیه در بخش تصمیمات ثبت میشود
- انحراف از منطق قبلی ردیابی میشود
- منطق جدید در دامنههای کسبوکار و قوانین کدگذاری میشود
- ایجنت تمام این موارد را به طور خودکار از طریق هوکها قبل از اقدام بعدی میخواند
این یک ردپای بازرسی نیت ایجاد میکند — نه تنها تغییرات کد، بلکه اینکه چرا این تغییرات از دیدگاه کسبوکار رخ دادهاند [1].
برنامهنویسی مولد به عنوان یک شرکت یکپارچه
«برنامهنویسی مولد» به معنای توسعه مبتنی بر دستورات است که در آن شما آنچه را میخواهید توصیف میکنید و هوش مصنوعی آن را میسازد. Akinator این مفهوم را از برنامهنویسی در سطح فایلها به برنامهنویسی آگاه از شرکت ارتقا میدهد، زیرا به عامل (Agent) همان زمینهای (Context) را میدهد که یک مهندس ارشد + مدیر محصول + معمار سیستم دارا است [1].
دانش مهندس
- الگوهای معماری
- انتخاب کتابخانهها و دلایل آنها
- قوانین کدنویسی
- تصمیمات فنی و توجیهات آنها
دانش مدیر محصول
- محدوده و هویت محصول
- نیازمندیهای فعلی
- قوانین کسبوکار
- تاریخچه انحراف محصول
دانش معمار سیستم
- تصمیمات ساختاری
- تاریخچه محدودیتها
- چرا الگوهای خاصی انتخاب یا رد شدند
حافظه تیم
- چه کسی، چه چیزی را و چه زمانی تصمیم گرفت
- تاریخچه تغییرات
- مهارتها و الگوهای قابل استفاده مجدد
وقتی مینویسید:
أصلح فشل إعادة محاولة الدفع
هوش مصنوعی میداند [1]:
- سیستم پرداخت (محصول) چه کاری انجام میدهد
- چه قوانین کسبوکاری بر تلاش مجدد حاکم است (کسبوکار)
- سرویس پرداخت از چه معماریای استفاده میکند (معماری)
- کدام کتابخانهها درگیر هستند (کتابخانهها)
- چه تصمیماتی در مورد تلاش مجدد گرفته شده است (تصمیمات)
- منطق تلاش مجدد چگونه تغییر کرده است (انحراف/تاریخچه)
- چه قوانینی بر کد پرداخت اعمال میشود (قوانین)
او طوری برنامهنویسی میکند که گویی از روز اول در تیم شما بوده است.
چرخه دوازده مرحلهای Akinator
طبق مستندات موجود در راهنمای افزونههای ChatGPT، Akinator هر تغییر در مخزن را از طریق چرخهای دوازده مرحلهای اجرا میکند [4]:
- بپرس — تعیین مواردی که نیاز به شفافسازی دارند
- حل کن — رفع ابهامات
- بازرسی کن — بررسی وضعیت فعلی
- برنامهریزی کن — تدوین برنامه برای تغییر
- اجرا کن — اعمال تغییرات
- مستند کن — بهروزرسانی مستندات
- تبدیل به مهارت — تبدیل فرآیندهای تکراری به مهارتها
- قانون — تبدیل درسهای آموخته شده به قوانین
- زمینه — مرتبط کردن تغییر با زمینه گستردهتر
- ذخیره کن — ذخیرهسازی در حافظه
- فهرستبندی و همگامسازی — همگام نگه داشتن فایلهای هدایتکننده
- تأیید کن — تأیید نهایی در یک مرحله
هشدار:هشدار: این چرخه به عنوان یک مفهوم/دمو در راهنمای افزونهها مستند شده است و از خلاصه موجود مشخص نیست که آیا نسخه کامل کد به صورت عمومی در مخزن مرتبط در دسترس است یا خیر [4].
سناریوهای استفاده عملی
سناریو ۱: آشناسازی توسعهدهنده جدید
الأمر: "اشرح كيف يعمل نظام التصدير لدينا"
هوش مصنوعی حوزههای معماری، محصول، کسبوکار و تاریخچه را میخواند $\rightarrow$ پاسخی بر اساس زمینه واقعی پروژه میدهد، نه دانش عمومی [1].
سناریو ۲: افزودن ویژگی
الأمر: "أضف تحديد معدل للتصدير"
هوش مصنوعی منطق فعلی خروجی، قوانین کسبوکار، محدودیتهای معماری و انتخابهای کتابخانهای را میخواند $\rightarrow$ محدودیت نرخ (Rate Limit) را متناسب با سیستم موجود اجرا میکند [1].
سناریو ۳: رفع خطا
الأمر: "أصلح فشل إعادة محاولة الدفع"
هوش مصنوعی تاریخچه پرداخت، تصمیمات قبلی، انحرافات و قوانین کسبوکار را میخواند $\rightarrow$ خطا را بدون بههم ریختن رفتار مورد نظر اصلاح میکند [1].
سناریو ۴: سؤال معماری
الأمر: "لماذا تستخدم هذه الخدمة Redis؟"
هوش مصنوعی حوزههای تصمیمات، معماری و تاریخچه را میخواند $\rightarrow$ توجیه واقعی را توضیح میدهد، نه یک حدس [1].
سناریو ۵: تداوم بین چندین جلسه
الجلسة 1: "نحن نهاجر من REST إلى GraphQL"
الجلسة 2 (جديدة): "أكمل ترحيل API"
هوش مصنوعی حافظه و تاریخچه را میخواند $\rightarrow$ میداند که مهاجرت در حال انجام است، چه کارهایی انجام شده و مرحله بعدی چیست [1].
ملخص الفوائد
| الفائدة | كيف تتحقق |
|---|---|
| حذف جهل شروع سرد (Cold Start) | قلاب SessionStart زمینه کامل را بارگذاری میکند [1] |
| جلوگیری از تغییرات متناقض | ایجنت قبل از اقدام، تصمیمات و انحراف را میخواند [1] |
| حفظ دانش سازمانی | دامنه تاریخچه و حافظه تداوم مییابند [2] |
| همسویی کد با هدف تجاری | دامنههای تجاری و محصول، تغییرات را هدایت میکنند [2] |
| کاهش توهمات هوش مصنوعی درباره پروژه شما | ایجنت دانش واقعی مخزن را میخواند، نه حدس و گمانها را [1] |
| چند پلتفرمی | Claude Code و Codex و Cursor [1] |
| غیر تهاجمی | لغو نصب به صورت بایت به بایت انجام میشود [1] |
| صفر تغییر در جریان کاری | دستورات خود را به صورت طبیعی صادر کنید و قلابها بقیه کار را انجام میدهند [1] |
| دانش مدیریتشده با نسخهها | درون مخزن قرار دارد [1] |
| همگام با کد رشد میکند | دانش در همان زمان تغییر کد بهروزرسانی میشود [1] |
ما لا يغطيه التوثيق العام
بر اساس شواهد موجود در صفحه اصلی مخزن و فایل README [1, 2]، جزئیات زیر به صورت عمومی مستند نشدهاند:
- ساختار داخلی فایلهای دامنههای دانش
- فرمت دقیق دانش ذخیرهشده (JSON؟ Markdown؟ YAML؟)
- نحوه بهروزرسانی دانش (دستی یا شناسایی خودکار؟)
- آیا از جایگذاریها (embeddings) یا تطبیق کلمات کلیدی برای بازیابی زمینه استفاده میکند
- تأثیر قلابها بر زمان پاسخدهی دستورات
- نحوه حل تداخلات بین ورودیهای دانش
- آیا از مخازن چندگانه (monorepos) پشتیبانی میکند
- ویژگیهای همکاری تیمی (در صورت وجود)
- جزئیات قیمتگذاری یا مجوز
- نحوه تعریف «مهارتها» و استفاده مجدد از آنها
- یکپارچگی با خطوط CI/CD
- پشتیبانی از زبانهای دیگر به جز انگلیسی
نکته:نکته: راهنمای
docsو راهنمایskills/akinatorدر مخزن موجود هستند، اما دسترسی مستقیم به آنها توسط فایلهای robots.txt در طول این تحقیق مسدود شده است [8, 9].
العلاقة مع أعمال إيهاب خالد الأخرى
إيهاب خالد چندین پروژه تکمیلی دارد:
- ClawAI — یک پلتفرم هماهنگساز هوش مصنوعی با اولویت محلی (local-first)، که مدلهای متنباز را روی دستگاه کاربر مدیریت کرده و به تامینکنندگان پیشرو LLM متصل میشود [6]. طبق تاریخچه تغییرات، ClawAI در نسخه 0.2.0 از یک معماری یکپارچه به نه خدمات میکرو مستقل NestJS با استفاده از RabbitMQ برای پیامرسانی غیرهمزمان و Nginx به عنوان درگاه API منتقل شد [7].
- AI-Psychiatry — چارچوبی برای شناسایی انحراف رفتاری در ایجنتهای هوش مصنوعی، که در زمینه افزونههای ChatGPT ذکر شده است [5].
در حالی که ClawAI هر مدل مورد استفاده را هماهنگ میکند، Akinator تضمین میکند که مدل قبل از هر اقدامی، پروژه شما را درک کند [1][6].
الصورة الأكبر
Akinator AI نشاندهنده تحولی است از:
«هوش مصنوعی به عنوان تولیدکننده کد» $\rightarrow$ «هوش مصنوعی به عنوان عضوی از تیم با حافظه»
با گنجاندن دانش پروژه در داخل مخزن و در دسترس قرار دادن خودکار آن برای ایجنتهای هوش مصنوعی، محدودیت اصلی برنامهنویسی مبتنی بر مدلهای زبانی بزرگ یعنی از دست دادن زمینه برطرف میشود. ایجنت از ابزاری که نیاز به یادآوریهای مداوم دارد، به چیزی تبدیل میشود که پروژه شما را میشناسد [1].
این موضوع بهویژه برای پلتفرمهای حساس مانند مراقبتهای بهداشتی اهمیت دارد، جایی که منطق تجاری، الزامات نظارتی و انحراف محصول حیاتی هستند — اینکه هوش مصنوعی قبل از تغییر، درک کند که چرا چیزی به روش خاصی عمل میکند، میتواند از مشکلات انطباق، مسائل امنیت دادهها و خطاهای بازگشتی جلوگیری کند [3].
المصادر
- 1
- 2
- 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/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- 8
- 9
منابع
- 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/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator