Shlyuz va burilish dvigateli
AiHummerning yuragi yagona kirish xizmati. Bu bir vaqtning o’zida ham boshqaruv-reysi (admin API, sozlamalar, kanal simlashtirish, bozor) va motorni yoqish (javob ishlab chiqaruvchi funksiya-chaqirish tsikli). Shu sababli odatiy joylashtirish faqat shu bitta xizmat va PostgreSQLdan iborat — siz ishlatishingiz kerak bo’lgan alohida ishchi qatlam yo‘q.
Bitta xizmat, ikki rol
Darvoza quyidagida tinglaydi jamoat port :8780 standart bo’yicha, nazorat qilinadi AIHUMMER_GATEWAY_ADDR — bu port barcha tashqi traffikni olib yuradi (API, juftlashtirish, WS/SSE, kiruvchi webhooklar, ilova/pocket proksi va sog’liqni tekshirish sondalari). Admin Web UI quyida ishlaydi alohida, shaxsiy tinglovchi (standart) :8781, AIHUMMER_WEBUI_ADDR), ildiz yo’lida xizmat qilindi / va ideal holda faqat ichki interfeysga bog‘langan bo‘lishi kerak. Har holda jarayon har doim bir xil yagona xizmatdir.
# gateway.env — the only required setting
AIHUMMER_DATABASE_URL=postgres://user:pass@localhost:5432/aihummer?sslmode=disable
# Admin Web UI after start at http://localhost:8781/ (the private Web UI listener)
yagona qattiq bog‘liq narsa PostgreSQL. Postgres agentlar, sozlamalar, suhbatlar, xotira, yetkazib berish holati va audit uchun yagona haqiqat manbai hisoblanadi. Boshqa hamma narsa — ixtiyoriy xizmatlar, vektor do’koni va model provayderlari — faqat siz ularni sozlaganingizda ulanadi.
[!NOTE] Ma’lumotlar bazasisiz eshik ishga tushadi faqat sog’liq rejimi: bu javob beradi
GET /healthzshunday qilib, orkestrator yoki yuk taqsimlovchi jarayonni ko‘ra oladi tirik, ammo foydali bo‘lmaydi.GET /readyzPostgreSQL ni tekshiradi va qaytaradi503ma’lumotlar bazasiga ulanish imkoni bo’lmaganda.
Ishga tushirilganda nima sodir bo‘ladi
Ishga tushganda shlyuz qat’iy tartibda bir necha bosqichlarni bajaradi:
- maʼlumotlar bazasi ulanish havuzini ochadi,
- Postgres maslahatli qulfi ostida kutayotgan har qanday migratsiyalarni qo‘llaydi,
- konfiguratsiyani aniqlaydi (maʼlumotlar bazasi qiymati → atrof-muhit o‘zgaruvchisi → ichki)} default), va
- xizmatlarni ulaydi — marshrutizator, orkestrator, kanallar, vositalar, xotira, yetkazib berish — ishlayotgan eshikka.
Muhim oqibat shuki ko‘pgina xususiyatlar sozlamalar tugmasi orqali ixtiyoriy tarzda yoqiladi. Sozlamagan imkoniyat shunchaki ishga tushirilmaydi, bu esa standart ish vaqti kichik va oldindan aytib bo’ladigan bo’lishini ta’minlaydi. Siz narsalarni veb admin UI orqali yoki bilan yoqasiz AIHUMMER_* o’zgaruvchi va eshik keyingi ishga tushirishda (yoki uni qo’llab-quvvatlaydigan tugmalar uchun issiq holda) ularni hal qiladi.
Aylanish dvigateli
Xabar darvozaiga yetganida, turn dvigateli ishga tushadi. U ishga tushadi funksiya chaqirish sikli: modelga tizim prompti va suhbat beriladi, u vositalarni chaqirishi mumkin (yoki kichik agentlarni ishga tushirishi mumkin), har bir vosita natijasi qayta beriladi va sikl model yakuniy javobni hosil qilguncha davom etadi. Shu javob keyin yetkazib berish qatlamiga topshiriladi.
inbound message
└─▶ turn engine
├─ assemble layered system prompt
├─ call model ──▶ tool calls / sub-agents ──▶ tool results ─┐
│ ▲ │
│ └────────────────────────────────────────────────-─┘
└─ final answer ─▶ reliable delivery ─▶ originating channel
Chunki sikl har bir kirish qayerdan kelishini deterministik tarzda belgilaydi, javoblar suhbat tarixidan va vosita natijalaridan aniqlanadi — hech qachon ishonchsiz matnni ko‘rsatmalarga qo‘shish orqali emas. Shu xususiyat quyidagi prompt qavatlarini xavfsiz va tez qiladigan narsa hisoblanadi.
Qavatlangan, keshlashga mos tizim buyruq satri
Tizim buyrug‘i bitta bo‘lak emas. U qatlamlar bo‘yicha yig‘ilgan, shunday tartibda joylashtirilganki barqaror qismlar birinchi keladi va o’zgaruvchan qismlar oxirida keladi. Bu muhim, chunki model ta’minlovchilari promptni uning prefiksi bo‘yicha keshlaydi: promptning boshlanishi bitma-bit bir xil bo‘lgani süz, keshlangan prefiks qayta ishlatiladi va faqat oxirgi qismi qayta ishlanadi.
| Zona | Qavatlar (tartibda) | Oʻzgarishlar… |
|---|---|---|
| Barqaror prefiks (kesh qilinadigan) | asosiy identifikatsiya + asbob/eslatma qo‘llanma → ijarachi → persona → ko‘nikmalar | kamdan-kam — agent/iqarachi tomonidan |
| O’zgaruvchan dum (oxiriga ilova qilindi) | yozib olish holati → xotirani toʻldirish → jonli sana | har burilish |
Barqaror old qo‘shimcha agent kimligini aniqlaydigan hamma narsani o‘z ichiga oladi: ichki identifikatsiya va asboblar hamda xotira qanday ishlashini ko‘rsatadigan qo‘llanma, keyin ijarachining qatlami, agentning personasi va ko‘rsatilgan ko‘nikmalar bloki. Bularning hech biri bir xil agentning ikki ketma-ket burilishida o‘zgarib turmaydi, shuning uchun u qayta ishlatiladigan keshlangan old qo‘shimchani hosil qiladi.
O‘zgaruvchan quyruq ilova qilindi keyin barqaror prefiks aniq shunday, shunda u hech qachon keshni bekor qilmaydi: onboarding holati, ushbu maxsus suhbat uchun to’ldirilgan xotira va joriy sana har burilishda o’zgaradi, lekin ular oxirida joylashgani uchun faqat qo’shadigan narsalari miqdorida xarajat qiladi.
[!TIP] Bu tartiblash shuni anglatadiki, bugungi sana kabi jonli maʼlumot mavjud bo‘lishi mumkin har safar butun identifikatsiyani qayta kodlash uchun to’lamasdan har bir burilishni. Saqlash barqaror qatlamlarda (persona, ko‘nikmalar) har bir agent uchun maxsus kontent yaratish va ruxsat berish dvigatel o’zgaruvchan dumga ega.
Keyingi qayerga
- Ijarachilar qanday izolyatsiya qilinganini ko‘ring Ko‘p foydalanuvchilik va identempotentlik.
- Javoblar qanday qaytarilishini o’rganing Ishonchli yetkazib berish va tiklash.
- Ixtiyoriy imkoniyatlar sifatida ishlaydi Yon aravachalar.