الدروس · الدرس 1 من 5
لا شيء يصل إلى الموديل بعد
ما هي جولة الاستخراج، وما الذي يرفضه التطبيق قبل أن ينفق مالاً، ولماذا تُعامَل المسوّدة غير المراجَعة على أنها عمل يضيع.
الدرس 1 من 5 · 22 د
عمّا يدور هذا الدرس
الاستخراج ليس حفظاً. يقرأ التطبيق ملفّ المشتري ويعرض عليك ما يظنّ أنه وجده. وتجلس تلك المسوّدة في سجلّ خاصّ بها. وتبقى هناك حتى تقبلها أو تلقيها. وهذا الدرس عن ذلك السجلّ. أخطئ فيه فتخسر قراءة دفعت ثمنها، أو تطمس موديلاً بتخمين.
لوكينيا أباريل (Lukenya Apparel) مصنع تريكو في آثي ريفر في كينيا. يشغّل خمسة خطوط خياطة ويبيع ملابس الأطفال إلى أوروبا. ويظهر في هذا المساق أربعة أشخاص.
- مويكالي نزيوكا (Mwikali Nzioka) تملك العمل. ودورها في مساحة العمل هو المالك / المدير العام.
- زوادي كيلونزو (Zawadi Kilonzo) دورها منسّق التجارة. وهي التي تنفّذ الاستخراج.
- كيميو موسيمبي (Kimeu Musembi) دوره منسّق التجارة أيضاً. وهو الذي يرفع الملفّ نفسه مرّتين.
- نالياكا ويكيسا (Naliaka Wekesa) دورها مسؤول التوريد.
والملف الفني المستعمَل في الدروس الخمسة كلّها يأتي من كورفيلي (Corvely)، وهي سلسلة أوروبية لملابس الأطفال. وهو لطقم بيجامة من الجيرسيه القطني. ورقم المشتري له هو CV-4482، والموديل الذي يصير إليه هو STY-317.
قل الأساس مرّة واحدة، لأن المساق كلّه يقوم عليه. كل عنوان وزرّ واسم حقل ورسالة وعتبة في هذه الصفحات مقروء من شيفرة التطبيق نفسها. ولم يُنقل شيء منها عن وصف. وحيث يعطي الدرس نتيجة حسابية، يُعرض العمل كلّه لتستطيع إعادته. وحيث يتوقّف شيء على كيفية إعداد مساحة عملك أنت، يقول الدرس ذلك ويسمّي الإعداد.
الرفع ليس هو المعاملة
تفتح زوادي قمع إنشاء الموديل في وضع الملف الفني. وتختار الملفّ CV-4482 pyjama set TP v3.pdf وتضغط Extract أي «استخرج». يظهر شريط تقدّم. وعنوانه لا يتوقّف عن التغيّر، ومعه ملاحظة تقول إن الملف الفني الثقيل قد يستغرق دقيقة إلى دقيقتين، وتطلب منها إبقاء اللسان مفتوحاً. والعناوين أمينة عن نفسها. فنداء القراءة لا يبلّغ أي تقدّم، فالشريط تقدير زمنيّ لا غير، معروض بجانب عدّاد ثوانٍ حيّ.
وحين ينتهي، تمتلئ الشاشة بالحقول. لم يُنشَأ أي موديل. ولا وجود لأي سطر من قائمة مواد طقم البيجامة. وما حدث فعلاً أصغر ممّا يبدو، ويستحقّ الدقّة.
كُتب شيئان. خُزّن الملفّ مرفقاً، معنوناً بأنه مصدر الاستخراج بالذكاء الاصطناعي. وأُنشئ صفّ واحد في جدول جولات الاستخراج. ويحمل ذلك الصفّ جواب النموذج الخام، والوضع الذي عمل فيه، وبصمة الملفّ.
ذلك الصفّ هو الجولة. وهو الوحدة التي تدور عليها هذه الوحدة كلّها. وبقيّة هذا الدرس عمّا تفعله لك.
ما الذي يرفضه التطبيق قبل أن ينفق شيئاً
الاستخراج يكلّف مالاً. والاستخراج المحكوم عليه بالفشل يكلّف مثله. فتجري سلسلة فحوص قبل أن يُنادى النموذج أصلاً. وكل رفض يسمّي الخطأ بدل أن يفشل بغموض.
| الفحص | أين يجري | ماذا يفعل عند الرسوب |
|---|---|---|
| نوع الملفّ وحجمه | في المتصفّح، ثم على الخادم مرّة أخرى | يرفض، ويذكر حجم الملفّ والحدّ في الجملة نفسها |
| حدّ الرفع على المستضيف | في المتصفّح | حيث يكون تخزين الملفّات الكبيرة مطفأً، يُرفض الملفّ الذي يتجاوز 4 MB. وتقول الرسالة أعِد حفظه جدولاً أو قسّم الـ PDF |
| حدود المستند لدى النموذج | في المتصفّح، ثم على الخادم مرّة أخرى | يُرفض PDF فوق 32 MB أو فوق 100 صفحة، ويُعرض مقسّم الموديلات بدلاً منه |
| ملف فني قُرئ من قبل | على الخادم، على محتوى الملفّ | يعرض ما جرى له آخر مرّة، ويعرض تشغيله مع ذلك |
| حصّة الاستخراج الشهرية | على الخادم، مقابل مساحة العمل | يرفض، ويسمّي الحصّة. وغياب الحصّة يعني غياب المنع |
| الإنفاق اليومي وأهلية الذكاء الاصطناعي | على الخادم، عند النقطة الوحيدة التي يمرّ بها كل نداء حيّ | يرفض بلغة واضحة قبل أن يغادر أي طلب |
اثنان من تلك تستحقّ نظرة ثانية.
فحص عدد الصفحات يجري في متصفّحك. وهو يستعمل القارئ نفسه الذي يرسم المعاينة. وهذا ليس حدّاً أمنياً ولا يُقصد به ذلك. فالخادم يفحص الحجم مرّة أخرى بنفسه، وحدّ المئة صفحة لدى النموذج هو الحاجز الأخير. والفحص في المتصفّح موجود ليعطيك جملة مفيدة بدل فشل مدفوع.
وفحص الحصّة يرسب مفتوحاً. فإن تعذّرت قراءة اللوحة التي تحمل حدّ مساحة عملك، يمضي الاستخراج على أي حال. والسبب مكتوب في الشيفرة: الإنفاق الزائد يمكن تداركه لاحقاً، والمصنع المتوقّف في الثانية صباحاً لا يمكن.
تحذير التكرار، والشيء الذي لا يراه
قبل تخزين أي شيء، يأخذ التطبيق بصمة SHA-256 لبايتات الملفّ. والبصمة أثر قصير للملفّ كلّه. ثم يبحث التطبيق عن جولة سابقة لها البصمة نفسها.
هذه هوية بـالمحتوى لا بالاسم. يعيد كيميو تسمية الملفّ corvely pyjamas FINAL.pdf ويرفعه. البايتات نفسها والبصمة نفسها. فتظهر له لوحة عنوانها أنك رفعت هذا الملف الفني من قبل. وتخبره أنه استُخرج وحُفظ في موديل، وفي أي تاريخ. ولم يعمل أي ذكاء اصطناعي.
والآن النصف الآخر، وهو الأهمّ. تصدر كورفيلي الملف الفني من جديد بمقاس زرّ مصحَّح. يختلف بايت واحد، فتصير البصمة الجديدة بلا صلة بالقديمة، ويرى التطبيق ملفّاً جديداً تماماً. وهذا صحيح. فهو ملف فني جديد ويجب أن يُقرأ. لكن انتبه إلى ما يعجز عنه الحارس بسبب ذلك. يستطيع أن يخبرك أن ملفّين متطابقان. ولا يستطيع أبداً أن يخبرك أن ملفّين متشابهان. ولا شيء في التطبيق يقارن النسخة الثالثة من ملف فني بالرابعة. تلك المقارنة عملك أنت، والدرس الخامس هو موضع عضّها.
والتحذير تحذير لا جدار. فبجانبه Extract again anyway أي «استخرج مرّة أخرى على أي حال»، ورابط إلى العمل السابق. وأيّ جولة سابقة تُعرض عليك أمر مرتَّب عن قصد: المُطبَّقة أولاً، ثم التي قيد المراجعة، ثم التي بانتظار المراجعة، ثم المُتجاهَلة. وداخل كل مرتبة تأتي الأحدث أولاً.
الجولة وحالاتها الأربع
تُنشأ الجولة بانتظار المراجعة. ويحرّكها أول تعديل منك إلى قيد المراجعة. ومن هناك تنتهي في واحد من موضعين اثنين لا ثالث لهما. تصير مُطبَّقة حين تحفظها في موديل، أو مُتجاهَلة حين تلقي المسوّدة.
ويترتّب على ذلك ثلاثة أمور، والناس يخطئون فيها كلّها.
إعادة التحميل آمنة. فما إن يعود النموذج حتى يدخل معرّف الجولة في شريط العنوان. أعِد تحميل الصفحة، أو أغلق الحاسوب، أو عُد غداً، وتُفتح المراجعة تماماً حيث كانت. ولا يوجد نداء ثانٍ للنموذج. وتُحفظ تعديلاتك في الجولة بعد لحظة من توقّفك عن الكتابة. ويخبرك الشريط في أسفل الشاشة بالحال التي أنت فيها، منتهياً عند «حُفظت المسودة — يمكنك المغادرة والعودة لاحقاً».
الجولة المُطبَّقة لا تُحرَّر ولا تُتجاهَل. والرفض صريح: الاستخراج المُطبَّق لا يُتجاهَل، لأنه سجلّ مصدر بيانات الموديل. افتحه ثانيةً فتحصل على مراجعة للقراءة فقط، مع سطر يقول ذلك ويحيلك إلى ألسنة الموديل نفسه لأي تغيير.
والموديل الذي جاء من ملف فني لا يعرض الاستخراج مرّة أخرى. ففي شاشة الموديل يقرأ الزرّ البنفسجي Review extracted tech pack أي «مراجعة الملف الفني المُستخرَج» بدل Extract from tech pack أي «استخراج من الملف الفني»، ويفتح تلك الجولة للقراءة فقط. وعلى موديل بُني باليد لا يوجد الزرّ أصلاً. فإعادة الاستخراج في موديل قيد العمل تطمس عملاً حقيقياً، فيزيل التطبيق الخيار بدل أن يحذّرك منه.
القراءة التي تفشل، والقراءة التي تكذب
أحياناً يعيد النموذج شيئاً لا يستطيع التطبيق قراءته. وحين يحدث ذلك يعيد التطبيق حقولاً فارغة ورسالة. ولا يعيد أبداً بيانات تبدو معقولة فحسب.
وتلك القاعدة مكتوبة في الشيفرة ومعها الخلل الذي أنتجها. رُفع جينز، فعرضت الشاشة تي-شيرت ثقيلاً، لأن آليّة احتياطية قديمة قدّمت عيّنة معلّبة مختومة بأنها نتيجة حيّة. والقراءة الملفّقة أسوأ كثيراً من القراءة الفاشلة. فالفاشلة تعيدك إلى الرفع. والملفّقة تذهب بك إلى المشتري.
وثمّة إعادة محاولة تصحيحية واحدة. تخبر المحاولة الثانية النموذج صراحةً بأن جوابه السابق كان غير صالح. فإن رسبت الإعادة أيضاً، فالرسالة الأولى هي التي تراها، ولا تُخزَّن أي جولة البتّة. الملفّ يُخزَّن، والجولة لا. فرفع الملفّ نفسه ثانيةً لا يوقظ تحذير التكرار، وهو بالضبط ما تريده بعد قراءة لم تنتج شيئاً.
وثمّة عنوان أخير تتعلّمه. في مساحة عمل لا يعمل فيها الذكاء الاصطناعي الحيّ، يظلّ المستخرِج يعمل. ويعيد بيانات معلّبة واقعية حتى تُتعلّم الشاشة وتُعرض. وهو يقول ذلك بجوار عنوان المسودة: (sample — no live AI) أي «عيّنة — لا ذكاء اصطناعي حيّ». فإن رأيت تلك الشارة فلا شيء على الشاشة جاء من ملفّك.
لا شيء يتعفّن بصمت
الجولة غير المراجَعة عمل دفع أحدهم ثمنه وهو واقف. فكل جولة مفتوحة، بانتظار المراجعة كانت أو قيد المراجعة، تظهر في صفحة My Work أي «عملي» استثناءً كهرمانيّاً، مع رابط يعود بك إلى المراجعة مباشرة. وتطبيقها أو تجاهلها يزيل البند.
وثمّة سجلّ أيضاً. فصفحة Tech pack files أي «استلام الملفات الفنية» تسرد كل رفع صفّاً واحداً، الأحدث أولاً. ويُقرأ كل صفّ ملفّاً ثم موديلاً ثم حالاً، مع رابط استئناف ما دامت الجولة مفتوحة. وعدّة جولات على موديل واحد هي مراجعات ذلك الموديل.
اختبر فهمكتستخرج زوادي الملف الفني CV-4482، وتعدّل ثلاثة حقول، ثم تغلق اللسان دون حفظ. لم يُكتب شيء في أي موديل. فماذا يوجد في النظام صباح الغد، ومن يُخبَر به؟أظهر الإجابة
توجد ثلاثة أشياء. ملفّ الـ PDF المرفوع، مخزَّناً مرفقاً. والجولة، حاملةً جواب النموذج الأصلي دون مساس، ومعه نسختها العاملة المحفوظة في عمود منفصل. وبند كهرمانيّ في «عملي» يقول إن مراجعة ملف فني قيد التقدّم. وهو يسمّي الملفّ، ورابطه يعيد فتح مراجعتها بعينها بتعديلاتها الثلاثة. لا موديل ولا سطر قائمة ولا صفّ مقاس. وحال الجولة نفسها انتقلت من بانتظار المراجعة إلى قيد المراجعة لحظة حُفظ أول تعديل لها. وتلك طريقة التطبيق في تسجيل أن إنساناً بدأ، لا أن ملفّاً وصل.
اختبر فهمكترسب قراءة برسالة «تعذّرت قراءة الجواب». فترفع زوادي الملفّ نفسه فوراً مرّة أخرى. هل يظهر لها تحذير التكرار، ولماذا هذا هو التصميم الصحيح؟أظهر الإجابة
لا يظهر، لأنه لم تُخزَّن أي جولة. ففحص التكرار يبحث عن جولةٍ سابقة لها بصمة المحتوى نفسها، ومسار الفشل يعود قبل إنشاء الجولة. وذلك هو السلوك الصحيح. فتحذيرها من ملفّ لم ينتج شيئاً حتى الآن يحبس الملف الفني خلف رسالة عن عمل غير موجود. لكن انتبه إلى ما خُزّن فعلاً. فالمرفق حُفظ قبل محاولة الاستخراج، فمساحة عمل ترسب فيها عدّة قراءات على ملف فني واحد ستجمع نسخاً منه على السجلّ.
موجّه · هل هذا الملف الفني جاهز للاستخراج أم جاهز للرفض
قبل أن ترفع ملفّ ليسترٍ، وخصوصاً الثقيل أو الذي تشكّ أنك رأيته من قبل.
ساعدني في تقرير هل يستحقّ ملف فني أن يُرفع إلى مستخرِج، وماذا أتوقّع إن لم يكن كذلك. سأخبرك: نوع الملفّ وامتداهذا، وحجمه، وعدد صفحاته إن كان PDF، وهل يغطّي موهذهلاً واحداً أم عدّة موهذهلات، وهل تلقّيت نسخة أسبق من الملف الفني نفسه، وهل الذكاء الاصطناعي الحيّ مفعَّل في مساحة عملي. اعمل علماذا بهذا الترتيب، وأجب عن كل جزء على حدة. أولاً، الرفض. أيّ حدود الحجم وعدد الصفحات ونوع الملفّ معرَّض هذا الملفّ لبلوغه؟ وما أرخص ما أستطيع فعله حيال كلّ منها: إعادة الحفظ، أو التقسيم، أو طلب صيغة أخرى من الليستري؟ ولا تخمّن رقم حدّ بعينه لنظامي. قل لي أي حدّ ينطبق، وقل لي أن أقرأ الرقم من شاشتي أنا. ثانياً، التكرار. إن كانت عنهذه نسخة أسبق من هذا الملف الفني، فقل صراحةً إن فحص المحتوى لا يستطيع إلا أن يخبرني أن ملفّين متطابقان. ولا يستطيع أن يخبرني أنهما متشابهان. ثم أعطني مقارنة يدوية قصيرة أجريها بين النسختين قبل استخراج الجهذهدة. ثالثاً، ضبط التوقّع. بالنظر إلى نوع الملفّ، قل أي أجزاء الملف الفني يستطيع هذا الملفّ ملأها واقعياً وأيّها لا يستطيع. أريد أن أعرف قبل أن أنظر إلى شاشة المراجعة ما الذي يعنيه قسم فارغ. قاعدتان. لا تقل لي إن الاستخراج سيكون دقيقاً. وإن توقّف الجواب على إعداد مساحة عملي، فقل ذلك وسمّ ما ينبغي أن أفحصه بدل الافتراض.
قد يخطئ الذكاء الاصطناعي — تحقّق من أي شيء ستتصرّف بناءً عليه.