يحوّل التقطيع محتوى الصفحات المُطبَّع الخام إلى وحدات استرجاع. تؤدي الخيارات السيئة إلى تضخيم التكلفة (أجزاء كثيرة جدًا)، أو تدهور الاستدعاء (كتل كبيرة جدًا)، أو تخفيف الدقة (تصدّعات عند الحدود). لا توجد طريقة أفضل عالميًا؛ فالاستراتيجية تتوافق مع بنية المجموعة النصية وتقلّبها وأنماط الاستعلام. يرسم هذا الدليل مساحة التصميم والمفاضلات وسير عمل التقييم وروافع التحسين لخطوط أنابيب RAG في الإنتاج.
لماذا يهم التقطيع
الأهداف:
- تعظيم احتمال ظهور الحقائق ذات الصلة في استرجاع top‑k.
- الحفاظ على التماسك الدلالي بحيث تكون الإجابات المُولَّدة مبنية على أساس.
- تحسين استخدام الـ tokens (تجنب تضمين النص النمطي بشكل متكرر).
- تمكين التحديثات التزايدية الحتمية (معرّفات أجزاء مستقرة).
يظهر التقطيع غير المتوافق على هيئة: تكرار مرتفع، Recall@k منخفض، حقائق مهلوسة عند الحدود، تضخّم في إنفاق الـ embedding.
التقطيع بنافذة ثابتة
نوافذ بسيطة من N من الـ tokens (مثلًا 500 token). المزايا: حتمية، سهلة التنفيذ، سلوك تحديث مستقر. العيوب: الحدود تقطع عبر المفاهيم؛ يلزم تداخل زائد لتقليل البتر ← نمو التكلفة. استخدمها باعتدال: خط أساس جيد للمحتوى غير المتجانس أو ضعيف البنية حيث تكون الإشارات الدلالية غير موثوقة.
النوافذ المنزلقة المتداخلة
حجم نافذة W مع تداخل O (مثلًا 500 / 50 token) يقلل بتر الحقائق عند الحدود. التداخل الذي يتجاوز ~15% يحقق مكاسب استدعاء متناقصة بينما يضاعف حجم الفهرس. تتبّع duplication_ratio = distinct_token_count / total_token_count لضبط O نحو الأسفل.
كشف الحدود الدلالية
قسّم وفق الإشارات البنيوية: عناوين H2/H3، تجميعات القوائم، كتل التعليمات البرمجية، حدود الجداول. افرض حدودًا دنيا/قصوى للـ tokens (ادمج الأشقاء الصغيرة جدًا، وقسّم الأقسام الكبيرة جدًا). الفوائد: تماسك أعلى، تداخلات أقل. المخاطر: ترميز مُشوَّه، تسلسل هرمي غير متسق للعناوين. خفّف ذلك بإصلاح التسلسل الهرمي + الرجوع إلى التقسيم حسب الفقرات عند غياب العناوين.
التقطيع الهرمي
فهرس من مستويين: embeddings خشنة للأقسام (مثلًا قسم تعليمي كامل) + أجزاء فرعية دقيقة الحبيبات. سير الاسترجاع: ANN خشن ← تصفية أعلى N من الأقسام ← استرجاع دقيق داخلها. المزايا: يقلّص مساحة البحث الشاملة للمجموعات الكبيرة، ويحسّن زمن الاستجابة. التعقيد: أجزاء متحركة أكثر، والحاجة إلى منطق تقييم متتالٍ.
التقطيع التكيفي / الديناميكي
اضبط أحجام الأجزاء بناءً على الكثافة الدلالية المحلية والإشارات البنيوية. مثال على المنطق: ابدأ من قسم عنوان، فإذا كان >800 token ← قسّم وفق عناقيد فقرات مُقيَّمة بالتشابه الدلالي؛ وإذا كان <120 token ← ادمج مع الشقيق التالي ما لم يتجاوز تباعد الموضوع عتبة معينة. يتطلب تمريرة مسبقة لـ embedding أو تشابه؛ ادفع التكلفة مرة واحدة عند الاستيعاب مقابل كفاءة استرجاع أفضل على المدى الطويل.
اعتبارات الـ embedding
احتفظ بالبيانات الوصفية: token_count و model_version و content_hash. تجنّب البتر: احسب الـ tokens مسبقًا وقسّم قبل استدعاء النموذج. تتدهور النماذج الكثيفة مع فرط النص النمطي؛ جرّد آثار التنقل قبل التقطيع. راقب vector_density (المصطلحات الفريدة / الـ tokens) لإبراز الأجزاء منخفضة الإشارة (المرشحة لإعادة الدمج).
طرق التقييم
اختبارات مرجعية لكل استراتيجية:
| المقياس | الغرض |
|---|---|
| Recall@k | الاحتفاظ بالحقائق |
| Precision@k | ضوضاء السياق |
| عدد الأجزاء | مؤشر التكلفة |
| نسبة التكرار | ضبط التداخل |
| متوسط الـ tokens لكل جزء | استغلال النافذة |
| زمن الاستجابة (الاسترجاع) | كفاءة الفهرس |
شغّله على مجموعة استعلامات ذهبية؛ ولا تعتمد استراتيجية إلا إذا فاقت مكاسب الاستدعاء فروقات التكلفة وزمن الاستجابة.
دليل التنفيذ العملي
- خط الأساس: ثابت 500 + تداخل 10%؛ اجمع الاختبارات المرجعية.
- أدخل الحدود الدلالية: استبدل النوافذ حيث تكون العناوين موثوقة؛ أعد القياس.
- أضف طبقة هرمية إذا تجاوزت المجموعة 250k جزء أو تجاوز زمن الاستجابة الهدف.
- انشر منطقًا تكيفيًا لأحجام الأقسام عالية التباين.
- إعادة تقييم فصلية: قارن التكلفة لكل وحدة تحسّن في الجودة مقابل قدرات النماذج الجديدة.
خزّن فرق بيان الأجزاء لكل تكرار لإتاحة التراجع.
النقاط الرئيسية
- عادةً ما تتفوق الحدود الدلالية على النوافذ الثابتة البحتة في الدقة/التكلفة.
- التداخل قُرص ضبط: قِس التكرار، ولا تخمّنه.
- يساعد الاسترجاع الهرمي على التوسع دون نمو خطي في زمن الاستجابة.
- تتيح معرّفات الأجزاء المستقرة تحديثًا تزايديًا آمنًا للـ embedding.
- قيّم تغييرات الاستراتيجية كما تقيّم عمليات نشر التعليمات البرمجية: اختبار مرجعي، مقارنة، تسجيل.