35. Buyruqlar navbati (2026-01-16)
- Bir nechta agent ishlarining to‘qnashuvini oldini olish uchun barcha kanallar bo‘yicha kiruvchi auto-reply ishlarini kichik, jarayon ichidagi navbat orqali ketma-ketlashtiramiz, shu bilan birga sessiyalar bo‘yicha xavfsiz parallelizmga ruxsat beramiz.
37. Nega
-
- Auto-reply ishlar qimmat bo‘lishi mumkin (LLM chaqiruvlari) va bir nechta kiruvchi xabarlar bir-biriga yaqin kelganda to‘qnashishi mumkin.
-
- Ketma-ketlashtirish umumiy resurslar (sessiya fayllari, loglar, CLI stdin) uchun raqobatni kamaytiradi va yuqori oqimdagi rate limitlar ehtimolini pasaytiradi.
40. Qanday ishlaydi
-
- Yo‘laklarga sezgir FIFO navbat har bir yo‘lakni sozlanadigan parallelizm chegarasi bilan bo‘shatadi (sozlanmagan yo‘laklar uchun standart 1; main uchun 4, subagent uchun 8).
-
runEmbeddedPiAgentsessiya kaliti bo‘yicha navbatga qo‘shadi (yo‘laksession:<key>) va har bir sessiya uchun faqat bitta faol ishni kafolatlaydi.
-
- Har bir sessiya ishi so‘ngra global yo‘lak ga (standart bo‘yicha
main) navbatga qo‘shiladi, shuning uchun umumiy parallelizmagents.defaults.maxConcurrentbilan cheklanadi.
- Har bir sessiya ishi so‘ngra global yo‘lak ga (standart bo‘yicha
-
- Batafsil loglash yoqilganda, navbatdagi ishlar boshlanishidan oldin ~2 soniyadan ko‘proq kutgan bo‘lsa, qisqa bildirishnoma chiqaradi.
-
- Navbatga qo‘shish paytida (kanal tomonidan qo‘llab-quvvatlanganda) typing indikatorlari darhol ishga tushadi, shuning uchun navbatimizni kutayotganimizda ham foydalanuvchi tajribasi o‘zgarmaydi.
46. Navbat rejimlari (har bir kanal bo‘yicha)
- Kiruvchi xabarlar joriy ishni yo‘naltirishi, keyingi navbatdagi burilishni kutishi yoki ikkalasini ham qilishi mumkin:
steer: joriy ishga darhol kiritadi (keyingi tool chegarasidan keyin kutilayotgan tool chaqiruvlarini bekor qiladi). 49. Agar streaming bo‘lmasa,followupga qaytadi.-
followup: joriy ish tugagach, keyingi agent burilishi uchun navbatga qo‘shadi.
-
collect: navbatga olingan barcha xabarlarni bitta keyingi javobga birlashtiradi (standart). 2. Agar xabarlar turli kanallar/ipliklarga yo‘naltirilgan bo‘lsa, marshrutlashni saqlash uchun ular alohida-alohida chiqariladi.
-
steer-backlog(ya’nisteer+backlog): hozir yo‘naltiradi va xabarni keyingi javob uchun saqlab qoladi.
-
interrupt(eskirgan): shu sessiya uchun faol ishni to‘xtatadi, so‘ng eng yangi xabarni ishga tushiradi.
-
queue(eskirgan sinonim):steerbilan bir xil.
-
Steer-backlog shuni anglatadiki, yo‘naltirilgan ish tugagach yana keyingi javob olishingiz mumkin, shuning uchun oqimli interfeyslar dublikatga o‘xshab ko‘rinishi mumkin. 7. Agar har bir kiruvchi xabar uchun bitta javob xohlasangiz,
collect/steerni afzal ko‘ring. -
Mustaqil buyruq sifatida
/queue collectyuboring (har sessiya uchun) yokimessages.queue.byChannel.discord: "collect"ni o‘rnating. - Standartlar (konfiguratsiyada o‘rnatilmagan bo‘lsa):
- Global yoki kanal bo‘yicha
messages.queueorqali sozlang:
- Global yoki kanal bo‘yicha
messages.queueorqali sozlang:
13. Navbat parametrlari
- Parametrlar
followup,collectvasteer-backlogga qo‘llanadi (hamdasteerkeyingi javobga qaytganda):
- Summarize tashlab yuborilgan xabarlarning qisqa punktlar ro‘yxatini saqlaydi va uni sun’iy keyingi so‘rov sifatida kiritadi.
- Standartlar:
debounceMs: 1000,cap: 20,drop: summarize. -
drop: to‘lib ketganda siyosat (old,new,summarize).
- Summarize tashlab yuborilgan xabarlarning qisqa punktlar ro‘yxatini saqlaydi va uni sun’iy keyingi so‘rov sifatida kiritadi.
- Standartlar:
debounceMs: 1000,cap: 20,drop: summarize.
20. Sessiya bo‘yicha alohida sozlamalar
-
- Joriy sessiya uchun rejimni saqlash uchun mustaqil buyruq sifatida
/queue <mode>yuboring.
- Joriy sessiya uchun rejimni saqlash uchun mustaqil buyruq sifatida
-
- Parametrlarni birlashtirish mumkin:
/queue collect debounce:2s cap:25 drop:summarize
- Parametrlarni birlashtirish mumkin:
-
/queue defaultyoki/queue resetsessiya bo‘yicha o‘rnatilgan sozlamani tozalaydi.
24. Qamrov va kafolatlar
-
- Javob shlyuzi quvuridan foydalanadigan barcha kiruvchi kanallarda avtomatik javob agenti ishlariga tatbiq etiladi (WhatsApp web, Telegram, Slack, Discord, Signal, iMessage, webchat va boshqalar).
-
- Standart yo‘lak (
main) kiruvchi xabarlar va asosiy yurak urishlari uchun butun jarayon bo‘yicha umumiy; bir vaqtning o‘zida bir nechta sessiyaga ruxsat berish uchunagents.defaults.maxConcurrentni o‘rnating.
- Standart yo‘lak (
-
- Qo‘shimcha yo‘laklar mavjud bo‘lishi mumkin (masalan,
cron,subagent), shunda fon ishlar kiruvchi javoblarni bloklamasdan parallel ishlaydi.
- Qo‘shimcha yo‘laklar mavjud bo‘lishi mumkin (masalan,
-
- Sessiya bo‘yicha yo‘laklar bir vaqtning o‘zida faqat bitta agent ishi berilgan sessiyaga tegishini kafolatlaydi.
-
- Tashqi bog‘liqliklar yoki fon ishchi oqimlari yo‘q; sof TypeScript + promises.
30. Muammolarni bartaraf etish
-
- Agar buyruqlar tiqilib qolgandek ko‘rinsa, batafsil loglarni yoqing va navbat bo‘shayotganini tasdiqlash uchun “queued for …ms” qatorlarini qidiring.
-
- Agar navbat chuqurligi kerak bo‘lsa, batafsil loglarni yoqing va navbat vaqtlariga oid qatorlarni kuzating.