AlNuzum
AR
كل المشاريع
منتجنا الخاص

Togable: ما الذي يقف بين الوصف بالكلمات والبوت العامل

يوصَف البوت بكلمات عادية. وبعد ذلك تعمل البنية المحيطة: مواصفة يُكتب فيها السلوك سيناريوهات، وحاوية منفصلة وقاعدة بيانات خاصة لكل بوت، وفحص الاستعلامات على بيانات حية، وتقرير بما لم يُنجَز.

togable.xyz مفتوح، والتجميع يبدأ بعد التسجيل

Переписка: описание бота словами, карточка с шестью вопросами агента и ответы человека
وصف الإنسان البوت في فقرة واحدة. ولم يبدأ الوكيل بكتابة الكود، بل سأل: هل يلزم تطبيق مصغَّر منفصل داخل Telegram، وكيف يسهل إدخال المصروف، وهل تُرفق صورة الإيصال، ومن سيستخدمه. وأدناه الأجوبة، وجواب «بسطر واحد» يقف بعدها في المواصفة ويعمل في البوت الحي.

كيف يُبنى البوت

خطوتان بين الحديث والبوت العامل: أولًا يُكتب السلوك وثيقةً، ثم يُبنى ويُفحص وفق تلك الوثيقة.

أجوبة الإنسان تصير لا سردًا داخل محادثة بل وثيقة منفصلة. السلوك مكتوب سيناريوهات، والأوامر والبيانات مذكورة هناك أيضًا، والذين يحررون المواصفة هم الناس: يقرؤها الوكيل قبل كل تعديل تالٍ للبوت. وهي مصدر الحقيقة الذي تُقاس عليه النتيجة.

المواصفة تحفظ السلوك سيناريوهات: «حين لا يكون في الرسالة مبلغ، عندها يشرح البوت الصيغة بإيجاز ولا يحفظ شيئًا». وعليها يُفحص ما بُني.

ما يخرج من الوصف بالكلمات ليس ملفًا واحدًا يجمع كل شيء، بل بوت موزَّع على وحدات: الفئات، ولوحات المفاتيح، والمعالِجات، ونقطة الدخول، والعمل مع قاعدة البيانات. وبعد كل تعديل يترجمه النظام بنفسه ويجري اختبار دخان، دورة بعد دورة حتى يستقيم.

لا توجد مصادر في الواجهة، وهذا قرار من صنّاع المنتج لا نقص: أُزيلت تبويبات الكود والسجلات عمدًا، لأنها لا تقول شيئًا لمن طلب البوت، بينما لم يكن أحد يجيب عن سؤال «ماذا يستطيع بوتي». وحلّت المواصفة محلها.

سجل البناء مفتوحًا: كتابة الملفات وتعديلها، وقراءتها، والترجمة، والتشغيل، واختبار دخان، واحدًا تلو الآخر. هذه قائمة عمليات لا سرد للكود: منها يظهر إيقاع العمل لا مضمونه.

ما الذي يخرج

البوت المبني في العمل، والتقرير الذي ينتهي به البناء.

البوت المبني بهذا المنتج يستقبل المصروف بسطر عادي ويجيب بتفصيل: المبلغ والفئة والتاريخ وكم أُنفق في هذا الشهر. والفئة تُستنتج من معنى الكلمة، وإن أُخطئت تُبدَّل بزر تحت الجواب. ومجموع الشهر يحسبه البوت عنده، ولذلك يتراكم من قيد إلى قيد.

محادثة حية مع البوت المبني. «42.80 такси»، أي 42.80 أجرة، تصير قيدًا: 42.80 دولارًا، الفئة «Такси / транспорт» أي النقل، والتاريخ، و42.80 دولارًا للشهر. والقيد التالي «отель 236.50»، أي فندق، يرفع مجموع الشهر إلى 279.30 دولارًا.

لا ينتهي البناء بكلمة «تمّ» بل بتقرير يقول على حدة ما جرى فحصه وما لم يُنجَز. وهنا يُسمّى عائقان لا يلتفّ عليهما الكود، وأحدهما ينتظر فعلًا من إنسان في جهة المنصّة. وهذا هو الفرق بين «البوت مبني» و«البوت يعمل».

التقرير يسمّي ما فُحص («فحصت استعلامات قاعدة البيانات على القاعدة الحية») وما لم يُفحص تحت عنوان خاص: عائقان خارجيان وصورة رمزية لم تُصنع.

ما الذي تحت ذلك

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

أين كانت الصعوبة

ثلاثة مفترقات كان المنتج عندها قد يصير ما لم نُرده. عند كل واحد منها ثمن الخطأ مذكور.

الكود الذي كتبته آلة لا يُقرَّب من البيانات المشتركة

ثمن الخطأيصل بوت إلى سجلات بوت آخر، ولسنا نحن من يعلم بذلك

إبقاء كل البوتات في عملية واحدة وقاعدة واحدة أبسط وأرخص. إلى أول خطأ في كود لم يقرأه أحد سطرًا سطرًا.

لذلك لكل بوت حاويته وقاعدته. وهذا أغلى في الموارد ويزيل صنفًا كاملًا من الأخطاء دفعة واحدة: لا موضع يمكن منه بلوغ بيانات الآخرين، ولو أراد أحد ذلك.

بلا مواصفة لا شيء يُفحص عليه

ثمن الخطأ«اصنع لي بوتًا للمصروفات» يُنفَّذ بمئة طريقة، ولا يبقى بعدها ما يُحتجّ به

الطلب بالكلمات ليس تكليفًا. ليس فيه ما يُعدّ جوابًا صحيحًا، ولا كيف يتصرف البوت حين لا يفهم.

بين الطلب والكود تقف مواصفة يُكتب فيها السلوك سيناريوهات «حين، عندها». عليها تُفحص النتيجة، وهي أيضًا تبقى عند الإنسان ليحررها بدل أن تختبئ داخل محادثة.

التقرير ملزَم بتسمية ما لم ينجح

ثمن الخطأيسمع الإنسان «تمّ» ثم يعرف الحقيقة من مستخدميه

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

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

أتحتاجون بناء شيء يمكن فحصه بعد ذلك؟

سنبنيه بحيث يُكتب السلوك قبل الكود، ويسمّي التقرير ما أُنجز وما لم يُنجَز. ونعرض نموذجًا عاملًا قبل الدفع.

لنناقش مهمتك