Gateway we turn hereketlendirijisi
AiHummer-iň ýüregi ýeke gateway hyzmatydyr. Ol şol bir wagtyň özünde dolandyryş-plani (admin API, sazlamalar, kanal sim baglanyşygy, marketpleýs) hem-de turn hereketlendirijisidir (jogap öndürýän funksiýa-çagyryş aýlawy). Şonuň üçin tipik gurnama diňe şol bir hyzmat hem-de PostgreSQL-dir — siziň işletmeli aýratyn işçi gatlagyňyz ýokdur.
Bir hyzmat, iki rol
Gateway adaty ýagdaýda :8780-de diňleýär, muny AIHUMMER_GATEWAY_ADDR
dolandyrýar. Gurnaýjy başga bir boş porty saýlap biler, ýöne proses elmydama şol
bir ýeke hyzmatdyr.
# gateway.env — the only required setting
AIHUMMER_DATABASE_URL=postgres://user:pass@localhost:5432/aihummer?sslmode=disable
# Admin UI after start at http://localhost:8781/
Ýeke gaty baglylyk PostgreSQL-dir. Postgres hakykatyň ýeke çeşmesidir: agentler, sazlamalar, gepleşikler, ýat, outbox we audit hemmesi şol ýerde ýaşaýar. Galan ähli zat — sidecarlar, wektor ammary, habar şinasy, model üpjün edijiler — islege görä bolup, diňe siz ony sazlanyňyzda sim baglanyşdyrylýar.
[!NOTE] Maglumat bazasy bolmasa gateway diňe-saglyk režiminde başlaýar: ol
GET /healthzjogaby berýär, şeýdip orkestrator ýa-da ýük deňleşdiriji prosesiň janly bolandygyny görüp bilýär, ýöne ol turnlara hyzmat etmeýär.GET /readyzPostgreSQL-y barlaýar we maglumat bazasy elýeterli däl wagty503gaýtarýar.
Başlanda näme bolýar
Başlanda gateway berk tertipde birnäçe ädim ýerine ýetirýär:
- maglumat bazasy baglanyşyk howuzyny açýar,
- Postgres geňeşçi gulpunyň aşagynda garaşýan migrasiýalary ulanýar,
- konfigurasiýany çözýär (maglumat bazasy gymmaty → daşky gurşaw üýtgeýjisi → içerki adaty), we
- hyzmatlary — marşrutlaýjy, orkestrator, kanallar, gurallar, ýat, eltip bermek — işleýän gatewaýa sim baglanyşdyrýar.
Möhüm netije, köp aýratynlygyň sazlama açary arkaly islege görä goşulýandygydyr.
Sazlanmadyk mümkinçilik diňe işjeňleşdirilmeýär, bu bolsa adaty rantaýmy kiçi we
çaklamaly saklaýar. Siz zatlary web admin UI-den ýa-da AIHUMMER_* üýtgeýjisi
bilen açýarsyňyz, gateway bolsa olary indiki başlanda çözýär (ýa-da goldaýan
düwmeler üçin gyzgynlygyna).
Turn hereketlendirijisi
Habar gatewaýa ýetende, turn hereketlendirijisi işe başlaýar. Ol funksiýa-çagyryş aýlawyny işledýär: modele sistem prompty we gepleşik berilýär, ol gurallary çagyryp biler (ýa-da kömekçi-agentleri döredip biler), her gural netijesi yzyna iýmitlendirilýär, aýlaw bolsa model gutarnykly jogap öndýänçä dowam edýär. Şol jogap soňra eltip beriş gatlagyna berilýär.
inbound message
└─▶ turn engine
├─ assemble layered system prompt
├─ call model ──▶ tool calls / sub-agents ──▶ tool results ─┐
│ ▲ │
│ └────────────────────────────────────────────────-─┘
└─ final answer ─▶ outbox ─▶ originating channel
Aýlaw her girişiň nireden gelýändigi barada deterministik bolany üçin, jogaplar gepleşik taryhyndan we gural netijelerinden çözülýär — hiç haçan ynamsyz teksti görkezmeleriň içine sanjmak bilen däl. Şol häsiýet aşakdaky prompt gatlaklaşmasyny hem howpsuz hem-de çalt edýän zatdyr.
Gatlakly, keş-laýyk sistem prompty
Sistem prompty bir blok däldir. Ol gatlaklarda ýygnalýar, bilkastlaýyn tertiplenip, durnukly bölekler ilki, üýtgäp duran bölekler iň soňy gelýär. Bu möhümdir, sebäbi model üpjün edijiler prompty onuň prefiksi boýunça keşleýär: promptuň başlangyjy baýt-baýta meňzeş bolup galýança, keşlenen prefiks gaýtadan ulanylýar we diňe guýruk gaýtadan işlenýär.
| Zona | Gatlaklar (tertipde) | Üýtgeýär… |
|---|---|---|
| Durnukly prefiks (keşlenip bolýar) | esasy şahsyýet + gural/ýat gollanmasy → kärendeçi → persona → ukyplar | seýrek — agent/kärendeçi boýunça |
| Üýtgäp duran guýruk (iň soňra goşulýar) | onboarding ýagdaýy → ýat çyglandyrmasy → janly sene | her turn |
Durnukly prefiks agentiň kimdigini kesgitleýän ähli zady göterýär: içerki şahsyýet we gurallar bilen ýadyň nähili işleýändigi baradaky gollanma, soňra kärendeçi gatlagy, agentiň personasy we render edilen ukyplar bloky. Şolaryň hiç biri şol bir agentiň yzygiderli iki turnynyň arasynda üýtgemeýär, şonuň üçin olar gaýtadan ulanylyp bolýan keşlenen prefiks emele getirýär.
Üýtgäp duran guýruk durnukly prefiksiň yzyndan goşulýar, edil keşi ýaramazlaşdyrmazy ýaly: onboarding ýagdaýy, bu anyk gepleşik üçin çyglandyrylan ýat we häzirki sene hemmesi turndan turna üýtgeýär, ýöne olar ahyrda oturany üçin diňe goşan zatlary üçin tölenýär.
[!TIP] Bu tertipleşme, şu günüň senesi ýaly janly maglumatlaryň her turnda bolup biljekdiginiň sebäbidir, her gezek tutuş şahsyýeti gaýtadan kodlamak üçin tölemän. Adaty agent-boýunça mazmuny durnukly gatlaklarda (persona, ukyplar) saklaň we hereketlendiriji üýtgäp duran guýruga eýeçilik etsin.
Indiki ädim
- Kärendeçileriň nähili izolirlenýändigini görüň Köp kärendeçilik we idempotentlik.
- Jogaplaryň nähili gaýtarylýandygyny öwreniň Eltip bermek, outbox we dikeldiş.
- Islege görä mümkinçilikler Sidecarlar hökmünde işleýär.