مايو 2026 · 11 دقيقة قراءة · Fran Olivares، مؤسس OlivaresAI
إدارة المشاريع عمل ذاكرة في الأغلب. من يملك هذا التدفق؟ ماذا اتفقنا بشأن نافذة الترحيل؟ لماذا خفّضنا نطاق محدّد المعدل؟ متى يحجب الاستعراض القانوني الإصدار؟ وكيل عليه إعادة طرح هذه الأسئلة كل صباح ليس وكيلاً — إنه متدرب أسرع قليلاً. الطريقة التي تُغيّر بها ذلك هي بإعطاء النموذج طبقة ذاكرة دائمة يستطيع القراءة منها والكتابة إليها بين الأدوار، مأهولة تلقائياً من المحادثة. يأخذك هذا الدليل عبر المعمارية المرجعية وكود التكامل، باستخدام Anthropic Claude API كـ LLM وREST API الخاص بـ Alma كطبقة ذاكرة.
ثلاثة أسباب هيكلية. أولاً، الكيانات التي يتتبعها PM (أشخاص، قرارات، مخرجات، SLAs، مخاطر) طويلة العمر بحد ذاتها — تعيش أطول من أي محادثة واحدة بالتعريف. ثانياً، الأسلوب المحاوراتي عالي التردد ومنخفض الجهد: رسائل standup قصيرة، توضيحات سريعة، أسئلة "ماذا قلنا بشأن X؟". تحميل الشريحة الصحيحة من السياق بشكل رخيص يهمّ. ثالثاً، تكلفة النسيان عالية: قرار مفقود يصبح إصداراً مفقوداً، تبعية منسية تصبح عائقاً.
محادثة Claude عديمة الحالة تتعامل مع جلسة تخطيط واحدة جيداً. حالما يريد المستخدم استمرارية ("بالأمس اتفقنا..."، "ما الذي يُعيق فريق المصادقة هذا الأسبوع؟")، على المحادثة إما إعادة تشغيل التاريخ الكامل في نافذة السياق (مُكلف، مستحيل في النهاية) أو الاعتماد على طبقة ذاكرة خارج النموذج.
أربعة أجزاء متحركة:
messages.create من Anthropic SDK مع موجّه نظام مُدرك للمشروع. استخدام الأدوات مُمكَّن حتى يستطيع النموذج طلب الكيانات بالاسم من طبقة الذاكرة عند الحاجة.stakeholder، decision، sla، risk) ودرجة أهمية. تلتقط المقاطع الـ standups اليومية المضغوطة؛ تلتقط الإجراءات سير العمل المتكرر ("الطريقة التي نتعامل بها مع hotfixes").خمس فئات تُغطّي معظم الفرق: stakeholder (أشخاص بدور + مسؤوليات)، decision (ما اتُّفق، ومتى، ومن، ومع المبرر)، sla (التزامات لفرق أو عملاء آخرين)، risk (قضايا مفتوحة بصاحب + تخفيف)، milestone (تاريخ مستهدف + نطاق + حالة). تحمل كل ذكرى درجة أهمية حتى يستطيع المُجمّع إعطاء الأولوية للعناصر عالية المخاطر في الاسترجاع.
الفئة ليست فقط للتنظيم — إنها جزء من إشارة الاسترجاع. عندما يسأل المستخدم "ماذا قررنا؟"، يُرجّح المُجمّع ذكريات فئة القرارات أعلى. عندما يسألون "من مُعاق؟"، ترتفع ذكريات فئة المخاطر. يكشف تجميع السياق في Alma أوزان تعزيز لكل فئة لحالة الاستخدام هذه بالضبط.
ثلاث مراحل لكل رسالة مستخدم. الكود الكاذب أدناه يستخدم Node.js مع Alma SDK وAnthropic SDK، لكن نفس الشكل يعمل في Python أو أي مكدس آخر:
const { systemPrompt } = await alma.context.assemble({ query: userMessage, environmentId: projectId });const stream = anthropic.messages.stream({ model: 'claude-opus-4-7', system: systemPrompt, messages: [{ role: 'user', content: userMessage }] });await alma.memories.extract({ text: lastTurn, environmentId: projectId });المرحلة 3 تعمل في الخلفية — يرى المستخدم الرد المُتدفق فوراً، ويحدث الاستخراج في الـ ~1 ث التالية دون حجب. تُزال تكرارات الذكريات الجديدة، وتُكتشَف التناقضات مقابل الإدخالات القائمة، ويبقى المخزن نظيفاً تلقائياً. مرجع SDK كامل: @olivaresai/alma-sdk؛ معادلات HTTP في وثائق REST API.
استخدم بيئات Alma: بيئة لكل مشروع. لكل بيئة ذكرياتها ومقاطعها وإجراءاتها وكتل Soul الخاصة بها، معزولة تماماً عن الآخرين. يُمرّر الوكيل environmentId على كل استدعاء ذاكرة؛ API يفرض الحد. الاستعلامات عبر المشاريع ببساطة غير ممكنة دون تبديل بيئة صريح — وهو الافتراضي الصحيح لأداة PM حيث تسريب القرارات من المشروع A إلى المشروع B مشكلة فعلية.
لوكلاء PM على مستوى الفريق (عدة بشر يتفاعلون مع نفس الوكيل)، استخدم مورد Alma teams: لكل فريق ذكريات مشتركة مرئية لكل الأعضاء، إضافة إلى ذكريات لكل مستخدم للتفضيلات الشخصية. ضوابط الوصول المبنية على الدور تتحكم بمن يستطيع كتابة ماذا.
رسالة المستخدم: "standup: فريق backend، ماريا تُفك حصار الترحيل اليوم، خوسيه على محدّد المعدل؛ قررنا تأجيل إصدار GA إلى الجمعة لأن القانوني لا يزال يستعرض DPA". تدفق الوكيل:
أركيولوجيا القرارات. "لماذا خفّضنا نطاق محدّد المعدل؟" — يسترجع الوكيل ذكرى القرار إضافة إلى المقطع المحيط وذكرى المخاطرة التي رجعت إليها. يعيد الإجابة مع استشهادات بالسجلات، حتى يستطيع المستخدم الحفر في المحادثة عند الحاجة.
البحث عن أصحاب المصلحة. "من يملك الترحيل؟" — استعلام ذاكرة مباشر مقابل فئة stakeholder، يعيد السجل. إذا كانت الإجابة قديمة (الدور تغيّر الأسبوع الماضي)، يلتقط كشف التناقض ذلك في المحادثة التالية التي تذكر المالك الجديد.
توليد تقرير متكرر. "ولّد تقرير حالة لتدفق المصادقة هذا الأسبوع" — يُجمّع الوكيل نافذة سياق من المقاطع والقرارات والمخاطر المُحدَّدة لذلك التدفق، ثم يصوغ التقرير من تلك الشريحة المُنسَّقة. هذا أرخص بكثير وأكثر دقة من طلب Claude تلخيص تاريخ المحادثة الخام.
ميزانيات التوكنات الافتراضية في المُجمّع: ~2 K توكن للذكريات، ~1 K للمقاطع، ~500 للإجراءات، ~500 لكتل Soul. الإجمالي ~4 K — أقل بكثير من ميزانية سياق أي نموذج، وصغير بما يكفي للبقاء صديقاً للتخزين المؤقت. إذا كان مشروعك صغيراً (أقل من 100 ذكرى نشطة)، يمكنك خفض الميزانية أكثر. إذا كان كبيراً (10 K+ ذكرى)، يبقى المُجمّع عند ~4 K لأن الاسترجاع يحدّ من عدد السجلات المُدرَجة حتى عندما يكون المخزن كبيراً.
شيئان يهمان تشغيلياً: كتل Soul (هوية الوكيل) ينبغي تخزينها مؤقتاً كبادئة موجّه نظام مستقرة فلا تدفع الاستدعاءات المتكررة توكنات الإدخال مجدداً؛ والسياق الديناميكي (الذكريات + المقاطع) ينبغي أن يجلس بعد نقطة فاصل التخزين المؤقت حتى يُعيد كل استدعاء تحميل الجزء المُتغيّر فقط. وثائق التخزين المؤقت للموجّه من Anthropic تُغطّي وضع نقطة الفاصل.
في تدفق فريق PM نموذجي (~20 رسالة/يوم لكل مستخدم، معظمها standups + توضيحات)، التكلفة الهامشية تهيمن عليها استدعاءات LLM نفسها. تُضيف طبقة الذاكرة: استدعاء assemble واحد (بضع KB قراءة + استرجاع، ~30 ms)، استدعاء extract واحد (Haiku، ~$0.001 لكل دور). إجمالي تكاليف الذاكرة لكل يوم لكل مستخدم نشط: أقل بكثير من سنت. قارن بقيمة فريق PM الذي لا يفقد القرارات — والرياضيات واضحة.
خطة Starter من Alma ($14/شهرياً) هي الطبقة المدخل وتشمل طبقة الذاكرة الدائمة. سجّل في alma.olivares.ai، أنشئ مفتاح API في الإعدادات، واستنسخ مُبتدئ SDK من صفحة المطورين. وصّل حلقة المراحل الثلاث في كود وكيلك، أشره إلى مشروع اختبار واحد، وشغّله لأسبوع. سيُملأ المخزن طبيعياً من المحادثات؛ سترى القرارات وأصحاب المصلحة والمخاطر تتراكم دون إدخال بيانات يدوي. من هناك مجرد رفع الفئات وضبط المُجمّع.
قراءة ذات صلة: الذاكرة الدائمة للذكاء الاصطناعي: الدليل الكامل 2026 · كيف تُعطي الذكاء الاصطناعي ذاكرة دائمة · معمارية الذاكرة بثلاث طبقات · وثائق تجميع السياق · البيئات.