Bot oddiy so'zlar bilan tavsiflanadi. Keyin esa atrofidagi muhandislik ishlaydi: xulq-atvor ssenariylar bilan yozilgan spetsifikatsiya, har bir botga alohida konteyner va o'z bazasi, so'rovlarni jonli ma'lumotlarda tekshirish va nima qilinmagani haqidagi hisobot.
togable.xyz ochiq, yigʻish roʻyxatdan oʻtgach boshlanadi

Suhbat bilan ishlaydigan bot o'rtasida ikki qadam: avval xulq-atvor hujjat qilib yoziladi, keyin o'sha hujjat bo'yicha yig'iladi va tekshiriladi.
Odamning javoblari yozishma ichidagi qayta hikoya emas, alohida hujjatga aylanadi. Xulq-atvor ssenariylar bilan yozilgan, buyruqlar va ma'lumotlar ham o'sha yerda sanab o'tilgan, spetsifikatsiyani esa odamlar tahrirlaydi: agent uni botning har bir keyingi tahriridan oldin o'qiydi. Natija aynan shunga solishtiriladi.
So'z bilan tavsifdan hammasi bitta faylda emas, modullarga ajratilgan bot chiqadi: kategoriyalar, klaviaturalar, ishlov beruvchilar, kirish nuqtasi, baza bilan ishlash. Har bir tahrirdan keyin tizim uni o'zi kompilyatsiya qiladi va smoke-test o'tkazadi, va shu tariqa aylana bo'ylab, to'g'ri kelguncha.
Interfeysda manba kodlari yo'q, va bu mahsulot mualliflarining qarori, kamchilik emas: kod va loglar yorliqlari ataylab olib tashlangan, chunki ular bot buyurtmachisiga hech narsa demaydi, «botim nima qila oladi» degan savolga esa hech kim javob bermasdi. Ularning o'rnini spetsifikatsiya egalladi.
Yig'ilgan bot ishda va yig'ish yakunlanadigan hisobot.
Bu mahsulot yig'gan bot xarajatni oddiy satr sifatida qabul qiladi va tahlil bilan javob beradi: summa, kategoriya, sana va bu oyda qancha sarflangani. Kategoriya so'zning ma'nosidan topiladi, agar noto'g'ri topilsa, javob ostidagi tugma bilan almashtiriladi. Oylik yakunni bot o'zida hisoblaydi, shuning uchun u qayddan qaydga to'planib boradi.
Yig'ish «tayyor» so'zi bilan emas, nima tekshirilgani va nima qilinmagani alohida aytilgan hisobot bilan tugaydi. Bu yerda kod bilan aylanib o'tib bo'lmaydigan ikkita to'siq nomlangan, ulardan biri esa platforma tomonida odamning harakatini kutmoqda. «Bot yig'ildi» va «bot ishlaydi» o'rtasidagi farq aynan shu.
Uchta ayri, ularda mahsulot biz istamagan narsaga aylanishi mumkin edi. Har birida xato narxi aytilgan.
xato narxibir bot boshqasining qaydlariga yetib boradi, buni esa bizdan bilishmaydi
Hamma botlarni bitta jarayon va bitta bazada ushlab turish oson va arzonroq. Hech kim satrma-satr o'qimagan koddagi birinchi xatogacha.
Shuning uchun har bir botga o'z konteyneri va o'z bazasi. Bu resurs bo'yicha qimmatroq va butun bir sinf xatolarni birdaniga olib tashlaydi: o'zganing ma'lumotlariga yetib boradigan joy yo'q, juda xohlaganda ham.
xato narxi«menga xarajatlar uchun bot qilib ber» yuzta usulda bajariladi, keyin esa bahslashishga narsa qolmaydi
So'z bilan aytilgan iltimos topshiriq emas. Unda na nimani to'g'ri javob deb hisoblash, na bot tushunmaganda o'zini qanday tutishi bor.
Iltimos bilan kod o'rtasida spetsifikatsiya turadi, unda xulq-atvor «qachon, unda» ssenariylari bilan yozilgan. Natija shunga solishtirib tekshiriladi, va u odamda tahrir uchun qoladi, yozishma ichida yashirinmaydi.
xato narxiodam «tayyor» deb eshitadi, haqiqatni esa o'z foydalanuvchilaridan biladi
Hammasi yaxshi bo'lgan hisobot yoqimliroq va foydasizroq. Ayniqsa ishning bir qismi tashqi tomonga tiralib qolgan va tugatib bo'lmaydigan joyda.
Shuning uchun o'tmagani hisobotga alohida sarlavha ostida, odamdan aynan nima talab qilinishi bilan birga chiqariladi. Tekshirilgani esa o'sha yerda tekshirilgan deb nomlanadi: baza so'rovlari jonli ma'lumotlarda o'tkazilgan, ko'z bilan ishlaydi deb topilmagan.
Xulq-atvor koddan oldin yozilgan bo'lishi va hisobot qilingani ham, qilinmagani ham nomlashi uchun yig'amiz. Ishlaydigan prototipni to'lovdan oldin ko'rsatamiz.
Vazifani muhokama qilamiz