المدونة · وراء الكواليس
كيف صنعنا أول 117 كتابًا و3114 صفحة، والشيفرة التي صنعتها
ما صنعته سطور حتى الآن بالأرقام، وخط الإنتاج المفتوح المصدر وراءه: كيف يُصنع الكتاب، وكم استغرق من وقت الآلة، وكيف تشغّله بنفسك.
· 5 دقائق قراءة
باختصار
- في سطور الآن 117 كتابًا و3114 صفحة، لـ24 مؤلفًا في 14 نوعًا أدبيًا، ولكل كتاب نصه العربي الأصلي إلى جانب الصور.
- والشيفرة التي ترسمها صارت عامة: github.com/fr3on/sutur، المجلد pipeline/، بترخيص MIT. أما الكتب فبترخيص CC BY 4.0.
- حدود صريحة: أرقام «كيف صُنعت» تغطي 93 كتابًا من 117، وليس لدينا معدل مراجعة بشرية بعد، ومهمة الصوت غير مستخدمة، والنشر إلى الموقع محروس.
الأرقام
الأرقام من الموقع الحي بتاريخ 23 أكتوبر 2026. أرقام «كيف صُنعت» تغطي 93 كتابًا من 117، لأننا بدأنا تسجيل كيفية صنع كل كتاب في منتصف الطريق، فالكتب الـ24 الباقية ليس لها هذا السجل، وكل مجموع في هذه الأرقام حدٌّ أدنى وليس العدد الكامل. و«الصور على القرص» هي المرشحات المتبقية عند نشر كل كتاب (يرسم النموذج عدة صور لكل لوحة ويبقى أفضلها). وساعات الزمن الـ34.6 هي 19.7 ساعة من الكتب الـ66 التي احتفظت بسجل لكل مرحلة، و14.9 ساعة من 27 كتابًا احتفظت بمجموع واحد فقط.
- كتابًا منشورًا
- 117
- صفحة
- 3114
- صورة شخصية
- 595
- مؤلفًا
- 24
- نوعًا
- 14
- من ملفات PDF
- 1003 MB
- لوحة
- 13129
- صورة على القرص
- 40453
- كلمة من النص الأصلي
- 584038
- استدعاءً لنموذج لغوي
- 22877
- وحدة (توكن)
- 24 M
- من زمن خط الإنتاج
- 34.6 h
| الأصغر | النموذجي (الوسيط) | الأكبر | |
|---|---|---|---|
| الصفحات | 9 | 30 | 52 |
| اللوحات (93 كتابًا) | 36 | 158 | 234 |
تشمل الصفحات الغلاف وصفحة وراء الكواليس وصفحة الشخصيات.
كيف يُصنع الكتاب
يُقطَّع النص إلى قطع بحجم لوحة. ويكتب نموذج لغوي من فئة 7 مليارات الشخصياتِ ووصفَ رسمٍ لكل لوحة. ويرسم نموذج الصور كل لوحة، ثلاثة مرشحات في كل مرة. ثم يفحص فاحصان كل صورة: أحدهما يجد الكلمات التي رُسمت بالخطأ، والآخر نموذج رؤية يعلّم ما يرفضه المراجع. وتُعاد رسوم الصور المعلَّمة. بعد ذلك تضع الشيفرة، لا النموذج، الحروف العربية بخط حقيقي، وتبني الصفحات وصفحة الشخصيات والغلاف وملف PDF.
وفي خط الإنتاج كل خطوة من هذه مهمة، وعددها ثلاث عشرة، ويرتّبها مشغِّل لكل مجلد. وتعمل مهمة المراجعة على جولات: حكم، ثم عزل الصور المعلَّمة، ثم إعادة رسم، ثم حكم من جديد.
النموذج الصغير الذي يكتب الأوصاف
النموذج اللغوي أرخص خطوة وأحد أهمها. استغرق 1.4% من وقت الآلة، لكنه هو الذي يقرر ما تُظهره كل صورة. يأخذ لكل لوحة المقطع والمقطع الذي قبله وقائمة الشخصيات مع هيئاتها المكتوبة، ويجيب بجملة واحدة من 20 إلى 40 كلمة: من، وأين، وماذا يفعل، واللقطة والضوء.
في المكتبة كلها كان ذلك 22877 استدعاءً ونحو 24 مليون وحدة (توكن)، أي نحو 1.7 استدعاء ونحو 1800 وحدة لكل لوحة. ونموذج من فئة 7 مليارات يخطئ، فمعظم العمل حوله: لا يبقى وسم الشخصية إلا إذا ذكرها المقطع، وتُحذف الكلمات التي تجعل نموذج الرسم يرسم فقاعات كلام أو لافتات أو هواتف أو نظارات، وتدخل في كل طلب قائمة قواعد كتبناها من مراجعاتنا (كيف تبدو الأيدي والأشياء المحمولة، وأن الكلام يُظهَر بوضعية الجسد لا بالفقاعات، وأن العري لا يظهر إلا حيث يقتضيه المقطع ولا يكون صريحًا أبدًا).
ومع ذلك يخطئ، لذلك تراجع الشيفرة عمله: الدور المكتوب بالإنجليزية يترجمه استدعاء ثانٍ، والشخصية التي ليس اسمها العربي عربيًا خالصًا تُحذف، ووسم الشخصية التي لا يذكرها المقطع يصير «شخصًا ما». وفي مجلدات «ألف ليلة وليلة» كانت قائمة الشخصيات خاطئة إلى حد أننا أعدنا كتابتها كلها يدويًا على النص.
ما الذي يلزم لتشغيله
نشغّله على بطاقة GH200 واحدة بذاكرة 96 غيغابايت: تتشاركها نسختان من نموذج الرسم ونموذج نصي ونموذج رؤية من فئة 7 مليارات (نحو 86 غيغابايت قيد الاستخدام). وقصة قصيرة من 64 لوحة و11 صفحة و192 صورة انتقلت من النص الخام إلى ملف PDF في نحو خمس دقائق (308 ثوان).
ويمكنك أن تبدأ دون بطاقة رسوميات: الاختبارات تعمل في أي مكان، والتشغيل التجريبي يعرض خطة المجلد قبل أن يُرسم أي شيء.
- الرسم480 min · 40.6%
- مراجعة الرؤية322 min · 27.2%
- فحص النص301 min · 25.5%
- صور الشخصيات50 min · 4.3%
- التخطيط (نموذج لغوي)17 min · 1.4%
- تجميع الصفحات8 min · 0.7%
- الغلاف2 min · 0.2%
- PDF2 min · 0.1%
محسوبة على الكتب الـ66 التي احتفظت بسجل لكل مرحلة: 19.7 ساعة في المجموع.
ما مستوى الصفحات؟
ليس لدينا درجة لذلك، فهذه هي الصفحات نفسها.
أول صفحة من القصة في كل كتاب، دون اختيار الأجمل.
وثبات الشخصية هو الجزء الصعب. فنموذج الرسم لا يملك مرجعًا للوجه، فتبقى الشخصية واحدة فقط لأن الوصف المكتوب نفسه يدخل في كل لوحة تظهر فيها. في الشبكة يثبت الشعر الطويل الداكن والقميص الفلاحي الفاتح، وتختلف تسريحة الشعر والوجه والعمر الظاهر.

ست من اللوحات الـ48 التي تذكر الشخصية الرئيسية في مجلد الاختبار (كل لوحة ثامنة، دون اختيار).
وما لم نقسه هو كم مرة يحتاج إنسان إلى تغيير شيء. ينظر إنسان في الكتب، عمليًا بعد أن تكون على الموقع، وقد أعدنا رسم مجلدات ونشرها من جديد حين وجدت مراجعة خطأً منهجيًا (كان السبب مرة سطرًا في الوصف جعل النموذج يرسم هواتف وسيارات). ولا نحتفظ بعدّاد للتغييرات في كل مجلد، فلا يوجد معدل مراجعة نذكره بعد.
ما تحققنا منه وما لم نتحقق منه
الصور المرسومة لا يمكن إعادة إنتاجها عبر نسخ الخادم: الوصف والبذرة نفسهما يعطيان الصورة نفسها على نسخة واحدة من نموذج الرسم، وصورة مختلفة على نسخة أخرى. أما كل ما بعد الصور فيمكن إعادته: بالصور نفسها تعطي الحروف والتخطيط وتجميع الصفحات الصفحات نفسها بكسلًا بكسل.
ولم يكتمل: مهمة نطق التعليقات موجودة، لكن الصوت العربي المفتوح الذي جرّبناه نطق الحركات واللهجة خطأً، فلا نستخدمه. ومهمة النشر الجديدة جرى اختبارها ببديل عن الخادم، لا على sutur.ink نفسه.
ما صار مفتوحًا
خط الإنتاج كله في المستودع: المهام، واختباراتها، وتوثيق إعداد خادم الرسوميات، ومخطط للمراحل. والاختبارات لا تحتاج بطاقة رسوميات، ويشغّلها GitHub عند كل دفع يمس خط الإنتاج.
أما موقع القراءة فليس في المستودع بعد. والنشر إلى الموقع محروس في الشيفرة عمدًا: لا يعمل إلا بموافقة صريحة، ولا يُكتب عنوان خادم الإنتاج فيه.
ملاحظات تقنية
- الكتب117 كتابًا منشورًا، 3114 صفحة، 24 مؤلفًا، 14 نوعًا
- كيف صُنعت (93 كتابًا)13129 لوحة، 40453 صورة، 584038 كلمة، نحو 34.6 ساعة من زمن خط الإنتاج
- الشيفرةgithub.com/fr3on/sutur، المجلد pipeline/، ترخيص MIT
- اللغةPython 3.12، وPillow هي الاعتماد الوحيد، و84 اختبارًا
- العتاد الذي نستخدمهبطاقة GH200 واحدة (96 غيغابايت): Z-Image-Turbo مرتين، وQwen2.5-7B-Instruct، وQwen2.5-VL-7B-Instruct
جرّبه بنفسك
- استنسخ github.com/fr3on/sutur وثبّت المجلد: pip install ./pipeline.
- شغّل الاختبارات، ولا تحتاج بطاقة رسوميات: python -m unittest discover -s tests -t . داخل pipeline/.
- وجّهه إلى خوادمك بالمتغيرات GPU_URLS وVL_URL وLLM_URL.
- اطّلع على خطة المجلد قبل رسم أي شيء: sutur-pipeline --root comic run BOOK VOL make --dry-run.
- النشر يحتاج --yes وعنوان خادم تعطيه بنفسك.



