اعمل memory pipeline عشان الـ AI بتاعك يبطّل ينساك
الخلاصةالـ AI بتاعك بينسى كل حاجة بين الـ sessions — ده مش عيب، دي طبيعة الـ session. الحل: آخر كل session قول لـ Claude يحفظ اللي اتعلمتوه في ملفات صغيرة كل واحدة درس واحد، واحتفظ بفهرس سطر واحد لكل درس، وحمّل الفهرس ده أول أي session جديدة. وبعدين اربط نفس الحفظ ده بإنه يحدّث الـ vault والـ graph في نفس الخطوة، عشان أمر واحد يخلّي التلاتة محدّثين. عادتين بسيطين، والإعداد بتاعك بيبقى أذكى كل مرة تستخدمه.
…
محتاج Obsidian عشان أعمل ده؟
لأ. فولدر عادي فيه ملفات Markdown كفاية. ولو عملت الـ vault بتاع حلقة 1 خلاص، أحسن — زوّد فولدر memory/ جواه وكل اللي عارفه عن الـ vault بيتطبّق هنا برضو.
مش هيكون بطيء إن Claude يقرا مئات الملفات كل session؟
دي بالظبط وظيفة الفهرس. Claude بيقرا سطر واحد لكل درس، مش الملف كله — وبيفتح الملف الكامل بس لما الدرس ده يكون فعلاً له علاقة باللي بتشتغل عليه.
إيه اللي يستاهل إني أحفظه فعلاً؟
الأخطاء اللي مش عايز تتكرر، القرارات اللي وراها سبب، والحاجات اللي اشتغلت كويس. مش الشغل العادي — لو مفيش حاجة كانت هتتغيّر المرة الجاية، متسجّلهاش.
محتاج أداة أو إضافة معيّنة عشان ده؟
لأ. بس Claude (Code أو تطبيق الكمبيوتر) وملفات عادية. نفس الحاجتين بتوع حلقة 1 — بس بتستخدمهم في شغلانة تانية.
كل session جديدة، الـ AI بتاعك بيبدأ من صفحة فاضية. مش فاكر الـ bug اللي صلّحته إمبارح، ولا القرار اللي اخدته من عشرين دقيقة في شات تاني، ولا الحاجة اللي ضايقتك في ردّه الأخير. ده مش عيب في Claude — دي طبيعة الـ session. مفيش حاجة بتفضل من غير إنك انت تنقلها. الحل مش موديل أذكى. الحل loop: تكتب اللي اتعلمته، وتحمّله تاني المرة الجاية. عادتين صغيرين، والـ AI بتاعك بيبطّل يرجع للصفر ويبدأ يتراكم.
ليه الـ AI بتاعك بينسى كل حاجة؟
الـ session صفحة فاضية. حتى أذكى AI في الدنيا مش عارف حصل إيه في المحادثة اللي فاتت، إلا لو حاجة برّه المحادثة قالتله. فبتلاقي نفسك بتشرح نفس السياق تاني، أو بتشوفه بيعمل نفس الغلطة مرتين، أو بتاخد نفس القرار اللي خلصته الأسبوع اللي فات. المشكلة مش إن الـ AI مش كويس في التفكير — المشكلة إنه ماخدش حاجة يفتكرها من الأول. دي الفجوة الحقيقية، وحلها ملفات، مش موديل أحسن.
الحل إيه في جملة واحدة؟
memory loop: احفظ اللي اتعلمته في ملفات صغيرة آخر كل session، احتفظ بفهرس سطر واحد لكل درس، وحمّل الفهرس ده أول أي session جديدة. خلاص — عادتين، من غير أي برنامج خاص.
الخطوة 1 — احفظ اللي اتعلمته
في آخر أي session، قول لـ Claude يكتبه. مش صفحة كلام طويلة — ملفات صغيرة، كل واحدة درس واحد، كل واحدة فيها ليه قصيرة وتطبّقها إزاي قصيرة.
Save what we learned this session to memory/:- One file per lesson, named memory/lesson-<short-slug>.md- Each file: a one-line title, a short "why" (what happened / what we found out), and a short "how to apply" (what to do differently next time)- Keep each file short — a few lines, not an essay- Add one line for each new lesson to memory/MEMORY.md, the index
Claude بيكتب الملفات ويحدّث الفهرس في نفس الخطوة. انت مش بتنظّم أي حاجة — بس بتقول «سجّل ده» في آخر أي حاجة كنت بتشتغل عليها.
الخطوة 2 — احتفظ بفهرس سطر واحد
memory/MEMORY.md هو الحيلة كلها. سطر واحد لكل درس، مفيش زيادة:
- [Retry webhook calls with backoff] — see lesson-webhook-retry.md- [Never trust user input in the search query] — see lesson-search-input.md- [Client wants Friday deploys, not Thursday] — see lesson-deploy-day.md
الفهرس رخيص إنك تقراه كامل كل session. أما ملفات الدروس نفسها فلأ — عشان كده بتفضل منفصلة. Claude بيدوّر في الفهرس، يلاقي اللي له علاقة، وبيفتح الملف الكامل بس لما يحتاج التفاصيل.
الخطوة 3 — حمّله أول أي session جديدة
دي الخطوة اللي الناس بتنساها، وهي اللي فعلاً بتقفل الـ loop. أول أي session جديدة:
Read memory/MEMORY.md first, then let's continue.
دلوقتي Claude بيدخل عارف اللي انتوا الاتنين وصلتوله المرة اللي فاتت — بدل ما تشرحله تاني، أو ياخد نفس القرار تاني. (حلقة 4 هتوريك إزاي تحط الخطوة دي في ملف الـ rules بتاعك عشان تحصل أوتوماتيك من غير ما تكتبها كل مرة — دلوقتي، السطر ده كفاية.)
خلي أمر واحد يحدّث الـ 3 طبقات
دلوقتي بقى عندك 3 حاجات جنب بعض: vault فيه ملاحظاتك (حلقة 1)، وgraph بيوضّح إزاي مترابطة (حلقة 2)، وفولدر memory فيه الدروس. الغلطة إنك تعاملهم كـ 3 مهام منفصلة في آخر الـ session. المفروض يبقوا أمر واحد.
زوّد ده على نفس البرومبت بتاع آخر الـ session:
When I say "update memory", do all three in one pass:1. Write the new lesson to memory/ and add its line to memory/MEMORY.md2. Mirror it into the vault as a note, with [[wikilinks]] to the notes it actually relates to3. Refresh graph/index.md so the new note's links show up in the mapThen tell me what you wrote and what it linked to.
كده «update memory» مش بس بتكتب في الـ memory — دي الدماغ كلها بتتحدّث مرة واحدة. الدرس اتحفظ، وموجود في الـ vault جنب كل اللي كتبته، والـ graph عارف هو متوصّل بإيه في الباقي. ولو سيبت خطوتين الـ vault والـ graph، دروسك هتفضل مركونة في فولدر محدش بيفتحه.
والسبب إنه أمر واحد مش تلاتة: انت فعلاً هتعمل عادة من كلمة واحدة آخر كل session. لكن مهمة من 3 خطوات مش هتعملها.
ليه ده مهم؟
من غير الـ loop ده، كل session زي موظف جديد: شاطر، بس بيبدأ من صفر، وبيكرر نفس الغلطة اللي كنت خلاص واخد بالك منها الأسبوع اللي فات. مع الـ loop، الـ AI بتاعك بيتصرف زي حد فعلاً شغال معاك من زمان — بيبطّل يقترحلك اللي انت خلاص شطبته، وبيطبّق الحل اللي خلاص لقيته، وكل session بتخلّي اللي بعدها أحسن شوية بدل ما تكون نفسها بالظبط. ده هو المكسب الحقيقي: مش موديل أكبر، بس إعداد بيفتكر بدالك.
وده كمان بيمهّد لجزئين تانيين في السلسلة: أول ما تبدأ تسجّل دروس حقيقية بالطريقة دي، نمط الـ graph في حلقة 2 هو اللي هيخلّي الـ AI يلاقي الدرس الصح بسرعة أول ما يبقى عندك مئات منهم، وحلقة 4 هي اللي هتخلّي تحميل الفهرس أوتوماتيك بدل ما يبقى عادة لازم تفتكرها. ابدأ بالـ loop — الباقي بيتبني فوقه.
إزاي ده متوصّل بباقي الإعداد
الـ loop اللي فوق بيربط الـ memory بـالـ vault والـ graph خلاص. والقطع اللي بعده هي اللي بتخلّي الـ loop يشتغل لوحده:
ملف القواعد بيحمّل فهرس الـ memory أول كل session، فالخطوة 3 بتبطّل عادة لازم تفتكرها.