Autonomní AI novinkový systém: jak nahradit sedm workflowů jedinou architekturou
Za půl druhého měsíce se fragmentovaný novinkový pipeline ze sedmi n8n workflowů proměnil ve stabilní systém se 160 zdroji, 11 workery a 5 AI agenty. Nyní zpracování 7127 záznamů v databázi probíhá bez manuálního zásahu a lokální LLM na mini-PC nahrazuje cloudové API. Rozkládáme architekturu, která eliminuje body selhání a zajišťuje provoz 24/7.
Od sedmi bodů selhání k jedinému systému
Původně novinkový pipeline sestával ze sedmi nezávislých n8n workflowů: sběr dat, filtrování, překlad, generování obrázků a publikování. Každý stupeň fungoval izolováně, což způsobovalo kaskádové selhání. Typický problém: workflow označil úlohu jako „dokončenou“, ale na výstupu byl prázdný výsledek. Protože stupně neměly společný systém monitorování, diagnostika trvala hodiny. Kritická zranitelnost – absence jednotného stavu pro každou novinku. Pokud jeden workflow uvízl, ostatní pokračovaly v zpracování a vytvářely nesouladná data.
Řešení přišlo po analýze s Perplexity a experimentech s Claude Code. Místo ručního přepisování logiky v Pythonu AI asistent obdržel původní workflowy a architektonické požadavky. Během hodiny vygeneroval kontejnerizovanou aplikaci s jasným rozdělením odpovědností. Klíčová změna: přechod od triggerových workflowů k pipeline orientovanému na stav, kde každá novinka prochází přesně definovanými stupni s fixací stavu v databázi.
Lokální zpracování: proč Qwen 3.5 na mini-PC
Překlad novinek přes cloudové API se ukázal jako ekonomicky nevýhodný: 160 zdrojů s aktualizací každých 15 minut by vyžadovalo desítky tisíc požadavků denně. Řešení – umístění lokální LLM na domácí mini-PC s Ubuntu a optimalizace pod Vulkan přes llama.cpp. Vybrána model Qwen 3.5 (qwen3.5-9b-q5_k_m.gguf) díky vyváženosti rychlosti a kvality pro ruštinu.
Nastavení zahrnovalo:
- Jemné doladění pod architekturu procesoru přes Cursor
- Kalibraci počtu vláken pro minimalizaci latence
- Nastavení cachování mezivýsledků
Systém zpracovává až 50 požadavků za minutu bez přetížení CPU. Data neopouštějí lokální síť, což je klíčové pro zpracování zdrojů s omezeními na API klíče. Pro srovnání: cloudový překlad by stál ~$120/měsíc při současném objemu, lokální – $0 po počátečním nastavení.
Architektura pipeline: jak fungují 11 workerů
Systém je postavený na principu „jeden proces – jedna úloha“. Každý worker je izolován, což vylučuje kaskádové selhání. Tok zpracování:
collector → scraper → deduplicator → ai_filter → translator
→ llm_editor → image_worker → publisher
collector se spouští každých 15 minut, parsuje RSS/API 160 zdrojů (včetně Arxiv, TechCrunch, GitHub). scraper extrahuje plný text přes lokální instanci Jina Reader – to eliminovalo limity cloudové služby. deduplicator aplikuje sémantické porovnání na základě embeddings, ne přesné shody textu. ai_filter přiřazuje relevance_score (0-100) a odstraňuje materiály pod 75 bodů.
Zvláštní pozornost věnována stupni llm_editor. Zde MiniMax M2.7 formátuje text podle stylu kanálu: přidává emoji do nadpisů, strukturová obsah, uvádí zdroje. Model je trénovaný na historických datech kanálu, což zajišťuje konzistenci formátování. Všichni workeri komunikují přes frontu zpráv s garancí doručení, což umožňuje obnovení zpracování po selhání z posledního bodu zastavení.
Řízení přes AI agenty: od Telegram příkazů k akcím
Koordinátor na bázi OpenClaw nahrazuje ruční ovládání. Běží na stejném mini-PC a má přístup k nástrojům přes API. Systém využívá 5 specializovaných agentů:
- AgentLLMEditor: koriguje text každých 20 minut
- AgentPipelineManager: rozděluje příspěvky do slotů 4x denně
- AgentSourceAuditor: vypíná nefunkční zdroje týdně
- AgentAnalyst: vytváří analýzu v 21:05
- Koordinátor: řídí ostatní agenty
Příkaz v Telegramu „Koordinátore, sniž limit publikací na 8 za den“ se převede na API volání k pipeline managerovi. Agent zkontroluje aktuální nastavení, provede změny a potvrdí provedení. To eliminuje potřebu SSH přístupu a znalosti syntaxe konfiguračních souborů. Pro kritické operace (např. vypnutí zdroje) systém vyžaduje potvrzení přes human-in-the-loop (hitl) worker.
Dashboard: monitorování v reálném čase
Rozhraní sjednocuje 9 záložek: přehled, agenti, zdroje, fronta, workeri, sloty, publikované, nastavení, GitHub Discovery. Klíčové metriky:
- Míra úspěšnosti podle zdrojů: Anthropic News (100 %) vs iXBT.com (14 %)
- Čas zpracování stupně: překlad (4 min) vs filtrování (2 min)
- Stav workerů: aktivní/nečinné procesy
Při detekci anomálie (např. uvízlá fronta překladu) dashboard automaticky vytvoří úkol v Telegram pracovní skupině. Integrace s GitHub Discovery sleduje repozitáře s rychlým růstem hvězdiček – tato data se zobrazují na samostatné záložce s grafem aktivity. Systém varuje před problémy dříve, než ovlivní publikace: např. při poklesu míry úspěšnosti zdroje pod 10 % za týden.
Úspora díky výběru: od 1000 novinek k 8 příspěvkům za den
Systém nepublikuje všechno. Za týden zpracuje ~1000 materiálů, ale do vysílání se dostane jen 56 příspěvků (8 za den). Kritéria výběru:
- relevance_score ≥ 80 (ai_filter)
- Schválení LLM editorem (stav approved)
- Soulad se slotem podle denní doby
Časový plán je pevně vázán na časová pásma:
- Ráno (08:00–11:00): 2 příspěvky
- Den (12:00–16:00): 2 příspěvky
- Večer (18:00–22:00): 2 příspěvky
- Noc (00:00–06:00): 2 příspěvky
Dříve se publikovali 28 příspěvků za den, ale analýza ukázala: uživatelé čtou jen posledních 1-2 materiálů. Nyní snížení objemu zvýšilo retenci o 37 % – čtenáři si prohlédnou všechny publikace ve slotu. Míra úspěšnosti zdrojů umožňuje týdenní úpravu seznamu: 20 málo efektivních RSS kanálů už vypnuto.
Co je důležité
- Jednotný systém stavů nahrazuje izolo-vané workflowy: každá novinka má jasný stav, což zrychluje diagnostiku selhání 5×.
- Lokální LLM ušetří až $120/měsíc na překladu a editaci, přičemž latence nepřekročí 4 minuty pro 50 paralelních úkolů.
- AI agenti eliminují ruční ovládání: příkazy v Telegramu se mění na API volání bez zásahu operátora.
- Přísný výběr obsahu (8 příspěvků/den místo 28) zvýšil retenci publika o 37 % díky snížení šumu.
— Editorial Team
Zatím žádné komentáře.