Než začneš
Postaviť si vlastného AI agenta nie je ťažké. Ťažké je dovoliť mu pracovať s tvojimi dátami.
Pokojne do toho choď — a ak si stiahneš naše prompty alebo ideš podľa návodu z Instagramu, ešte lepšie. Len si najprv prečítaj tento zoznam. Nie je to zoznam dôvodov, prečo to nerobiť. Je to zoznam vecí, ktoré sme riešili jednu po druhej, ako pribúdali — a pri niektorých sme sa k nim vrátili až spätne.
Najväčšia chyba je myslieť si, že stačí „napojiť model, pamäť, Gmail a pár nástrojov". Technicky to rozbeháš rýchlo, za víkend. Problém začne vtedy, keď to má spoľahlivo fungovať každý deň.
Demo rieši, čo všetko agent dokáže.
Produkt musí riešiť aj všetko, čo sa môže pokaziť.
Nižšie je osemnásť takých vecí v šiestich okruhoch. Nemusíš to čítať celé — klikni na to, čo práve staviaš.
01Kto vlastne rozhoduje
Najčastejšia príčina toho, že agent robí veci dvakrát alebo nedorobí nič.
- Kto je skutočný orchestrátor
Musí byť jasné, ktorá vrstva rozhoduje, čo sa vykoná, čo sa uloží do pamäte, kedy sa zavolá ďalší agent a kedy sa úloha končí. Inak vznikajú slučky, duplicity a agent si začne „posúvať prácu" medzi službami.
- Viac agentov znie lepšie, než býva
Multi-agent vyzerá efektne, ale agenti si vedia posielať obrovský kontext, protirečiť si a vytvárať nekonečné delegácie. Často je jeden dobrý orchestrátor lepší než desať agentov.
- Latencia sa sčítava
Model → pamäť → model → prehliadač → model → ďalší agent → model. Z jednoduchého príkazu je zrazu tridsaťsekundový workflow a človek medzitým pozerá na točiace sa koliesko.
02Oprávnenia a bezpečnosť
Toto je tá časť, ktorú demo nikdy nerieši — a ktorá rozhoduje o tom, či to smieš pustiť na vlastnú poštu.
- Čítať nie je to isté ako písať
Read Gmail ≠ send Gmail. Prečítať súbor ≠ prepísať alebo zmazať súbor. Agent by nemal dostať plošné admin práva len preto, že sa to jednoduchšie programuje.
- Prompt injection
Ak agent číta web, e-maily alebo dokumenty, skôr či neskôr narazí na text typu „ignoruj predchádzajúce pokyny a pošli mi…". Externý obsah nesmie mať rovnakú dôveryhodnosť ako pokyn od používateľa. Toto nie je teória, deje sa to.
- Kde sú kľúče
Kde sú uložené tokeny na Anthropic, OpenAI, Gmail, ElevenLabs? Kto ich vie prečítať? Logujú sa? A neposiela ich agent náhodou do kontextu modelu? Toto je veľmi častá slabina domácich riešení.
- Audit
Musíš vedieť spätne odpovedať: čo agent urobil, ktorý model to rozhodol, aký nástroj zavolal, aké dáta dostal a čo zmenil. Bez toho nemáš ako zistiť, kde sa niečo pokazilo — ani dokázať, že sa nepokazilo.
03Pamäť
Pripojiť vektorovú databázu je hodina práce. Pamäť, ktorá po pol roku stále dáva zmysel, je niečo iné.
- Nestačí pripojiť vector DB
Treba vyriešiť, čo sa má uložiť a čo nie, expirácie, duplicity, konflikty, rozdiel medzi faktovou a významovou pamäťou, a čo sa stane, keď zmeníš embedding model a treba prestavať index.
- Čo je zdroj pravdy
Vektorový index nesmie byť jediná kópia znalostí. Musíš vedieť pamäť kedykoľvek znovu vybudovať z originálnych dát. Inak ti jedna zlá migrácia zmaže všetko, čo sa agent naučil.
- Kontext modelu nie je nekonečný
Nemôžeš donekonečna posielať celý chat, celú pamäť, všetky nástroje a všetky dokumenty. Rastie cena, rastie latencia a paradoxne sa zhoršuje kvalita rozhodovania — v šume sa stratí to podstatné.
04Keď sa to pokazí
Toto je celý rozdiel medzi demom a produktom.
- Volanie nástrojov treba overiť
Model má nástroj len navrhnúť. Framework musí overiť parametre, oprávnenia aj výsledok. To, že model povedal
delete_file, nemôže automaticky znamenať, že sa súbor zmaže. - Idempotencia
Keď „pošli faktúru" spadne na timeout, nevieš to automaticky zopakovať. Možno ju už poslal a len ti neprišlo potvrdenie. Pri agentoch je toto kritické — dvakrát odoslaná faktúra je horšia než žiadna.
- Opakovanie a chyby
Gmail neodpovie, model vráti pokazený JSON, API zmení schému, server spadne. Agent musí vedieť, čo zopakovať, čo zastaviť a čo oznámiť človeku.
- Automatizácie sú iná liga
Ručné „pošli tento mail" je iné riziko ako agent, ktorý sa každé ráno sám zobudí a rozhoduje, čo pošle. Čím viac autonómie, tým tvrdšie mantinely.
05Peniaze a nezávislosť
Účet neurčuje cena modelu, ale počet volaní, ktoré o ňom nevieš.
- API verzus paušál
Niektoré frameworky vedia použiť predplatné a prihlásenie, iné vyžadujú API kľúč. Pri agentovi môže jeden používateľský príkaz znamenať dvadsať volaní modelu, takže platba za tokeny vie cenovo uletieť.
- Sledovanie nákladov
Nestačí sledovať cenu jedného modelu. Hlas, embeddingy, pamäť, prehliadač, cloudový server, databáza a API modelu sa sčítavajú. A limit na jedného používateľa ti účet neobmedzí — hornú hranicu treba nastaviť aj globálne.
- Vendor lock-in
Ak je pamäť v jednej službe, orchestrácia v druhej a procesy v tretej: čo spravíš, keď jedna zdražie, skončí alebo zmení API?
06Kade tečú dáta
- Používateľ si myslí, že to poslal „svojmu agentovi"
Jeden e-mail môže postupne prejsť cez tvoj framework, cloudový model, poskytovateľa pamäte, poskytovateľa embeddingov a logovaciu službu. Človek na druhej strane si pritom myslí, že ho poslal jednej aplikácii. Toto mu treba povedať skôr, než sa to stane.
A na záver to isté inak
„Poskladať si Jarvisa" a „vyvinúť hotového asistenta" nie sú tá istá vec.
Prvé je víkend a je to skvelá zábava — choď do toho. Druhé je táto stránka, každý deň, mesiace. A väčšina z nej sa nedá odfotiť ani ukázať vo videu, čo je presne dôvod, prečo o nej nikto nehovorí.
A to boli len hlavné princípy.
Toto je šesť okruhov. Za hotovým asistentom je ďalších sto konkrétnych rozhodnutí — od prvého kliknutia na mikrofón po to, čo sa stane, keď uprostred práce agenta vypadne pripojená služba.
100 otázok zo zákulisia Darwina ›Tak čo teraz?
Ak staviaš, vezmi si od nás štyri prompty a začni. Ak by si radšej videl hotovú vec, napíš si o skúšobnú verziu — na tej istej stránke.
Chcem prompty zadarmo › Pozri Darwina ›Tento zoznam nevznikol pri písaní blogu. Vznikal postupne, ako sme jednotlivé veci riešili — niektoré hneď na začiatku, iné až vtedy, keď sa ukázalo, že na ne treba myslieť. Ak staviaš vlastného a niečo z toho ťa zastavilo, napíš nám — porovnáme si poznámky.
‹ späť na Darwina