ذاكرة المشروع
ذاكرة المشروع هي ما يعرفه Masaro عن مشروعك خارج أي مهمة بعينها: تقنياتك، وأعرافك، والقرارات التي اتخذتها وأسبابها. وهي الفرق بين وكيل يبدأ كل جلسة من الصفر وآخر يحضر وقد أُطلِع مسبقًا.
المشكلة التي تحلّها
كل جلسة وكيل تبدأ بفقدان ذاكرة. أخبرته خمس مرات «نستخدم Drizzle لا Prisma». وحسمت نمط معالجة الأخطاء قبل أسابيع، لكن جلسة الليلة تخترع نمطًا جديدًا بمرح. بلا ذاكرة مشتركة، تعيد كل جلسة اشتقاق قواعد مشروعك الأساسية (أو تخمينها)، ولا تخمّن جلستان بالطريقة نفسها. هذا انحراف، وهو يتراكم.
ما تحويه الذاكرة
- التقنيات والأدوات: اللغات وأطر العمل والمكتبات التي باركتها وتلك التي منعتها.
- الأعراف: التسمية، وتنظيم الملفات، وأنماط الاختبار، و«كيف نفعل الأشياء هنا».
- القرارات: الخيارات التي اتخذتها ومبرراتها، حتى لا يُعاد فتحها بصمت.
تتراكم الذاكرة أثناء عملك، من جلسات العصف الذهني ونشاط المهام وما تسجّله أنت. وبحلول الجلسة العاشرة يعرف Masaro معماريتك؛ فهي ليست استمارة تملؤها في اليوم الأول.
طبقتان: مساحة العمل والمشروع
للذاكرة طبقة أساس وطبقة مشروع. ذاكرة مساحة العمل هي قواعد البيت لكل ما تفعله هنا (التقنيات والأعراف السارية في كل مكان)، وتُحقن في كل محادثة داخل المساحة. أما ذاكرة المشروع فتُضاف فوقها للمحادثات المرتبطة بذلك المشروع، فتضع أعرافًا خاصة بـ«تطبيق الجوال» فوق أساس المساحة لا بدلًا منه. والمحادثة التي لا مشروع لها تحصل على ذاكرة المساحة رغم ذلك؛ فلا تحتاج مشروعًا لتبدأ الاستفادة منها.
كيف تُدار الذاكرة
الذاكرة ملفات عادية، لا صندوق أسود. فما يتعلّمه Masaro يعيش كملفات markdown. افتح الإعدادات ← الذاكرة لتقرأ كل ملف، مساحة العمل وكل مشروع جنبًا إلى جنب، ولتحرّر أيًّا منها أو تحذف الخطأ فيها. وما يراه الوكيل هو تمامًا ما تراه أنت.
و Masaro متحفّظ عن قصد بشأن ما يُكتب. فالحقائق تُلتقط فقط حين تُذكر صراحةً أو يُتّفق عليها بوضوح: «نستخدم Drizzle» ذاكرة؛ أما سؤال عابر عن Prisma فلا. والمعرفة البرمجية العامة لا تُخزَّن أبدًا؛ فوكيلك يعرف أصلًا كيف يتوسّط عنصر div. وحين يتضخّم ملف، يضغطه Masaro (القرارات نفسها بنثر أكثف) ليبقى السياق الذي يسحبه الوكلاء حادًّا بدل أن يتمدّد.
كيف يستخدمها الوكلاء
حين يتصل وكيل عبر MCP ويسحب مهمة، يأتي سياق المشروع معها قبل أول سطر كود. عمليًا، يستدعي الوكلاء get_project_context فيتلقّون الذاكرة (التقنيات والأعراف والقرارات) إلى جانب تفاصيل المهمة نفسها؛ بينما يغطّي get_workspace_context شكل اللوحة. فلا يحتاج الوكيل أن يسأل أي ORM تستخدم. إنه يعرف، لأنك قرّرت مرة واحدة وثبت القرار.
ما ليست هي
ليست نسخة من قاعدة كودك، ولا فهرس RAG فوق مستودعك. يخزّن Masaro النية والقرارات: الأشياء غير الموجودة في الكود، أو التي لا يستطيع الكود وحده تبريرها. فوكيلك يقرأ كودك أصلًا؛ وما لا يستطيع قراءته هو لماذا.
التالي: الملاحم والمهام والتبعيات · تسليم MCP