المدونة

ذاكرة Grok Build بين الجلسات: الإعدادات والقيود

Markdown

كيفية تفعيل الذاكرة، ومكان حفظ الملاحظات، وآلية عمل /flush و/remember و/dream و/memory. أولوية الإعدادات والتحقق من الإدخالات وحذفها.

قراءة المقال كاملًا

يتمتع Grok Build، وكيل xAI الطرفي، بذاكرة تمتد بين الجلسات: إذ يمكنه تذكّر أعراف المشروع والقرارات وخطوات تصحيح الأخطاء الناجحة، ثم إضافة المعلومات ذات الصلة إلى سياق جلسة جديدة من دون تذكير. الميزة معطّلة افتراضيًا وتجريبية، ويمكن تفعيلها بإعداد واحد.

يستند هذا الوصف إلى الدليل الرسمي في مستودع xai-org/grok-build بتاريخ 20 سبتمبر 2026. لم يجرّب كاتب المقال الأصلي المنتج؛ بل وصف آلياته استنادًا إلى الوثائق، لا إلى اختبارات شخصية.

تتوفر في الوثائق معلومات عملية حول العمل مع Ailoot.

ماذا توفّر الذاكرة في Grok Build؟

الخلاصة الرئيسية

من دون الذاكرة، لا تتلقى جلسة Grok Build جديدة أي معلومات من الجلسات السابقة: لا الأعراف التي شرحتها ولا القرارات التي اتخذتها، ما لم تكن مسجلة في ملف تعليمات بالمستودع. عند تفعيل الذاكرة، يبحث الوكيل عن الملاحظات المحفوظة ويضيف تلقائيًا الملاحظات ذات الصلة إلى سياق الجلسة الجديدة. تُحفظ الملاحظات كملفات Markdown عادية يمكنك قراءتها وتحريرها.

على سبيل المثال، شرحتَ للوكيل في إحدى الجلسات أن المشروع يستخدم مسافتين للمسافة البادئة، وأن ترحيلات قاعدة البيانات تُشغّل بأمر منفصل، وأن وحدةً معينة تتولى معالجة المدفوعات. في جلسة جديدة، عليك تقديم هذه المعلومات مرة أخرى.

عند تفعيل الذاكرة، يستطيع Grok Build:

  • تذكّر أعراف المشروع التي شرحتها سابقًا؛
  • استخدام خطوات تصحيح الأخطاء التي نجحت من قبل؛
  • الاستناد إلى القرارات المعمارية في الجلسات اللاحقة؛
  • تجنّب إعادة السؤال عن أمور سبق أن أُجيب عنها.

الميزة تجريبية ومعطّلة افتراضيًا. ولا يتغير سلوك الوكيل إلى أن تفعّلها.

كيف تفعّل الذاكرة؟

الخلاصة الرئيسية

لتشغيل واحد، اضبط متغير البيئة GROK_MEMORY=1. ولإبقائها مفعّلة، أضف قسمًا باسم [memory] يحتوي على enabled = true إلى ~/.grok/config.toml. لكي تُضاف الملاحظات المحفوظة عند بدء العمل، ابدأ جلسة جديدة باستخدام /new بعد تفعيل الذاكرة.

لمرة واحدة، لتشغيل واحد:

GROK_MEMORY=1 grok

ينطبق المتغير على هذا التشغيل وحده. يُبقي الأمر export GROK_MEMORY=1 المتغير في الصدفة الحالية ويفعّل الذاكرة لكل عمليات grok اللاحقة من تلك الصدفة، إلى أن تنتهي جلسة الطرفية أو تشغّل export GROK_MEMORY=0.

بشكل دائم، عبر ملف الإعدادات. أضف ما يلي إلى ~/.grok/config.toml:

[memory]
enabled = true

داخل جلسة، من دون إعادة التشغيل: افتح /memory واضغط t.

ينطبق هذا المفتاح على الجلسة الحالية وحدها، ولا يُكتب في ملف الإعدادات. يمكنك استخدامه لتفعيل الذاكرة أو تعطيلها. يؤدي تعطيلها إلى إزالة إمكانية الوصول إلى أدوات الذاكرة، لكنه لا يحذف الملفات من القرص؛ ويؤدي تفعيلها مرة أخرى إلى إعادة فتح مساحة التخزين. ولا يمكن لهذا المفتاح تجاوز التعطيل الإجباري للذاكرة على مستوى العملية عبر GROK_MEMORY=0: يظل /memory غير متاح طوال الجلسة.

إذا حُدّدت الإعدادات في أكثر من موضع، يكون ترتيب أولويتها كما يلي:

  • يعطّل GROK_MEMORY=0 الذاكرة إجباريًا للعملية بأكملها، وله الأولوية القصوى.
  • يؤدي تعيين enabled = false صراحةً في ملف الإعدادات إلى تعطيل الذاكرة، حتى لو فعّلها إعداد بعيد مُدار.
  • يمكن تفعيل الذاكرة باستخدام GROK_MEMORY=1 أو enabled = true في ملف الإعدادات أو إعداد بعيد مُدار.
  • إذا لم يُحدّد أي شيء، تكون الذاكرة معطّلة.

تُضاف الملاحظات في أول دور من الجلسة. إذا فعّلت الذاكرة في أثناء العمل وأردت أن يبدأ الوكيل باستخدام معلومات المشروع المحفوظة، شغّل /new. ويمكنك التحقق من تفعيل الذاكرة في مخرجات grok inspect.

ماذا يسجّل Grok Build، وأين؟

الخلاصة الرئيسية

تُحفظ الملاحظات في ~/.grok/memory/ كملفات Markdown: ملف MEMORY.md عام لجميع المشاريع، وملف MEMORY.md منفصل لكل مشروع، وسجلات الجلسات. يُكتب ملخص نهاية الجلسة التلقائي من دون استدعاء للنموذج، وتُنشأ الملاحظات التفصيلية باستخدام /flush و/remember، بينما يجمع /dream الإدخالات المتفرقة حسب الموضوع.

بنية المجلد ~/.grok/memory/:

الموقعالنطاقالمحتويات
~/.grok/memory/MEMORY.mdعامحقائق وتفضيلات لجميع مشاريعك
~/.grok/memory/ + مجلد المشروع الذي يتضمن معرّفًا تجزئيًا + /MEMORY.mdالمشروعأعراف وسياق مستودع محدد
~/.grok/memory/ + مجلد المشروع الذي يتضمن معرّفًا تجزئيًا + /sessions/الجلساتملخصات وسجلات الجلسات الفردية

يُضاف تجزؤ قصير لمعرّف المستودع إلى اسم مجلد المشروع. يُستخدم عنوان origin البعيد بصيغة “organization/repository” للتعرّف إلى المشروع، أو مسار المجلد إذا لم يكن هناك مستودع Git. لذلك، تتشارك النسخ المستنسخة وworktrees (نسخ العمل المنفصلة لفروع Git) للمستودع نفسه ذاكرة مشروع واحدة: فما يتذكره الوكيل في نسخة يكون متاحًا في الأخرى.

تُنشأ الإدخالات بأربع طرق:

  1. ملخص تلقائي عند انتهاء الجلسة. عند انتهاء جلسة، يحفظ Grok Build ملخصًا موجزًا للنظام في السجل اليومي: عدد الرسائل، وما يصل إلى أول خمسة حوارات جوهرية، والتاريخ والوقت. يُنشأ الملخص من البيانات الوصفية من دون استدعاء للنموذج أو تأخير. تُتجاوز الجلسات القصيرة جدًا: إذا كان عدد الحوارات الجوهرية أقل من ثلاثة أو كان نصك أقل من 50 بايت، فلن يُنشأ أي إدخال. لا يتضمن الملخص الأدوات المستخدمة أو مسارات الملفات أو الأوامر. ويمكن تعطيل الملخصات التلقائية باستخدام الإعداد session.save_on_end = false.
  2. /flush—ملاحظة تفصيلية عند الطلب. يلخّص النموذج بهذا الأمر أهم النقاط في الجلسة الحالية: القرارات والأنماط وخطوات تصحيح الأخطاء ونتائج العمل مع واجهات API. يُكتب الملخص في سجل مؤرخ ويُفهرس للجلسات المستقبلية. توصي الوثائق بتشغيل /flush قبل ضغط السياق، وعند انتهاء جلسة تصحيح أخطاء ناجحة، وبعد اكتشاف أنماط مهمة.
  3. /remember—طلب صريح لتذكّر شيء ما. اكتب /remember always open PR links after sending أو قل للوكيل: “تذكّر أن...”. تظهر لوحة مراجعة قبل كتابة الإدخال: لا تُحفظ الملاحظة إلا بعد تأكيدك، ثم يظهر Memory saved to ~/.grok/memory/MEMORY.md في الموجز. تُسجّل معلومات المشروع في ملف MEMORY.md الخاص به؛ أما المعلومات المشتركة بين جميع المشاريع فتُسجّل في الملف العام.
  4. /dream—التجميع. يجمع الأمر السجلات والملاحظات المتفرقة حسب الموضوع ويحذف التكرارات لتحسين دقة البحث. ومثل /flush، ينفّذ النموذج عملية التجميع: يقرأ الإدخالات المتراكمة ويعيد تنظيمها ضمن موضوعات، لذا يُستحسن أن تراجع النتيجة دوريًا باستخدام /memory. يتوفر أيضًا وضع تلقائي: يتحقق Grok Build افتراضيًا من الشروط عند بدء التشغيل ومرة كل ساعة، ويبدأ التجميع عند مرور 24 ساعة على الأقل وتراكم 5 جلسات على الأقل. ويمكن ضبط الحدود في قسم [memory.dream] من ملف الإعدادات.

يُبحث عن الملاحظات عبر فهرس SQLite: يستخدم افتراضيًا البحث بالنص الكامل FTS5، وإذا جرى إعداد نموذج تضمين، يُضاف البحث الدلالي بالمتجهات.

كيف تصل الذاكرة إلى جلسة جديدة؟

الخلاصة الرئيسية

في أول دور من الجلسة، يبحث Grok Build في الذاكرة عن الإدخالات المرتبطة بالمشروع ويضيفها تلقائيًا إلى السياق، فلا تحتاج إلى تذكيره. ويُعاد البحث بعد ضغط السياق تلقائيًا. وتُعلّم إدخالات الجلسات الأقدم للتحقق من حداثتها.

يستخدم الإدراج الأولي عتبة اختيار min_score = 0.9، ويمكنك تغييرها في قسم [memory.initial_injection]. بعد ضغط السياق تلقائيًا، يبحث الوكيل في الذاكرة مرة أخرى لاستعادة معلومات ربما أُزيلت من السياق مع الحوارات الأقدم.

يمكنك أيضًا أن تسأل الوكيل مباشرة: “ماذا تتذكر؟”. وسيجمع إجابته بحسب المصدر: التفضيلات العامة ومعرفة المشروع وسجل الجلسات.

تتضمن إدخالات الجلسات مؤشرات للحداثة. وكلما كان إدخال سجل الجلسة أقدم، زاد إبراز التنبيه: “تحقق من أن هذه المعلومات ما زالت سارية قبل الاعتماد عليها”. ولا تُضاف هذه المؤشرات إلى ملفات MEMORY.md العامة والخاصة بالمشروعات: فمحتوياتها مخصصة للاستخدام طويل الأمد، لذا عليك التحقق من دقتها بنفسك.

كيف تعرض الملاحظات وتعدّلها وتحذفها؟

الخلاصة الرئيسية

يفتح الأمر /memory عرضًا عامًا لجميع ملفات الذاكرة مع معاينات لها. ويمكنك تحرير الملفات بأي محرر نصوص، وستُلتقط التغييرات في البحث التالي. يعمل طلب “انسَ...” من دون ضمان؛ ولحذف إدخال محدد على نحو موثوق، حرّر الملف.

يفتح الأمر /memory داخل الجلسة نافذة تعرض جميع ملفات الذاكرة مجمّعة بحسب النطاق: عام، ومشروع، وجلسات (بترتيب زمني عكسي). تظهر قائمة الملفات على اليسار، وتظهر على اليمين معاينة للقراءة فقط للملف المحدد.

مفاتيح مفيدة في العرض العام:

المفتاحالإجراء
↑/↓ أو j/kالتنقل في القائمة
/تصفية القائمة
yنسخ مسار الملف المحدد
xحذف الملاحظة المحددة (اضغط مرة أخرى للتأكيد)
tتفعيل الذاكرة أو تعطيلها
Escإغلاق النافذة

يمكن للنافذة حذف الملاحظات الفردية وملفات الجلسات، لكنها لا تستطيع حذف فهارس MEMORY.md المُنشأة (العامة والخاصة بالمشروعات).

الطريقة الثانية هي تحرير الملفات مباشرةً. توجد الملفات في ~/.grok/memory/ ويمكن فتحها بأي محرر. تُتتبّع التغييرات في المجلد: يُعاد فهرسة الملفات المُنشأة والمعدّلة، وتُزال الملفات المحذوفة من الفهرس في البحث التالي.

يعمل طلب “انسَ snake_case” من دون ضمان: يبحث النموذج عن الإدخالات المطابقة ويحذفها، لكنه قد لا يعثر عليها كلها. لضمان الحذف، افتح الملف (يمكنك نسخ مساره بسهولة باستخدام y في /memory) واحذف الإدخال يدويًا. ويمكنك مسح الذاكرة بالكامل من سطر الأوامر: grok memory clear لذاكرة المشروع، وgrok memory clear --global للذاكرة العامة، وgrok memory clear --all لكلتيهما.

ما الفرق بين الذاكرة وملف تعليمات المستودع؟

الخلاصة الرئيسية

تكتب أنت ملف تعليمات مثل CLAUDE.md أو AGENTS.md وتضعه في المستودع، ليُشارك مع الفريق عبر Git. أما وكيل Grok Build فيدير ملاحظات الذاكرة ويحفظها في ~/.grok/memory/ خارج المستودع؛ فهي شخصية ولا تُشارك عبر Git.

تُشارك تعليمات المستودع مع كل من يعمل على المشروع، وتظهر في الشيفرة وسجل التغييرات. وتنمو الذاكرة خلال الجلسات، وتُحفظ على جهازك، ولا تُنشر من تلقاء نفسها.

لا تحل الذاكرة محل ملف التعليمات. من المنطقي إبقاء قواعد المشروع العامة اللازمة للفريق بأكمله ولكل وكيل في المستودع. لدينا دليل منفصل لاستخدام ملف تعليمات واحد مع Claude Code وCodex وCursor: استخدام AGENTS.md وCLAUDE.md معًا. تحفظ الذاكرة السياق الشخصي: تفضيلاتك، وما جُرّب من قبل، والقرار الذي تم التوصل إليه.

يستخدم Claude تمييزًا مشابهًا: نشرح الفرق بين الذاكرة وCLAUDE.md في مقال ذاكرة Claude وCLAUDE.md. ولمقارنة الأداتين نفسيهما، راجع Grok Build أو Claude Code.

القيود والتحقق من عمل الذاكرة

الخلاصة الرئيسية

الميزة تجريبية، وقد تتغير الأوامر والإعدادات. لكي تُضاف الملاحظات في أول دور بعد تفعيل الذاكرة، ابدأ جلسة جديدة باستخدام /new. ينشئ النموذج بعض الإدخالات، لذا راجع الملاحظات دوريًا واطلب منه ألا يتذكر الأسرار.

ضع القيود التالية في الحسبان:

  • الحالة التجريبية. قد تتغير الأوامر والحدود والسلوك في الإصدارات المستقبلية؛ إذا لم يعمل شيء كما هو متوقع، فتحقق من دليل الذاكرة في المستودع.
  • الإدراج الأولي في جلسة جديدة. بعد تفعيل الذاكرة، ابدأ العمل باستخدام /new حتى تُضاف الملاحظات المحفوظة في أول دور.
  • النموذج يقرر ما المهم. ينشئ النموذج ملخص /flush ويختار ما يدرجه في الملاحظة. افتح /memory كل أسبوع أو أسبوعين وراجع ما تراكم؛ واحذف كل ما لا تحتاج إليه.
  • لا تطلب منه تذكّر الأسرار. لا مكان للمفاتيح والرموز السرية وكلمات المرور في ملاحظات طويلة الأمد؛ فالملفات في ~/.grok/memory/ محفوظة كنص عادي. إذا سُجّل شيء حساس، فأزله بتحرير الملف.
  • تُشارك ذاكرة المشروع بين نسخ المستودع. إذا تذكّر الوكيل شيئًا في نسخة مستنسخة لم يعد صحيحًا لنسخة أخرى، فضع المجلد المشترك في الحسبان عند التنظيف.

إذا لم تعمل الذاكرة:

  1. تحقّق من مخرجات grok inspect للتأكد من تفعيل الذاكرة.
  2. تحقّق من أن GROK_MEMORY=0 أو ملف الإعدادات لا يعطّلها.
  3. للتشخيص، شغّل RUST_LOG=debug GROK_LOG_FILE=/tmp/grok.log grok وتحقق من الأسطر المتعلقة بالذاكرة في /tmp/grok.log.

ملخص موجز

تُفعّل ذاكرة Grok Build باستخدام GROK_MEMORY=1 أو [memory] enabled = true في ~/.grok/config.toml. ولكي تُضاف الملاحظات في أول مرة بعد التفعيل، ابدأ جلسة جديدة باستخدام /new. يكتب الوكيل الملاحظات في ~/.grok/memory/: ملخصات الجلسات من دون استدعاء للنموذج، وملخصات تفصيلية باستخدام /flush، وإدخالات صريحة باستخدام /remember بعد تأكيدك، وموضوعات منظّمة باستخدام /dream. يمكنك عرض الملاحظات وتنظيمها عبر /memory وتحرير الملفات مباشرةً. الميزة تجريبية، لذا تحقق من الحدود والأوامر في الدليل الرسمي وراجع الملاحظات دوريًا.

المصادر

افتح Ailoot.

المزيد من التفاصيل

أسئلة شائعة

لماذا لا تظهر الملاحظات المحفوظة بعد تفعيل الذاكرة؟

تضاف الملاحظات المحفوظة في الدورة الأولى من جلسة جديدة. ابدأ جلسة جديدة بعد التفعيل وافحص الحالة عبر grok inspect؛ ولا تستطيع عملية بدأت بـ GROK_MEMORY=0 تفعيلها عبر مفتاح الجلسة.

هل يحذف إيقاف الذاكرة ملفاتها؟

لا. يمنع تعطيل الذاكرة الوصول إلى أدواتها، لكنه يبقي ملاحظات Markdown على القرص. افحص الملاحظات المخزنة أو حررها بصورة مستقلة إذا احتجت إلى حذف إدخال.

جميع المقالات