أليكسي جادان · مطوّر Fullstack، DevOps · رئيس TechPlatform
هندسة الأنظمة: البنية التحتية، ووكلاء الذكاء الاصطناعي، والخدمات الداخلية
أصمّم وأسلّم أنظمة تظل تعمل لسنوات: بنية من أربعين مضيفًا، وثمانية منتجات في بيئة الإنتاج، وخطوط معالجة LLM، كلها مبنية ومُدارة بيد واحدة. متاح للعقود الخاصة.
النتيجةتُحلّ المهام على دفعات دون إنفاق الاشتراك المدفوع
حالات معمارية
مشكلة ← حل ← نتيجة
أربع مشكلات يُقال عادةً إنها «أصعب من أن تُحل، فلنتركها كما هي».
01
نقل البريد من سحابة الآخرين
15,000 رسالة في الأرشيف
41 عنوانًا تمت استعادته
2 نطاقات بتاريخ 20 عامًا
المشكلة
كان نطاقان بتاريخ عشرين عامًا على خدمة بريد خارجية. رفض المزوّد تسليم قائمة صناديق البريد، فلم يكن هناك ما يُنقل «كما هو».
الحل
أُعيد بناء قائمة العناوين من أرشيف البريد: 15 ألف رسالة و41 عنوانًا. انتقلت النطاقات إلى Stalwart مستضاف ذاتيًا، وأُعيد إنشاء العناوين كأسماء مستعارة وقوائم. تُنشر DKIM/SPF/DMARC تلقائيًا من المنطقة التي يخدمها الخادم نفسه.
النتيجة
نقل دون فقدان أي رسالة، وسمعة النطاق سليمة. وتُضاف النطاقات الجديدة الآن بأمر واحد.
02
ذكاء اصطناعي يفرز صندوق البريد بدل التنظيف اليدوي
47,000 رسالة في صندوق البريد
عدة نماذج لكل رسالة
إيقاف طارئ وحدّ يومي
المشكلة
لا يمكن فرز سبعة وأربعين ألف رسالة يدويًا، ولا يمكن التراجع عن حذف خاطئ. كان لا بد أن تكون الأتمتة جديرة بالثقة بما يكفي لتحذف.
الحل
خط معالجة: إزالة التكرار، والتجميع حسب جهة الاتصال، وأحكام من عدة نماذج، ولا يُتخذ قرار إلا عند اتفاقها. يجري العمل على دفعات بحدّ يومي وإيقاف طارئ.
النتيجة
صندوق البريد يُرتّب نفسه. وتُحال الحالات الخلافية إلى إنسان في قائمة واحدة بدل رسالة برسالة.
03
تطوير متعدد الوكلاء على نماذج مجانية
275,000 رمز لكل دفعة
0 من إنفاق الاشتراك المدفوع
القبول وفق معايير مكتوبة
المشكلة
العمل مع LLM يصطدم بحاجزين معًا: سعر النماذج المدفوعة وجودة إجابات المجانية.
الحل
تُقسَّم المهام إلى أجزاء وتُسلَّم إلى نماذج مجانية. تمر النتيجة عبر مدقِّق مستقل وقبول وفق معايير مكتوبة مسبقًا.
النتيجة
تقدّم دفعة واحدة 275 ألف رمز من عمل النماذج المجانية دون أي إنفاق على الاشتراك المدفوع، مع بقاء القبول قائمًا.
04
شبكة خاصة تمتد عبر ثلاث دول
3 دول في ثلاث مناطق زمنية
2 قنوات إدارة
بروكسي مع توجيه حسب النطاق
المشكلة
الوصول إلى الخدمات والموارد الخارجية من ثلاث دول. بعض الموارد مقيّدة جغرافيًا، وبعضها لا يمكن بلوغه إلا من داخل البنية.
الحل
MikroTik وWireGuard، وبروكسي مجزّأ بتوجيه حسب النطاق، وقناة إدارة احتياطية إن تعطلت الرئيسية. قوائم سماح ذاتية الخدمة عبر بوت Telegram.
النتيجة
الخدمات متاحة من أي جهاز من أجهزة العميل. وفقدان الرابط الرئيسي لا يقطع الإدارة.
حالات أخرى
منفّذ مستقل مع مراجِع
بنيتُ وكيلًا منفّذًا يأخذ المهام من طابور ويكتب الخطوات في المحادثة ويسلّم العمل وفق معايير قبول مكتوبة. يراجع وكيل ثانٍ النتيجة ويحتفظ بسجل مسمّى للإجراءات التي لا رجعة فيها.
بوتات Telegram وجسر محادثة
بنيتُ بوتات Telegram على Bot API وعملاء MTProto، بعملية واحدة لكل حساب. تستطيع قراءة السجل وتصديره. كما بنيتُ جسرًا إلى محادثة العمل وبوت قائمة سماح ذاتي الخدمة.
عنقود Kubernetes على أجهزة خاصة
شغّلتُ عنقود k3s على أجهزة خاصة بعشرات الخدمات. الإعداد شيفرة، ويجري الطرح مضيفًا بعد مضيف فتبقى البقية قيد العمل.
سيناريوهات Ansible مع إثبات حي
كتبتُ نحو 200 سيناريو Ansible. كل طرح يتحقق من الصياغة ويمضي مضيفًا بعد مضيف ويُثبَت بأمر لا بكلمة «تم».
مراقبة ترفع المضيفين الصامتين
بنيتُ المراقبة على Grafana وVictoriaMetrics. يرصد مراقب المضيفين الصامتين ويعيد الجهاز المتوقف عبر الجيران والمشرف الافتراضي.
صفحة التكرارات المرئية مع وسوم المصدر
بنيتُ صفحة للتكرارات المرئية: تُجمَّع اللقطات المتشابهة وتُوسم بمصدرها ويمكن إلغاء تحديدها. الواجهة الخلفية والأمامية تعملان؛ وجُمعت مجموعة اختبار من مئات اللقطات بدقة ودون فقدان أي مفتاح.
طلب نفق تلقائي عند حظر موقع جغرافيًا
بنيتُ فرزًا للحظر الجغرافي: تُؤخذ النطاقات من الصفحة والسكربتات، ويُفحص كل منها من منطقتين، وتتحول القوالب المطابقة إلى طلب نفق جاهز. على موقع حي، أنتج الحظر من منطقة والنجاح من الأخرى الطلب تلقائيًا.
التسخين التلقائي للذاكرة المؤقتة: بدء بارد من ثوانٍ إلى أجزاء من الثانية
بنيتُ تسخينًا تلقائيًا للبيانات الغائبة عن الذاكرة المؤقتة: حلقة خلفية تسخّن الشرائح المطلوبة مسبقًا. بعد تفريغ كامل، تعود الصفحات الرئيسية دافئة في أجزاء من الثانية بدل بناء بارد طويل.
أعمال حديثة
صفحة التكرارات المرئية مع وسوم المصدر. بنيتُ صفحة للتكرارات المرئية: تُجمَّع اللقطات المتشابهة وتُوسم بمصدرها ويمكن إلغاء تحديدها. الواجهة الخلفية والأمامية تعملان؛ وجُمعت مجموعة اختبار من مئات اللقطات بدقة ودون فقدان أي مفتاح.
التسخين التلقائي للذاكرة المؤقتة: بدء بارد من ثوانٍ إلى أجزاء من الثانية. بنيتُ تسخينًا تلقائيًا للبيانات الغائبة عن الذاكرة المؤقتة: حلقة خلفية تسخّن الشرائح المطلوبة مسبقًا. بعد تفريغ كامل، تعود الصفحات الرئيسية دافئة في أجزاء من الثانية بدل بناء بارد طويل.
طلب نفق تلقائي عند حظر موقع جغرافيًا. بنيتُ فرزًا للحظر الجغرافي: تُؤخذ النطاقات من الصفحة والسكربتات، ويُفحص كل منها من منطقتين، وتتحول القوالب المطابقة إلى طلب نفق جاهز. على موقع حي، أنتج الحظر من منطقة والنجاح من الأخرى الطلب تلقائيًا.
تنظيف خادم LLM محلي. أُزيلت أوزان نماذج غير مستخدمة بحجم 176 GB دون إيقاف أي نموذج عامل: بقيت خدمة LLM الرئيسية ونموذج التضمين قيد التشغيل طوال الوقت. التنظيف عبارة عن سيناريو Ansible قابل للتكرار على أي جهاز، وأصبحت الإعدادات والتوثيق مطابقة للحالة الفعلية. انخفض استخدام القرص من 87% إلى 50%.
نقل بنية البريد الإلكتروني لنطاقين إلى خادم مخصص. نُقلت صناديق البريد والقوائم البريدية من استضافة خارجية إلى خادم بريد مستضاف ذاتيًا. أُنشئ نطاقان و10 أسماء مستعارة و47 قائمة بريدية؛ واستُعيدت سجلات MX وSPF وDMARC وDKIM. تستقبل جميع العناوين الـ 57 البريد، وسُلّمت رسائل الاختبار، وتم التحقق من التسليم من مضيفين خارجيين.
ضبط نافذة السياق: انخفض استخدام الذاكرة المؤقتة بنحو 75%. تتبّعتُ سبب نمو الذاكرة المؤقتة في الجلسات الطويلة. شكّلت نسبة صغيرة من الجلسات الطويلة معظم الحِمل، فضُبط التقليم وفق هذا النمط. انخفض استخدام الذاكرة المؤقتة بنحو الثلاثة أرباع للحِمل نفسه.
التقنيات
الأدوات التي يقوم عليها كل شيء
المنصة
Linux
Proxmox
Kubernetes (k3s)
Podman / Docker
Ansible · 731 سيناريو
البيانات
PostgreSQL
Valkey / Redis
RAG والبحث المتجهي
التطوير
Python / FastAPI
TypeScript / Vue
Android / Kotlin
البريد والوصول والويب
Stalwart (JMAP / IMAP / SMTP)
OIDC / OpenBao
Nginx / Caddy
الشبكات
MikroTik
WireGuard
LLM
Claude
Qwen
نماذج محلية على llama.cpp
المراقبة وCI
Grafana / VictoriaMetrics
Forgejo / CI
طريقة عملي
أربع خطوات من أول رسالة إلى التسليم
كل نتيجة مُثبَتة بتشغيل وسجلات، لا بعبارة «إنه يعمل».
1
فهم المهمة
ما يجب أن تكون عليه النتيجة، وما يعيق، وأين توجد البيانات ومن المستخدمون. نعمل على موادك، لا على العموميات.
2
الهندسة المعمارية وعرض السعر
يُكتب مخطط الحل وقائمة الأعمال ومعايير القبول قبل أن يبدأ أي شيء. ويرتبط السعر بالمراحل لا بالساعات.
3
عمل مع إثبات
تُختتم كل مرحلة بتشغيل: مخرجات الأوامر والسجلات ولقطات الشاشة. ترى ما أُنجز قبل أن تضطر إلى السؤال.
4
التسليم والدعم
توثيق وصلاحيات ونشر قابل للتكرار. يعيش النظام بدوني، وإن رغبت أبقى للدعم.
الأسئلة الشائعة
إجابات قصيرة عن الأسئلة الشائعة
الأرقام والخطوات نفسها كما في الصفحة، ويسهل اقتباسها في البحث أو لمساعد ذكي.
ماذا تفعل SyCraft؟
هندسة أنظمة متكاملة: البنية التحتية وDevOps، ووكلاء ذكاء اصطناعي قائمون على LLM، وخدمات الويب، والبريد والشبكات. كل نتيجة مُثبَتة بتشغيل وسجلات لا بالادعاءات.
كم الخبرة وما الذي يعمل بالفعل في الإنتاج؟
20 عامًا في الهندسة، و731 سيناريو Ansible و154 دورًا، و98 خدمة موثقة، و8 منتجات خاصة قيد الإنتاج المستمر، ونحو 40 مضيفًا في ثلاث دول إضافة إلى عنقود k3s.
كيف يجري التعاقد؟
أربع خطوات: تحديد نطاق المهمة، ثم الهندسة المعمارية وعرض السعر مع معايير القبول، ثم عمل مع إثبات في كل مرحلة، ثم التسليم مع التوثيق ونشر قابل للتكرار.