AiHummer
Eesti
SisselogimineKonto
v1.2.x
{ }Swagger

Värav ja pöörlemismootor

v1.2.x · uuendatud 2026-06-26

AiHummeri süda on üksainus väravateenus. See on samal ajal ka juhtimistasand (admin API, seaded, kanali ühendamine, turuplats) ja keerake mootor (funktsiooni-kutsumise tsükkel, mis annab vastuse). Tavapärane juurutus on seega lihtsalt see üks teenus ja PostgreSQL — eraldi töölise kihti ei ole vaja käivitada.

Üks teenus, kaks rolli

Sild kuulab aadressil avalik port :8780 vaikimisi, kontrollitud AIHUMMER_GATEWAY_ADDR — see port kannab kogu välisliiklust (API, paaristamine, WS/SSE, sissetulevad webhookid, rakenduse/tasku vahendaja ja tervisekontrollid). Administraatori veebiliides töötab port eraldatud, privaatne kuulaja (vaikeväärtus :8781, AIHUMMER_WEBUI_ADDR), serveeritakse juurtee teel / ja ideaalis seotud ainult sisemise liidesega. Mõlemal juhul on protsess alati sama ühtne teenus.

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

See ainus karm sõltuvus on PostgreSQL. Postgres on ainus tõeallikas agentide, seadete, vestluste, mälu, kohaletoimetamise staatuse ja auditi jaoks. Kõik muu — vabatahtlikud teenused, vektoripood ja mudelite pakkujad — on ühendatud ainult siis, kui te selle seadistate.

[!NOTE] Ilma andmebaasita käivitub värav ainult terviserežiim: see vastab GET /healthz nii et orkestreerija või koormuse tasakaalustaja saab näha, et protsess on elus, kuid see ei tee teenet. GET /readyz kontrollib PostgreSQL-i ja tagastab 503 kui andmebaas on kättesaamatu.

Mis juhtub käivitamisel

Käivitamisel teostab väravapunkt mõningaid samme rangelt kindlas järjekorras:

  1. avab andmebaasi ühenduse voo,
  2. rakendab kõiki ootel migratsioone Postgresi nõuandva lukustuse all,
  3. lahendab konfiguratsiooni (andmebaasi väärtus → keskkonnamuutuja → sisseehitatud) vaikimisi), ja
  4. ühendab teenused — ruuter, orkestreerija, kanalid, tööriistad, mälu, kohaletoimetamine — tööle suunatud väravasse.

Oluline tagajärg on see, et enamik funktsioone on valikulised ja neid saab lubada seadete võtme kaudu. Funktsioon, mis ei ole konfigureeritud, ei aktiveeru lihtsalt, mis hoiab vaikimisi käitamise väikese ja ennustatavana. Sa saad asju sisse lülitada veebihalduse kasutajaliidesest või AIHUMMER_* muutuja, ja värav lahendab need järgmisel käivitamisel (või kuumalt, nende nupude puhul, mis seda toetavad).

Pöördemootor

Kui sõnum jõuab väravasse, võtab pöördemootor üle. See töötab funktsiooni kutsumise tsükkel: mudelile antakse süsteemi käsklus ja vestlus, see võib kasutada tööriistu (või luua alamagente), iga tööriista tulemust süstematiseeritakse tagasi mudelile ning tsükkel jätkub, kuni mudel annab lõpliku vastuse. Seejärel antakse see vastuse edastamise kihile.

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

Kuna silmus on deterministlik selle suhtes, kust iga sisend pärineb, lahendatakse vastused vestluse ajaloost ja tööriistade tulemustest — mitte kunagi usaldamatut teksti juhiste hulka sisestades. See omadus teeb allpool oleva promptide kihistamise nii turvaliseks kui ka kiirendatud.

Kihiline, vahemällu sõbralik süsteemne prompt

Süsteemi käsk ei ole üksainus plokk. See on koostatud kihtidena, teadlikult järjestatult nii, et stabiilsed osad tulevad esimesena ja kõikuvad osad tulevad viimases. See on oluline, sest mudelitootjad salvestavad vahemällu prompti selle eesliite alusel: nii kaua kui prompti algus on bait baiti järel identne, kasutatakse vahemällu salvestatud eesliidet uuesti ja töödeldakse ainult lõppu.

Tsoon Kihid (järjekorras) Muutused…
Stabiilne eesliide (vahemällu salvestatav) põhiidentiteet + tööriista/mälu juhend → üürnik → isik → oskused harva — agendi/üürniku kohta
Häiriv saba (lisas viimane) töötajate sisseelamise staadium → mälu hüdreerimine → live-kuupäev iga pöörde

Stabiilne prefiks kannab kõike, mis määratleb kes agent on: sisseehitatud identiteeti ja juhiseid selle kohta, kuidas tööriistad ja mälu töötavad, seejärel üürnikukihi, agendi isiku ja renderdatud oskuste blocki. Ükski sellest ei muutu kahe järjestikuse sama agendi käigu vahel, seega moodustab see taaskasutatava vahemällu salvestatud prefiksi.

Volatiilne saba lisatakse pärast stabiilne eesliide täpselt nii, et see kunagi vahemälu ei tühistaks: sisseelamise olek, mälu, mis on selle konkreetse vestluse jaoks hüdreeritud, ja praegune kuupäev muutuvad kõiki kordi, kuid kuna need asuvad lõpus, maksavad nad ainult seda, mida lisavad.

[!TIP] See järjestus on põhjus, miks sellised reaalajas andmed nagu tänane kuupäev võivad esineda iga pöörde ilma kogu identiteeti uuesti kodeerimata iga kord. Hoia kohandatud igaagendi sisu stabiilsetes kihtides (persona, oskused) ja lase mootor omab volatiilset saba.

Kuhu järgmine