الدرس 12 من 20

الذاكرة والمعرفة

انقطاعات المعرفة والتحديثات

2 دقيقة للقراءة

كل نموذج لغة كبير له تاريخ انقطاع معرفي—النقطة التي تنتهي عندها بيانات تدريبه. للوكلاء الذين يتعاملون مع مهام العالم الحقيقي، سد هذه الفجوة أمر ضروري.

انقطاعات المعرفة الحالية (أبريل 2026)

النموذجانقطاع المعرفةملاحظات
GPT-5.4~أكتوبر 2025لديه قدرة البحث على الويب
Claude Sonnet 4.6~منتصف 2025Opus 4.7 و Haiku 4.5 متوفرة أيضاً
Gemini 3.1 Pro~منتصف 2025لديه التأريض/البحث
Llama 3.3~ديسمبر 2023نموذج مفتوح الأوزان

مهم: تواريخ الانقطاع تتغير بشكل متكرر مع تحديثات النموذج. تحقق دائماً من الوثائق الرسمية للقيم الحالية. العديد من النماذج الآن تتضمن قدرات بحث فوري تكمّل بيانات تدريبها.

استراتيجيات للمعلومات الحالية

1. تكامل البحث الفوري

from langchain_community.tools import DuckDuckGoSearchRun

search = DuckDuckGoSearchRun()

def get_current_info(query):
    """جلب المعلومات الحالية للاستعلامات الحساسة للوقت"""
    # تحقق إذا كان الاستعلام يحتاج معلومات حالية
    needs_current = llm.generate(f"""
    هل يتطلب هذا الاستعلام معلومات بعد تاريخ انقطاع معرفة النموذج؟
    الاستعلام: {query}
    الإجابة (نعم/لا):
    """).strip().lower() == "نعم"

    if needs_current:
        search_results = search.run(query)
        return f"معلومات حالية (حتى اليوم): {search_results}"
    return None

2. تحديثات المعرفة المجدولة

class KnowledgeUpdater:
    def __init__(self, vectorstore, sources):
        self.vectorstore = vectorstore
        self.sources = sources

    async def update(self):
        """تشغيل يومياً للحفاظ على حداثة المعرفة"""
        for source in self.sources:
            # جلب المحتوى الجديد
            new_docs = await source.fetch_updates()

            # التحقق من التغييرات
            for doc in new_docs:
                existing = self.vectorstore.similarity_search(
                    doc.content, k=1
                )
                if self.is_significantly_different(doc, existing):
                    # تحديث قاعدة المعرفة
                    self.vectorstore.add_documents([doc])
                    self.vectorstore.delete(existing[0].id)

# جدولة التحديثات اليومية
schedule.every().day.at("02:00").do(updater.update)

3. نسب المصدر

أخبر المستخدمين دائماً من أين تأتي المعلومات:

def answer_with_attribution(query):
    # الحصول من قاعدة المعرفة
    docs = retriever.get_relevant_documents(query)

    response = llm.generate(f"""
    بناءً على هذه المصادر، أجب على السؤال.
    استشهد دائماً بمصادرك.

    المصادر:
    {format_sources(docs)}

    السؤال: {query}
    """)

    return {
        "answer": response,
        "sources": [{"title": d.metadata["title"],
                    "date": d.metadata["date"],
                    "url": d.metadata["url"]} for d in docs]
    }

التعامل مع المعلومات القديمة

def check_freshness(query, response):
    """تحذير المستخدمين عندما قد تكون المعلومات قديمة"""

    # المواضيع التي تتغير بشكل متكرر
    volatile_topics = [
        "سعر السهم", "الطقس", "الأخبار",
        "أحدث", "حالي", "اليوم"
    ]

    if any(topic in query.lower() for topic in volatile_topics):
        return f"""
        {response}

        ⚠️ ملاحظة: هذه المعلومات قد تكون تغيرت.
        آخر تحقق: {get_source_date()}
        فكر في التحقق من المصادر الحالية للحصول على أحدث البيانات.
        """

    return response

أفضل الممارسات

الممارسةالتنفيذ
أعلن القيود"آخر تحديث لمعرفتي كان..."
استخدم أدوات فوريةالبحث، APIs للبيانات الحالية
أرّخ مصادركضمّن متى تم استرجاع المعلومة
حدّث بانتظامجدول تحديثات قاعدة المعرفة
تحقق من المعلومات الحرجةتحقق مرجعياً من الحقائق المهمة

النقاط الرئيسية

  1. اعرف انقطاع نموذجك وأبلغ عنه
  2. استخدم الأدوات لسد فجوات المعرفة
  3. انسب المصادر لبناء الثقة
  4. حدّث بشكل استباقي للمجالات الحساسة للوقت

اختبر فهمك للذاكرة والمعرفة في الاختبار! :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 3: الذاكرة والمعرفة

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.