EN
Všechny projekty
Autor·vlastní produkt · LEFTEQ

Lovinka

Autonomní multi-agentní trading engine s human-in-the-loop schvalováním obchodů.

lovinka.app
Lovinka
~20 agentů
  • kafka sběrnice · routing per služba
  • RAG kontext · eskalace dle confidence
  • human-approval gate na obchody

Autonomní engine pro krypto trading: ~20 LLM-řízených služeb na Kafka sběrnici, každá s vlastním routingem modelu, eskalací podle confidence a RAG tržním kontextem. Návrhy obchodů čekají ve frontě za human-in-the-loop approval gate; React control plane ukazuje pozice, živý log AI volání a frontu ke schválení. Plně self-hostované — TimescaleDB pro časové řady, žádná třetí strana v cestě obchodu.

Problém

LLM, který si přečte trh a pošle příkaz, je demo na pět minut. Provozovat ho je úplně jiný problém. Nebezpečí není špatná predikce — za tu trh potrestá lacino. Nebezpečí je autonomní systém, který hýbe reálným kapitálem na základě vlastní jistoty, bez záznamu o tom, proč jednal, a bez člověka v rozhodnutí.

Chtěl jsem opak. Systém, který analytickou práci dělá nepřetržitě — sbírá data, tvoří signály, určuje velikost pozic — ale ke kapitálu se fyzicky nedostane bez mého schválení. Inteligence běží bez dozoru; pravomoc ne.

A odmítl jsem to postavit na stacku, který nevlastním. Žádná černá skříňka brokera, žádná inference třetí strany v cestě mezi tržním signálem a příkazem. Pokud měl systém jednat za mě, musela být každá jeho část moje, abych do ní viděl.

Architektura

Postavil jsem to jako zhruba 20 LLM služeb na Kafka sběrnici, každou jako úzkého specialistu — ingesce, tržní kontext, generování signálů, risk, sizing pozic — místo jednoho promptu, který se snaží zvládnout všechno. Kafka je odděluje: služba může spadnout a restartovat se sama a sběrnice zůstává trvalým záznamem toho, co a kdy bylo rozhodnuto.

Každá služba má vlastní model routing — běží na modelu, který sedí na její úkol, ne na jednom modelu nataženém přes všechny. Když si služba není jistá svým výstupem, confidence-based eskalace předá rozhodnutí silnějšímu modelu, místo aby hádala. Levná cesta zůstává levná; těžká rozhodnutí dostanou váhu, kterou potřebují.

Uvažování je ukotvené přes RAG nad tržním kontextem, takže návrh se opírá o podmínky, za kterých vznikl, ne o volné asociace. Časové řady, ze kterých celý systém čte a do kterých zapisuje, drží TimescaleDB. Všechno běží self-hosted od začátku do konce.

Lidský gate

Každá služba v systému umí analyzovat. Žádná neumí obchodovat. Návrh obchodu je přesně to — návrh — a řadí se do fronty za schvalovací gate s člověkem ve smyčce, který držím já. Na trh se nedostane nic, dokud to neschválím.

React control plane je postavený kolem té brány, ne kolem čísla P&L. Ukazuje živé pozice, schvalovací frontu a živý log AI volání — každé volání modelu, které systém udělal, i s uvažováním za ním — takže když návrh přijde, vidím, jak vznikl, ne jen co doporučuje. Rozhodnutí je auditovatelné dřív, než je autorizované, ne až potom.

V cestě obchodu nesedí žádná třetí strana. Inference, data, gate i exekuce běží na infrastruktuře, kterou provozuju sám — což znamená, že jediné místo, kde musí zasáhnout člověk, je zároveň jediné místo, kam se nedostane nikdo cizí. AI dělá práci; pravomoc jednat s reálnými penězi zůstává u člověka.