AiHummer
Lietuvių
PrisijungtiPaskyra
v1.0.x
{ }Swagger

Vartai ir posūkio variklis

v1.0.x · atnaujinta 2026-06-26

AiHummer širdis yra viena vartų paslauga. Tai tuo pačiu metu yra valdymo plokštuma (administratoriaus API, nustatymai, kanalo sujungimas, turgavietė) ir sukti variklį (funkcijos kvietimo ciklas, kuris generuoja atsakymą). Tipiška diegimo schema todėl yra tiesiog ta viena paslauga plius PostgreSQL — nėra atskiros darbuotojų pakopos, kurią jūs būtumėte priversti paleisti.

Viena paslauga, dvi funkcijos

Vartai klausosi viešas uostas :8780 numatytasis, kontroliuojamas AIHUMMER_GATEWAY_ADDR — šis prievadas priima visą išorinį srautą (API, susiejimas, WS/SSE, gaunami webhook’ai, programėlės/kišenės tarpininkas ir sveikatos patikrinimai). Administratoriaus internetinė vartotojo sąsaja veikia ant atskiras, privatus klausytojas (numatytasis :8781, AIHUMMER_WEBUI_ADDR), patiekiama šakniniame kelyje / ir idealiu atveju susietas tik su vidiniu sąsajos interfeisu. Bet kuriuo atveju procesas visada yra tas pats vienas paslaugas.

# 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)

Tas vienintelė griežta priklausomybė yra PostgreSQL. Postgres yra vienintelis tiesos šaltinis agentams, nustatymams, pokalbiams, atminčiai, pristatymo būklei ir audito įrašams. Viskas kita — pasirenkamos paslaugos, vektorinis duomenų saugyklos ir modelių tiekėjai — įjungiami tik tada, kai juos sukonfigūruojate.

[!NOTE] Be duomenų bazės vartai įsijungia tik sveikatai režimas: tai atsako GET /healthz taigi orkestratorius arba apkrovos balansavimo įrenginys gali matyti, kad procesas yra gyvas, bet tai nepravers. GET /readyz tikrina PostgreSQL ir grąžina 503 kol duomenų bazė yra nepasiekiama.

Kas vyksta paleidžiant

Paleidimo metu vartai atlieka keletą veiksmų griežta tvarka:

  1. atidaro duomenų bazės ryšių fondą,
  2. taiko bet kokius laukiančius migravimus pagal Postgres patarimų užraktą,
  3. sprendžia konfigūraciją (duomenų bazės vertė → aplinkos kintamasis → įmontuota numatytasis), ir
  4. sujungia paslaugas — maršrutizatorių, orkestratorių, kanalus, įrankius, atmintį, pristatymas — į veikiančią vartų sistemą.

Svarbi pasekmė yra ta, kad dauguma funkcijų įjungiamos per nustatymų raktą. Nesukonfigūruota galimybė paprasčiausiai nėra aktyvuojama, todėl numatytoji vykdymo aplinka išlieka maža ir nuspėjama. Galimybes įjungiate per žiniatinklio administratoriaus sąsają arba naudojant AIHUMMER_* kintamasis, o vartai juos išsprendžia kitą kartą paleidus (arba karštai, tiems reguliatoriams, kurie tai palaiko).

Posūkio variklis

Kai žinutė pasiekia vartus, veikimo variklis perima kontrolę. Jis vykdo funkcijos kvietimo ciklas: modeliui pateikiama sistemos užklausa ir pokalbis, jis gali naudoti įrankius (arba sukurti potarėjus), kiekvieno įrankio rezultatas grąžinamas atgal, ir ciklas tęsiamas, kol modelis pateikia galutinį atsakymą. Toks atsakymas tada perduodamas pristatymo sluoksniui.

inbound message
   └─▶ turn engine
         ├─ assemble layered system prompt
         ├─ call model ──▶ tool calls / sub-agents ──▶ tool results ─┐
         │       ▲                                                    │
         │       └────────────────────────────────────────────────-─┘
         └─ final answer ─▶ reliable delivery ─▶ originating channel

Kadangi ciklas yra deterministinis dėl to, iš kur ateina kiekviena įvestis, atsakymai yra sprendžiami iš pokalbio istorijos ir įrankių rezultatų – niekada neįtraukiant nepatikimo teksto į instrukcijas. Ši savybė taip pat užtikrina, kad žemiau pateiktas užklausų sluoksniavimas būtų saugus ir greitas.

Sluoksniuota, talpyklai draugiška sistemos užklausa

Sistemos raginimas nėra vienas vieningas blokas. Jis suformuotas sluoksniais, sąmoningai išdėstytas taip, kad stabilios dalys ateina pirmiausia, o nepastovios dalys ateina paskutinės. Tai svarbu, nes modelio teikėjai talpina užklausą pagal jos prefiksą: kol užklausos pradžia yra bitas po bito identiška, talpinamas prefiksas naudojamas pakartotinai, ir tik užklausos galas apdorojamas iš naujo.

Zona Sluoksniai (tvarka) Pakeitimai…
Stabilus priešdėlis (gali būti talpinama talpykloje) pagrindinė tapatybė + įrankio/atminties vadovas → nuomininkas → asmenybė → įgūdžiai retai — vienam agentui/nuomininkui
Nepastovi uodega (pridėta paskutinė) įdarbinimo būsena → atminties hidracija → tiesioginė data kiekviename posūkyje

Stabilus prefiksas neša viską, kas apibrėžia kas yra agentas: integruotą tapatybę ir vadovą, kaip veikia įrankiai ir atmintis, tada nuomininko sluoksnį, agentės asmenybę ir pateiktą įgūdžių bloką. Viskas tai nesikeičia tarp dviejų iš eilės vykstančių tų pačių agentų posūkių, todėl tai sudaro pakartotinai naudojamą talpinamą prefiksą.

Nepastovioji uodega yra pridėta po stabilus priešdėlis tiksliai taip, kad niekada nepanaikintų talpyklos: įvedimo būsena, atmintis, užpildyta konkrečiam pokalbiui, ir dabartinė data keičiasi nuo ėjimo iki ėjimo, bet kadangi jie yra pabaigoje, jie kainuoja tik tiek, kiek prideda.

[!TIP] Ši tvarka yra priežastis, kodėl tokie gyvi duomenys kaip šiandienos data gali būti pateikiami kiekviename posūkyje nesumokant už visos tapatybės perkodavimą kiekvieną kartą. Laikykite individualizuotas turinys pagal agentą stabiliose sluoksniuose (persona, įgūdžiai) ir leisti variklis valdo nepastovų uodegą.

Kur toliau