0Pricing
AI Agents · درس

الذاكرة الدلالية (حقائق متجهة)

حقائق مستقلة تعلّمها الوكيل عن المستخدم أو العالم، مخزّنة في فهرس متجهات.

الذاكرة الدلالية (حقائق متجهة) درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

ما الذاكرة الدلالية؟

تحتفظ الذاكرة الدلالية بالحقائق المستقلة التي يعرفها الوكيل — عن المستخدم والعالم والشركة. وعلى خلاف الذاكرة الحدثية، لا يرتبط بها طابع زمني لحدث محدد.

أمثلة:

  • «اسم المستخدم Alice.»
  • «تفضّل Alice مقياس Celsius.»
  • «فئة الأسعار الحالية هي Pro بسعر $20/mo.»

تنسيق التخزين

مخزن متجهات + بيانات وصفية منظّمة:

CREATE TABLE semantic_facts (
    id UUID PRIMARY KEY,
    user_id TEXT NOT NULL,
    fact TEXT NOT NULL,
    embedding vector(1536),
    source TEXT,                    -- 'extracted' / 'user-stated' / 'system'
    confidence REAL DEFAULT 1.0,
    created_at TIMESTAMPTZ DEFAULT NOW()
);

استخراج الحقائق من المحادثات

بعد كل جلسة، شغّل مستخرج LLM:

extract_prompt = '''
From the conversation below, list any new facts about the user.
Return JSON: [{"fact": "...", "confidence": 0.0-1.0}]

Conversation:
{transcript}
'''
print(extract_prompt.strip())

Saving Extracted Facts

import uuid

for f in extracted:
    vec = embed(f['fact'])
    conn.execute('''
        INSERT INTO semantic_facts (id, user_id, fact, embedding, confidence, source)
        VALUES (%s, %s, %s, %s, %s, 'extracted')
    ''', (str(uuid.uuid4()), user_id, f['fact'], vec, f['confidence']))

الاسترجاع وقت الاستدلال

لكل استعلام جديد، استرجع الحقائق ذات الصلة وضمّنها في مطالبة النظام:

def relevant_facts(user_id, query, k=5):
    qvec = embed(query)
    rows = conn.execute('''
        SELECT fact FROM semantic_facts
        WHERE user_id = %s
        ORDER BY embedding <=> %s LIMIT %s
    ''', (user_id, qvec, k))
    return [r[0] for r in rows]

facts = relevant_facts(user_id, user_question)
system = SYSTEM_PROMPT + '\n\nKnown facts:\n' + '\n'.join(facts)

تحديث الحقائق

ماذا يحدث إذا تغيرت حقيقة؟ «تفضّل Alice مقياس Celsius» -> «تفضّل Alice الآن مقياس Fahrenheit». استراتيجيتان:

  1. ضع علامة على الحقيقة القديمة بأنها غير صالحة (أضف updated_at، أو نفّذ حذفًا منطقيًا)
  2. أو: خزّن التناقضات، وحلّها عند الاسترجاع

تسوية الحقائق

عند الاستخراج، تحقّق من وجود تناقضات مع الحقائق الحالية:

def reconcile(user_id, new_fact):
    similar = relevant_facts(user_id, new_fact, k=3)
    response = llm.invoke(f'Is the new fact ({new_fact}) consistent with existing facts ({similar})? If contradicting, return the obsolete one.')
    if response.has_contradiction:
        mark_obsolete(response.obsolete_id)
    save_fact(new_fact)

Confidence-Weighted Retrieval

rows = conn.execute('''
    SELECT fact FROM semantic_facts
    WHERE user_id = %s AND confidence > 0.6
    ORDER BY embedding <=> %s LIMIT %s
''', ...)

اضمحلال الحقائق

تصبح بعض الحقائق قديمة («المشروع الحالي هو X»). أضف TTL أو قلّل درجة الثقة بمرور الوقت:

UPDATE semantic_facts
SET confidence = confidence * 0.95
WHERE created_at < NOW() - INTERVAL '30 days';

الحقائق الحساسة للخصوصية

شفّر PII قبل تخزينه. تحتاج بعض الحقائق (الصحة والشؤون المالية) إلى حماية إضافية — خزّنها في جدول منفصل أكثر تقييدًا.

الحقائق القابلة للتحرير من المستخدم

اعرض للمستخدمين الحقائق المخزّنة عنهم واسمح لهم بتحريرها أو حذفها. فهذا يبني الثقة ويقلّل أخطاء الذاكرة المقلقة.

الذاكرة بوصفها أداة

اعرض عمليات الذاكرة على هيئة أدوات يمكن للوكيل نفسه استدعاؤها:

tools = [
    {'name': 'remember_fact', 'description': 'Save a new fact about the user'},
    {'name': 'forget_fact', 'description': 'Remove a stored fact'},
    {'name': 'recall_facts', 'description': 'Search relevant facts for a query'}
]
import json
print(json.dumps(tools, indent=2))

Letta وMemGPT

ينفّذ إطار Letta (المعروف سابقًا باسم MemGPT) ذاكرة الوكيل على نطاق واسع، مع ذاكرة «أساسية» منفصلة (موجودة دائمًا في السياق) وذاكرة «أرشيفية» (يُبحث فيها باستخدام المتجهات).

الذاكرة الدلالية مقابل الحدثية

كيف تختلف الذاكرة الدلالية عن الذاكرة الحدثية؟

مراجعة

خزّن حقائق عن المستخدم في مخزن متجهات، واسترجع الحقائق K ذات الصلة في كل دور، وضمّنها في مطالبة النظام. سوِّ التناقضات، وطبّق الاضمحلال أو انتهاء الصلاحية بمرور الوقت.

الأسئلة الشائعة

هل درس «الذاكرة الدلالية (حقائق متجهة)» مجاني؟

نعم — نص درس «الذاكرة الدلالية (حقائق متجهة)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.

ماذا ستتعلم في «الذاكرة الدلالية (حقائق متجهة)»؟

حقائق مستقلة تعلّمها الوكيل عن المستخدم أو العالم، مخزّنة في فهرس متجهات. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟

لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «الذاكرة الدلالية (حقائق متجهة)»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟

نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الذاكرة العرضية (سجل كل جلسة)
  2. الذاكرة الدلالية (حقائق متجهة)
  3. الذاكرة الإجرائية (مكتبة المهارات)
  4. اضمحلال الذاكرة وجمع القمامة
← العودة إلى AI Agents