The Closing Window
تعرّف على Sift: قاعدة معرفة لكل ما ليس بملاحظة image
Photo by Rabie Madaci on Unsplash

تعرّف على Sift: قاعدة معرفة لكل ما ليس بملاحظة

AI Insights

الملخص

Sift هو قاعدة معرفة شخصية بنيتها على مدار ثلاثة أو أربعة أشهر، تستوعب أي شيء — روابط، ملفات PDF، إشارات مرجعية، صفحات ويب، ملفات فيديو وصوت — وتجعل كل ذلك قابلاً للبحث حسب المعنى، وليس فقط بالكلمات المفتاحية، مع إدراك لتوقيت حفظ الأشياء. يعمل على أجهزتك الخاصة، ويجيب على الأسئلة باستخدام المواد التي حفظتها أنت كمصادر، ويعمل بجانب Obsidian بدلاً من استبداله. نشرته كمصدر مفتوح على github.com/pablooliva/sift. هذا المقال يروي قصة لماذا وُجد، وماذا تعلمت من بنائه، وما يمكنك توقعه إذا استنسخته.


إشاراتي المرجعية وفّرت لي المال

قبل أسابيع قليلة، كنت أصمم خط إنتاج للنشر المتعدد الوسائط لهذا الموقع. كنت أحتاج أدوات لتوليد الصوت والفيديو، وكانت لدي ميزانية تقريبية في ذهني، شيء في حدود 56 دولاراً شهرياً موزعة على عدة اشتراكات SaaS.

قبل أن ألتزم بذلك، بحثت في قاعدة معرفة Sift الخاصة بي. أظهرت لي تكاملين مع ComfyUI كنت قد حفظتهما كإشارات مرجعية قبل أسبوع: Qwen3-TTS لاستنساخ الصوت محلياً و LTX-2.3 لتوليد الفيديو مفتوح المصدر مع دعم للصور الشخصية. كنت قد حفظتهما كإشارات مرجعية بسيطة مع أوصاف قصيرة — أبسط شكل ممكن من الاستيعاب.

هاتان النتيجتان حوّلتا خط الإنتاج بأكمله من حزمة SaaS مدفوعة إلى نهج محلي بتكلفة صفر دولار.

لم أتذكر أنني حفظتهما. ولم أكن لأجدهما بالبحث بالكلمات المفتاحية. لم أكن أبحث عن "ComfyUI" أو "Qwen3-TTS." كنت أبحث عن ما تفعله هذه الأدوات. Sift فهم معنى استعلامي وربطه بمحتوى بالكاد فكرت فيه منذ حفظه كإشارة مرجعية.

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


ما هو Sift فعلاً

إذا كنت تتابع هذه السلسلة — المقال الأول، المقال الثاني — فإن Sift هو الطبقة التالية: كل ما ليس ملفاً نصياً محلياً.

بأبسط صورة: Sift هو قاعدة معرفة شخصية تستوعب مستندات من أي نوع وتجعلها قابلة للاستعلام. يمكنك البحث فيها حسب المعنى، أو يمكنك طرح سؤال والحصول على إجابة موثّقة بالمصادر مستخلصة من موادك الخاصة.

يعمل على أجهزتك الخاصة، في الغالب. أنا أشغّله على خادم منزلي، لكنه يعمل على أي جهاز يدعم Docker. أستخدم مزود استدلال LLM لبعض سير العمل الذكية، لكن بياناتك تبقى ملكك.

ليس بديلاً لـ Obsidian. إنه مكمّل له. Obsidian يحتفظ بملاحظاتي العملية — الأشياء التي أكتبها وأفكر فيها وأربطها ببعضها. Sift يحتفظ بكل شيء آخر — الأشياء التي صادفتها وحفظتها وأريد أن أتمكن من إيجادها لاحقاً.


كيف تم بناؤه

بدأ Sift بسؤالين.

الأول كان عملياً: ماذا لو كان لدي وعاء واحد لكل شيء يمر أمامي، بغض النظر عن الوسيط؟ مكان ينتهي فيه رابط وملف PDF وملاحظة نصية جميعها قابلة للبحث في نظام واحد؟

الثاني كان منهجياً: هل يمكنني بناء مشروع حقيقي باستخدام التطوير المبني على المواصفات (SDD) مع وكيل برمجة ذكي من البداية إلى النهاية؟ ليس نموذجاً أولياً سريعاً، بل نظاماً مهندساً بشكل صحيح بمواصفات رسمية ومراجعات نقدية وقرارات موثّقة؟

بعد ثلاثة أشهر و549 عملية commit، الإجابة على كليهما نعم، مع تحفظات.

اختيار التقنية

اخترت txtai كأساس لأنه كان حلاً متكاملاً: embeddings وبحث متجهي و API ويب في حزمة Python واحدة بأقل قدر من التبعيات. لا قاعدة بيانات متجهية منفصلة لإعدادها، ولا خدمات إضافية لتشغيلها. لإثبات المفهوم، كان ذلك مهماً.

ما اكتشفته سريعاً هو ما يعنيه "الحل المتكامل" فعلياً في الممارسة العملية. بعض النماذج الافتراضية كانت قديمة. أجزاء من الحزمة كان أداؤها أقل مقارنة بالبدائل المستقلة. الراحة التي ساعدتني على البدء أصبحت قيداً مع نضج النظام.

أدى ذلك إلى تخصيص مكثف. استبدلت الواجهة الخلفية للمتجهات بـ Qdrant لأداء أفضل واستمرارية. دمجت Graphiti و Neo4j لقدرات الرسم البياني المعرفي — لفهم ليس فقط ما حفظته، بل كيف تترابط المفاهيم مع بعضها. أضفت Together.ai كواجهة خلفية لـ LLM لتوليد RAG، لأن النماذج المحلية لم تكن جيدة بما يكفي لتجميع الإجابات من السياق المسترجع.

بالنظر إلى الوراء، ربما كان يجب أن أتخلى عن txtai تماماً في مرحلة ما وأبني حلاً مخصصاً من الصفر. لكن هناك درساً في ذلك القرار أيضاً: أحياناً تكلفة البدء من جديد تتجاوز تكلفة التعامل مع القيود، خاصة عندما يكون النظام يقدم قيمة فعلاً. قصة ComfyUI حدثت رغم وجود هذه القيود.

عملية الهندسة

القصة الأقل وضوحاً هي عملية التطوير نفسها. يحتوي Sift على أكثر من 45 مستند مواصفات رسمية — متطلبات، أبحاث، مراجعات نقدية، ملخصات تنفيذ. كل قرار مهم كُتب قبل كتابة الكود. كل مواصفة راجعها نقدياً، وغالباً Claude Code الذي كان يعمل كمنظور ثانٍ على التصميم. إضافة Claude Code التي طوّرتها جعلت سير عمل التطوير هذا يسير بسلاسة.

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


استمتع بحذر

أنا أنشر هذا كمصدر مفتوح لأنني أعتقد أنه مفيد، وليس لأنه مصقول. إليك ما يجب أن تعرفه:

txtai له قيود حقيقية. بعض النماذج في الحزمة الافتراضية قديمة، ولو كنت أبدأ اليوم، لبنيت على أساس مختلف على الأرجح. تشغيل تطبيق txtai الأصلي كان يتطلب 20 GB من VRAM، مستهلكة باستمرار. كان ذلك غير مقبول وأحد أكبر الأسباب التي دفعتني لكل عمليات إعادة الهيكلة، بالإضافة إلى إضافة وتحسين الميزات. التخصيصات التي أجريتها تعمل وهي مدمجة بشكل نظيف نسبياً، لكنها تضيف تعقيداً لم يكن ليوجد مع بنية أخف.

الرسم البياني المعرفي واعد لكنه مكلف. Graphiti يستخدم استدعاءات LLM لاستخراج الكيانات والعلاقات من المستندات؛ تقريباً 12-15 استدعاء لكل جزء. يتراكم ذلك بسرعة. استيراد جميع ملاحظات Obsidian الخاصة بي إلى الرسم البياني المعرفي لـ Sift شيء أريد فعله لكنني لم أفعله بعد، لأن تكاليف API ليست بسيطة. الرسم البياني حالياً يحتوي على 796 كياناً و19 علاقة فقط، مما يعني أن 97.7% من العقد معزولة. إنه يعمل، لكنه ليس كثيفاً بما يكفي بعد لإظهار نوع الروابط التي يجب أن يُظهرها رسم بياني معرفي ناضج.

يعمل على خادم منزلي. إعداد Docker يحتاج جهازاً بمواصفات معقولة. هذا ليس تطبيقاً خفيفاً. سأوثّق متطلبات الأجهزة في المستودع، لكن توقع أنك ستحتاج أكثر من Raspberry Pi.

إنه مشروع شخصي بمقايضات شخصية. بعض القرارات مُحسّنة لسير عملي تحديداً. بعض الكود يمكن أن يكون أنظف. مواصفات SDD توثّق المنطق، لذا يمكنك أن تحكم بنفسك ما إذا كانت مقايضاتي تناسب احتياجاتك.


لماذا مفتوح المصدر

لعدة أسباب، وهي شخصية أكثر منها استراتيجية.

سلسلة إدارة المعرفة تدّعي بناء نظام بمستوى إنتاجي. بدون مستودع عام، عليك أن تصدق كلامي. مع وجوده، يمكنك التحقق والاستنساخ وتشغيله بنفسك.

عملية الهندسة — أكثر من 45 مواصفة، والمراجعات النقدية، ومستندات البحث — مثيرة للاهتمام بقدر الكود نفسه. لم أرَ مشروعاً شخصياً آخر على GitHub يأتي بهذا المستوى من توثيق العمليات. إذا كان نهج SDD يلقى صدى لديك، فمجلد SDD/ هو المكان الذي يجب أن تنظر فيه.

وبصراحة، لا يوجد شيء مماثل تماماً في المنظومة. هناك عروض RAG، وأمثلة txtai، ودروس عن الرسوم البيانية المعرفية. لكن هذا النظام يجمع txtai + Graphiti + Neo4j + Qdrant + خادم MCP + استهلاك بواسطة وكيل AI. ألا تبدو كل هذه التقنيات مجتمعة مذهلة؟ إذا كانت إجابتك نعم... فالمهووس يعرف المهووس.

المستودع متاح على github.com/pablooliva/sift.


ما التالي

هذا المقال هو الإعلان. الغوص التقني العميق سيأتي في المقال التالي من السلسلة، حيث سأشرح بنية Sift بالتفصيل. إذا أردت أن تفهم كيف يعمل قبل أن تستنسخه، فذلك هو المقال الذي يجب أن تنتظره.

بعد ذلك، سأتناول كيف يربط MCP و Claude Code كلاً من Sift و CK Search و Obsidian في نظام موحد يمكن لوكيل AI الاستعلام عنها جميعاً في آن واحد. هناك حيث تصبح الأدوات الفردية أكثر من مجموع أجزائها.

في الوقت الحالي، إذا كنت فضولياً، المستودع يحتوي على README وتعليمات الإعداد. استنسخه، جرّبه، ادرسه. لهذا هو موجود.


هذا المقال جزء من سلسلة إدارة المعرفة المدعومة بالذكاء الاصطناعي. السابق: إيجاد المعنى في ملاحظاتك مع CK Search. التالي: ما وراء Obsidian — بناء قاعدة معرفة خارجية مع Sift.

Powered by Buttondown.