Asosiy kontentga o‘tish
AI qo‘llanmalari

McOracle McDonald’s bashorati qo‘llanmasi: tasodifiy bashoratdan haqiqiy menyu tavsiyasi va xavfsiz buyurtmagacha

Ushbu maqolada McOracle ishlash prinsipi, Python muhitini o‘rnatish, WorkBuddy Skill sozlamalari, McDonald’s Xitoy MCP integratsiyasi, taqdir kartasini yaratish, skriptdan foydalanish, testlash va buyurtma xavfsizligi mexanizmlari bayon etiladi.

McOracle McDonald’s bashorati: menyu tavsiyasi va xavfsiz buyurtma

McOracle nima

McOracle (McDonald’s bashorati) — faqat Skill shaklidagi AI bashorat tajribasi. Foydalanuvchi istalgan savolni berishi mumkin, tizim Python’ning secrets modulidan foydalanib, 104 ta original xitoycha bashorat orasidan haqiqiy tasodifiy usulda bitta javobni tanlaydi. So‘ng McDonald’s China rasmiy MCP orqali haqiqiy filiallar, sotuvdagi menyu va narxlarni tekshiradi hamda «McDonald’s bashoratnomasi» va taqdir kartasini yaratadi.

Loyihaning asosiy prinsipi: bashorat tasodifiy bo‘lishi mumkin, ammo mahsulot va narxlar haqiqiy bo‘lishi shart. Bashoratlar repozitoriydagi qat’iy ma’lumotlardan olinadi, model tomonidan joyida to‘qib chiqarilmaydi; taomlar, filiallar va narxlar faqat MCP qaytargan ma’lumotlardan foydalanadi; narx tekshirilmagan bo‘lsa, «Narx tekshirilmagan» deb ko‘rsatiladi. Foydalanuvchi aniq tasdiqlamaguncha tizim buyurtma yaratmaydi, buyurtma yaratilishi esa to‘lov muvaffaqiyatli bo‘lganini anglatmaydi.

To‘liq ish jarayoni

McOracle’ning standart jarayoni besh bosqichdan iborat:

  1. Foydalanuvchi savol beradi yoki bevosita McDonald’s bashoratini so‘raydi.
  2. scripts/draw-oracle.py references/oracle-library.json faylidan haqiqiy tasodifiy usulda bashorat tanlaydi va joriy natijani qulflaydi.
  3. Agar foydalanuvchiga taom tavsiyasi kerak bo‘lsa, Skill MCP orqali yaqin atrofdagi filiallar, sotuvdagi menyu va taom tafsilotlarini tekshiradi.
  4. calculate-price orqali narx tasdiqlanadi, so‘ng scripts/generate-card.py yordamida 1200×1600 o‘lchamdagi PNG taqdir kartasi yaratiladi.
  5. Faqat foydalanuvchi «Buyurtmani tasdiqlash» deb aniq javob berganidan keyin tizim buyurtma ma’lumotlarini qayta tekshiradi va create-order ni chaqiradi. Shundan keyin ham foydalanuvchi rasmiy kirish nuqtasi orqali to‘lovni o‘zi amalga oshirishi kerak.

Agar foydalanuvchi faqat bashorat olishni istasa, jarayon birinchi bosqichda yakunlanadi, joylashuv majburan so‘ralmaydi va MCP chaqirilmaydi.

Asosiy modullar va loyiha tuzilmasi

Loyiha asosan quyidagi modullardan tashkil topgan:

  • Oracle Engine: draw-oracle.py va bashoratlar kutubxonasi tasodifiy tanlash, natijani qulflash va qayta tanlashni boshqaradi.
  • Recommendation Engine: recommendation-rules.md bashorat teglarini taom yo‘nalishlariga moslashtiradi va haqiqiy menyu hamda budjet asosida tavsiyalar beradi.
  • MCP Adapter: SKILL.md va MCP_INTEGRATION.md vositalarni chaqirish tartibi, parametrlar qoidalari va xatolarni qayta ishlashni tavsiflaydi.
  • Card Generator: generate-card.py Pillow yordamida bordo-oltin shablonni dasturiy tarzda chizadi va rasmiy mahsulot rasmlarini birlashtiradi.
  • Order Safety Controller: validate-order.py tasdiqlash jarayonini holatlar mashinasi orqali boshqarib, tasdiqlanmagan buyurtmalarning oldini oladi.
  • Skill Orchestrator: SKILL.md ishga tushirish shartlari, bajarish jarayoni, chiqish formati va xavfsizlik talablarini belgilaydi.

Bashoratlar kutubxonasida original mazmundagi 104 ta yozuv bor. Ular tasdiqlovchi, inkor qiluvchi, kutishga undovchi, harakatga chaqiruvchi, kutilmagan burilishli, omadli, hazilomuz va McDonald’s’ga xos sakkizta toifani qamrab oladi. Har bir bashoratda raqam, asosiy matn, toifa, teglar, talqin, harakat tavsiyasi, tavsiya teglari va vizual mavzu mavjud.

Python bog‘liqliklarini o‘rnatish

Loyiha Python 3.9 yoki undan yuqori versiyasini talab qiladi. Ishlab chiqish muhiti Python 3.13 dan foydalanadi. Taqdir kartalari Pillow orqali sahifalanadi, shuning uchun Pillow’ni o‘rnatish kerak; bashorat tanlash va buyurtma xavfsizligi skriptlarining o‘zi tasvir yaratish API’siga bog‘liq emas.

git clone <your-repo-url> McOracle
cd McOracle
pip install Pillow

macOS yoki Linux’da ishga tushirganda, tizimda xitoycha belgilarni ko‘rsata oladigan shrift mavjudligini tekshiring. Skript mavjud shriftni nomzodlar ro‘yxatidan tanlaydi. Rasmiy karta yaratish uchun tasvir yaratish API Key’ini sozlash shart emas.

WorkBuddy Skill sifatida o‘rnatish

  1. Loyihani oling va bog‘liqliklarni o‘rnating.
  2. To‘liq McOracle/ katalogini foydalanuvchi darajasidagi ~/.workbuddy/skills/McOracle/ Skill katalogiga yoki joriy ish maydonining {workspace}/.workbuddy/skills/McOracle/ katalogiga ko‘chiring.
  3. WorkBuddy ulagichlarida McDonald’s China MCP’ni yoqing.
  4. Suhbatni ochib, Skill’ni ishga tushirish uchun «McDonald’s bashorati», «Bashorat tanla», «Bugungi bashorat» kabi iboralardan foydalaning.

Shuningdek, «Ishdan bo‘shashim kerakmi?» kabi oddiy savol berish ham mumkin. To‘liq jarayonni bajarish uchun «Bugungi McDonald’s taqdirini to‘liq bilmoqchiman» deyish mumkin. WorkBuddy’ning turli versiyalarida Skill ro‘yxatga olish metama’lumotlariga qo‘yiladigan talablar farq qilishi mumkin, shuning uchun mahalliy versiyaga mos konfiguratsiyani qo‘shing.

McDonald’s China rasmiy MCP’sini sozlash

Haqiqiy filiallar, menyu va narxlar asosidagi tavsiyalardan foydalanishdan oldin rasmiy MCP qo‘llanmasi orqali Token olish usulini bilib oling va WorkBuddy’ning «Ulagichlar» → «Maxsus ulagichlar» → «MCP’ni sozlash» bo‘limida konfiguratsiyani kiriting.

{
  "mcpServers": {
    "mcd-mcp": {
      "type": "streamablehttp",
      "url": "https://mcp.mcd.cn",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_TOKEN"
      }
    }
  }
}

YOUR_MCP_TOKEN o‘rniga o‘z Token’ingizni kiriting va Token’ni repozitoriyga yubormang. Loyiha foydalanadigan asosiy vositalar: now-time-info, query-nearby-stores, query-meals, query-meal-detail va calculate-price. Buyurtmaga oid create-order faqat foydalanuvchi aniq tasdiqlaganidan keyin chaqirilishi mumkin.

Birinchi foydalanish: bashorat tanlash

Loyiha ildiz katalogida quyidagi buyruqni bajarib, muayyan savol uchun bashorat tanlashingiz mumkin:

python scripts/draw-oracle.py --question 'Bugun nima yeyman?'

Tanlangan natija scripts/_oracle_state.json fayliga yoziladi va joriy sessiyada qulflanadi. Shu tariqa keyingi talqin, tavsiya va taqdir kartasi bir xil bashoratga tayanadi hamda bir necha marta o‘qilganda tasodifan o‘zgarmaydi.

Joriy qulflangan natijani ko‘rish yoki qayta tanlashni so‘rash:

python scripts/draw-oracle.py --peek
python scripts/draw-oracle.py --redraw

--redraw faqat foydalanuvchi qayta tanlashni aniq so‘raganda ishlatilishi kerak. Tizim talqin yoki taqdir kartasini yaratishda bashoratni o‘zi almashtirmaydi.

Taqdir kartasini yaratish

Taqdir kartasi tasvir yaratish xizmatiga bog‘liq bo‘lmagan, o‘zgarmas bordo-oltin vizual shablondan foydalanadi. Fon to‘q bordo gradient, ikki qavatli oltin hoshiya, markaziy nur sochuvchi halqa va yulduzcha bezaklardan iborat; matn xitoycha belgilar, raqamlar va narxlar noto‘g‘ri ko‘rinmasligi yoki sig‘may qolmasligi uchun Pillow orqali dasturiy tarzda joylashtiriladi.

MCP rasmiy mahsulot rasmini qaytargan va narx calculate-price orqali tekshirilgan bo‘lsa, rasmiy kartani quyidagicha yaratish mumkin:

python scripts/generate-card.py \
  --oracle-id 'NO.021' \
  --answer 'Tunda qaror qabul qilmang.' \
  --interpretation 'Tungi soat birda va ertalab soat o‘nda bo‘lgan siz bir xil odam emassiz.' \
  --item-name 'Grilda pishirilgan tovuqli burger, 3 qismli set' \
  --item-price 34.5 \
  --price-verified \
  --item-image-url 'https://menu-img.mcd.cn/.../MS_9900005462_320.png' \
  --out examples/oracle-card-NO021-official.png

Rasmiy chiqish o‘lchami 1200×1600 PNG. --price-verified faqat narx MCP orqali haqiqatan tekshirilgan bo‘lsa ishlatilishi mumkin; misol narxini real vaqtdagi narx sifatida ko‘rsatish mumkin emas.

Rasm materiallarini zaxira tartibida ishlatish

Mahsulotning asosiy tasviri quyidagi ustuvorlikda qayta ishlanadi:

  1. Avvalo query-meals yoki query-meal-detail qaytargan rasmiy mahsulot rasmi ishlatiladi.
  2. Rasmiy rasm bo‘lmasa, --item-image orqali alohida konseptual illyustratsiya ko‘rsatilishi va u konseptual illyustratsiya sifatida aniq belgilanishi mumkin.
  3. Tashqi materiallar mavjud bo‘lmasa, skript ichki burger, kartoshka fri va kola illyustratsiyalaridan foydalanadi.
  4. Barcha materiallar mavjud bo‘lmasa, «Taomning vizual materiali yo‘q» zaxira kartasi chiqariladi hamda 2 chiqish kodi va JSON ok=false orqali xato qayd etiladi.

Loyiha bo‘sh halqani taom o‘rnida ko‘rsatmaydi va konseptual illyustratsiyani rasmiy real surat sifatida belgilamaydi.

Suhbatda to‘liq tajribani yakunlash

Odatdagi suhbat quyidagicha bo‘lishi mumkin:

Siz: McDonald’s bashorati, bugun ishdan bo‘shashga mos kunmi?
McOracle: Bashorat tanlanadi, asosiy matn, talqin, harakat tavsiyasi va muhim masalalar eslatmasi qaytariladi, shuningdek bugungi tavsiya etiladigan taomlar berilishi mumkin.

Siz: Buyurtma berishga tayyorman
McOracle: Filial, olish usuli, mahsulot va narxlardan iborat buyurtma xulosasi ko‘rsatiladi va tasdiqlashingiz so‘raladi.

Siz: Buyurtmani tasdiqlash
McOracle: Narx qayta tekshiriladi, so‘ng create-order chaqiriladi va haqiqiy buyurtma raqami hamda rasmiy to‘lov kirish nuqtasi qaytariladi.

«Ko‘raylik», «Tavsiya qiling» va «Buyurtma berishga tayyorman» iboralari yakuniy tasdiq hisoblanmaydi. Faqat foydalanuvchi «Buyurtmani tasdiqlash» deb aniq javob berganidan keyin buyurtma jarayoni davom etishi mumkin.

Buyurtma xavfsizligi mexanizmi

Buyurtma xavfsizligi boshqaruvchisi buyurtma holati va asosiy parametrlarni tekshiradi. Filial, mahsulot, miqdor, narx yoki olish usuli o‘zgarsa, avvalgi tasdiq o‘z kuchini yo‘qotadi; tizim xulosani qayta ko‘rsatishi va yana tasdiq so‘rashi kerak.

Loyiha avtomatik to‘lov qilmaydi, buyurtma raqamini yoki buyurtma muvaffaqiyatli berilgani haqidagi xabarni soxtalashtirmaydi. Buyurtma yaratilganidan keyin ham u rasmiy to‘lov jarayonidan tashqaridagi to‘lanmagan holatda bo‘ladi, foydalanuvchi to‘lovni rasmiy sahifa orqali o‘zi yakunlashi kerak. Filialdan olib ketish va McDrive uchun orderType=1, yetkazib berish uchun esa orderType=2 ishlatiladi va yetkazib berish manzili talab qilinadi; bu ikki turdagi parametrlarni aralashtirib bo‘lmaydi.

Buyurtma xavfsizligi demosini mustaqil ishga tushirish

Buyurtma skripti haqiqiy buyurtma yaratmaydigan sof mantiqiy Mock demosini taqdim etadi:

python scripts/validate-order.py demo

Ushbu demo haqiqiy MCP’ni ulashdan oldin tasdiqlash qoidalarini tekshirish uchun mos: tasdiqsiz buyurtma berib bo‘lmasligi, noaniq ibora tasdiq hisoblanmasligi, buyurtma parametrlari o‘zgarsa tasdiq bekor bo‘lishi va buyurtma yaratilishi to‘lov muvaffaqiyatli bo‘lganini anglatmasligi tekshiriladi.

Testlarni ishga tushirish

Loyihada bashorat mantig‘i, taqdir kartasini yaratish va buyurtma xavfsizligi holatlar mashinasini qamrab oluvchi uchta test guruhi mavjud:

python tests/test-oracle.py
python tests/test-card.py
python tests/test-order-safety.py

README’da qayd etilgan joriy natijaga ko‘ra, 24 ta testning barchasi muvaffaqiyatli o‘tgan. Bashorat testlari 104 ta ma’lumot, noyob raqamlar, sakkizta toifa, tasodifiylik va holat qulflanishini tekshiradi; taqdir kartasi testlari haqiqiy PNG, o‘lcham, material yetishmagandagi zaxira holati, tekshirilmagan narx tarmog‘i va uzun matnni joylashtirishni tekshiradi; buyurtma testlari xavfsiz holat o‘tishlarini Mock orqali tekshiradi, haqiqiy MCP’ni chaqirmaydi va buyurtma yaratmaydi.

Ilg‘or foydalanish bo‘yicha tavsiyalar

Ko‘ngilochar bashorat va real qarorlarni farqlang

Bashorat faqat ko‘ngil ochish va ilhom uchun mo‘ljallangan; u kelajak bashorati emas va real mulohazani almashtira olmaydi. Ishdan bo‘shash, investitsiya, sog‘liq, huquq yoki moliyaga oid masalalarda obyektiv shartlarni hisobga oling va mutaxassis bilan maslahatlashing.

Tekshirilgan narx va misol narxini doimo farqlang

MCP qaytaradigan narx birligi «fen» bo‘lib, ko‘rsatishdan oldin uni 100 ga bo‘lish kerak; narxlar vaqt o‘tishi bilan o‘zgaradi. Real vaqtda tekshiruv yakunlanmagan bo‘lsa, «Narx tekshirilmagan» deb ko‘rsatilishi kerak. Karta yoki suhbatda misol narxini real vaqtdagi narx o‘rnida ko‘rsatmang.

Hisob ma’lumotlari va maxfiylikni boshqaring

Token va API Key faqat ulagich konfiguratsiyasi yoki muhit o‘zgaruvchilari orqali o‘qilishi kerak; ularni manba kodiga yozish yoki repozitoriyga yuborish mumkin emas. Loyiha foydalanuvchining maxfiy ma’lumotlari, Cookie, buyurtma raqami yoki shaxsiy hisob ma’lumotlarini saqlamasligi kerak. Issue yoki Pull Request yuborayotganda ham bunday maxfiy ma’lumotlarni kiritmang.

Amaldagi imkoniyatlar chegarasini tushuning

Filial qidiruvi, menyu qidiruvi, taom tafsilotlari, narx hisoblash, rasmiy rasmlarni yuklab olish va taqdir kartasini yaratish amalda tekshirilgan. To‘liq «buyurtma berish—to‘lash—holatni qayta tekshirish» yopiq jarayoni, McDelivery jarayoni hamda kuponlarni olish va ishlatish jarayonlarining ayrim qismlari hali to‘liq amaliy sinovdan o‘tmagan. Shu sababli ularni boshidan oxirigacha muvaffaqiyatli tekshirilgan deb ta’riflash mumkin emas.

Xulosa

McOracle statik bashorat maʼlumotlari, haqiqiy tasodifiy tanlov, rasmiy MCP real vaqt menyusi va dasturiy tasvir maketini birlashtirib, qiziqarli WorkBuddy Skill yaratdi. Siz avval faqat bashorat skriptidan foydalanishingiz, keyin esa MCP’ni sozlab, restoranlar, taomlar va narxlar bo‘yicha tavsiyalar olishingiz mumkin. Amalda foydalanayotganda uchta tamoyilni yodda tuting: bashorat ko‘ngilochar maqsadda, narxlar real vaqtda tekshirilishi shart, foydalanuvchi aniq tasdiqlamaguncha hech qachon buyurtma yaratilmasin.

Taqdir tasodifiy bo‘lishi mumkin, narxlar esa haqiqiy bo‘lishi shart.