knemchenko.log
Open in Telegram
Автоматизація, АІ, фінанси і мої проекти Зворотнй зв'язок @knemchenko GitHub: https://github.com/knemchenko LinkedIn: https://www.linkedin.com/in/knemchenko/
Show moreThe country is not specifiedThe category is not specified
207
Subscribers
+324 hours
+37 days
+530 days
Posts Archive
Побачив, що «Сільпо» запустило власний MCP і проводить AI Factory Hackathon. Вирішив нарешті свою давню ідею з планування харчування та підрахунку калорій.
«МОЖНА!» — AI-агент, який перетворює запит на кшталт «хочу 2000 ккал на день, без лактози та грибів» на готове меню на 3, 5 або 7 днів. Він підбирає реальні товари «Сільпо», перевіряє їхній склад і калорійність, рахує потрібну кількість упаковок та після підтвердження додає все до кошика.
Для меню агент використовує реальні рецепти із сайту SHUBA: показує інгредієнти, адаптує розмір порції під калорійну ціль і залишає пряме посилання на оригінальний рецепт.
А ще є «бюджет на радість»: агент знаходить конкретний смаколик, який вкладається у залишок калорій. Не «цього не можна», а «ось скільки можна» 🙂
Під капотом — локальна українська модель MamayLM, рецепти SHUBA та офіційний MCP «Сільпо». Це поки прототип, тому буду вдячний за тести, фідбек і знайдені баги.
Спробувати МОЖНА можна за посиланням https://smakolyk.duckdns.org/
Влаштував собі невеликий хакатон із розв’язання нестандартної версії 2048: треба набрати якомога більше очок, але не зібрати плитку 2048 😅
Спочатку зробив бота, який керує грою 2048 в monobank через Appium, а потім почав навчати окрему ML-модель під це
Детальніше описав увесь процес у Threads
Думаю, згодом ще оформлю повну технічну версію на Medium — з алгоритмами, помилками та результатами навчання.
🚘 Квест з правами завершено: здав практику з 5-ї спроби!
Два тижні тому я нарешті отримав права. Ділюся досвідом практичної частини, як і планував після поста про теорію.
Про Сервісний центр та екзаменаторів
Здавав у СЦ на Усенка. Головна проблема — екзаменатори прискіпуються до кожної дрібниці. Ось реальні ситуації з моїх спроб, на яких я втрачав бали:
🔹 Спірний світлофор: Виїхав на Дарницьку площу на чіткий зелений, але екзаменатор заявив, що я поїхав на миготливий.
🔹 Дзеркала та поворотники: Дуже легко зловити мінуси за те, що не подивився в праве дзеркало двічі при розвороті на парковці, або забув показати лівий поворотник, коли просто об'їжджав маленьку перешкоду.
🔹 Пастка без розмітки: На одному іспиті на дорозі не було розмітки. Коли вона несподівано з'явилася, я опинився між двома смугами одного напрямку і трошки притиснувся вправо. Результат — зарахували відразу 2 помилки: некоректне перестроювання і те, що не подивився у праве дзеркало.
🚕 Розвага по дорозі на іспит
Була в мене ще така забава: поки їхав у таксі на екзамен, розповідав про це таксисту, і ми разом рахували помилки, які він робить під час поїздки. Жоден з тих таксистів, які мене возили, не здав би іспит)) За 15-20 хвилин їзди стабільно набиралося 5+ порушень.
Ситуація з талонами
Напруга з ними все ще є, але взяти реально. У мене без проблем виходило ловити їх онлайн за 3 тижні наперед о 7-8 ранку. Альтернативний варіант — брати талон день у день безпосередньо в терміналі СЦ, але для цього треба приїжджати прямо на відкриття.
Про навчання
Навчався в автошколі з ідеальним форматом для економії часу: інструктор приїжджає на машині прямо до тебе додому, ви їдете катати майданчик або маршрути СЦ, а потім повертаєтеся назад. Якщо комусь актуально — маякніть у коментарі, поділюся контактами.
💸 Кошторис:
38 000 грн — практика (40 годин)
~500 грн — кожна спроба здачі іспиту в СЦ
~300-400 грн — таксі (туди-назад), щоб доїхати на здачу та/або взяти талон
Натрапив на крутий розбір вірусу NotPetya — детально про те, звідки він взявся і як поширювався:
https://www.youtube.com/watch?v=Hp23a4eBfqs
Аж згадав, як влітку 2017 року 3 ночі підряд відновлював сервери «Будинку іграшок», які лягли від цього ж вірусу. Непогано заробив на ті часи, десь декілька стипендій точно було. І тоді ж отримав перший спонтанний офер в PHP-розробку, від якого відмовився)
Всім привіт! Сьогодні мені виповнюється 30 років. 🎉
Найкращим подарунком для мене, вже традиційно, буде ваш донат для «Солом'янських котиків». Вони роблять надзвичайно важливу і критичну зараз справу — навчають військових та цивільних домедичній допомозі.
Буду дуже вдячний, якщо в якості привітання ви закинете комфортну суму на банку:
https://send.monobank.ua/jar/7ghHhUFCGq
Якщо ви ще не проходили курси з домедичної допомоги (або ж хочете оновити знання), дуже раджу записатися на їхній тренінг. Це ті навички, які сьогодні має мати кожен. Деталі шукайте тут: https://t.me/kitty_soloma
Дякую всім за привітання і підтримку!
Ще в студентські часи був долучений до створення КПІшних каналів KPI Trade і КПІ хата. У KPI Trade люди продають і купують речі в рамках студмістечка, у КПІ хата — шукають житло або співмешканців.
Модерація там відбувалась вручну, а адміни час від часу змінювались, бо це суто волонтерська робота.
Останнім часом канали знову почали занепадати, а шукати нових модераторів ніхто особливо не хотів. Тому я вирішив автоматизувати процес публікації.
Переробив ботів і побудував пайплайн перевірки:
- спочатку йде статична перевірка кодом — чи є всі обов’язкові поля, фото, ціна, контакт, чи немає дублікатів, заборонених категорій або очевидних порушень
- далі чисті та неоднозначні кейси додатково перевіряються локально через Ollama + LLM, яка вже вирішує, чи можна публікувати пост автоматично, чи краще відправити його на ручний перегляд адмінів
У результаті валідні оголошення тепер проходять значно швидше, а ручна модерація потрібна тільки для сумнівних випадків.
Детальніше про архітектуру, логіку перевірок, regression-тести і баги, які довелось виловлювати по дорозі, розписав у статті на Medium
Оновив Кортес до версії 0.5
- Підтримка Threads: Тепер бот вміє викачувати відео з Threads (працює через playwright headless*)
- Додав кешування за посиланням, якщо відео з таким лінком вже коли-небудь завантажувалось, бот не качатиме його наново, а відправить миттєво через TG file id
- Резервні методи викачки: Якщо стандартний метод для TikTok чи Instagram Reels не спрацює, бот спробує завантажити через yt-dlp, а потім напряму через playwright headless*
- Бот тепер надсилає повідомлення-сповіщення про те, що відео в процесі підготовки. Щойно відео буде завантажено, бот автоматично видалить як ваше оригінальне повідомлення з лінком, так і своє службове повідомлення про статус. При провальній пробі - бот видалить своє повідомлення і залишить оригінальне посилання
- Захист від спаму/флуду: Щоб бот працював стабільно для всіх, додали таймаут на завантаження — 10 секунд між запитами від одного користувача.
- Підтримка чатів з декількома тредами
* Викачка через playwright — це надійно, але може займати кілька хвилин. Просто зачекайте).
Ви знали що Claude Code можна запустити на локальних моделях через ollama?
https://docs.ollama.com/integrations/claude-code
🚗 В четвер склав теорію на права з першої спроби! Результат: 18/20.
До теорії готувався повністю самостійно. Ось мій алгоритм, раптом хтось теж зараз на цьому етапі:
1️⃣ Дивився лекції з цього ютуб-плейлиста на швидкості х2-2.5. Чудова економія часу.
2️⃣ Після кожної теми одразу йшов у додаток і проходив відповідні тести по темі (довелося купити преміум, але він того вартий).
3️⃣ Симуляція: Коли закрив усі теми, останній тиждень просто ганяв білети десь по ~30 хвилин на день.
Підійшов до процесу здачі іспиту максимально системно. Сама стратегія проходження:
🔹 Крок 1: Спочатку просто прочитав усі питання, не обираючи відповідь.
🔹 Крок 2: Проставив відповіді там, де був впевнений на 100% (таких набралося штук 10).
🔹 Крок 3: Пішов на друге коло — спокійно добив ще 5 питань, над якими треба було трохи подумати.
🔹 Крок 4: Зловив помилку на медицині (куди ж без цього 😅).
🔹 Крок 5: Ще раз уважно перечитав залишок питань, зважив усі варіанти і закрив тест.
Тепер починається наступний квест — практика. Якщо у когось є перевірені автошколи чи круті інструктори для накату — чекаю на контакти в коментарі! З крутими порадами також велкам 👇
🚀 На цих вихідних брав участь у хакатоні AgentForge від SoftServe
Наша ідея — прибрати рутину з процесу Code Review. Ми додаємо в GitLab пайплайн новий stage, який за допомогою LLM робить перше рев'ю коду, ще до того, як його відкриє людина. Умовно, це техлід-агент, який відловлює типові логічні помилки та стежить за дотриманням стилю коду проекту, знімаючи з рев'ювера нудні задачі.
Як це працює технічно: Ми забілдили CI-пайплайн, де спочатку йде стандартний статичний аналіз (лінтери) . Якщо код синтаксично чистий і проходить цю перевірку, тільки тоді включається агент . Це дозволяє не витрачати ресурси на банальні помилки й фокусуватися на серйозних речах.
Головні фішки нашого агента:
Контекст проєкту: Завдяки аналізу AST (дерева синтаксису), агент бачить не просто змінені рядки, а зв'язки між файлами. Наприклад, він зрозуміє, що ви передали неправильний тип даних у функцію, яка визначена в іншому модулі.
Власний стиль: Перед першим запуском ми генеруємо файл project_style.md на основі існуючого проекту. В ньому зберігається стиль коду, в подальшому агент використовує цей файл і стежить за дотриманням саме ваших стандартів проєкту
Security Gate: СІ автоматично блокує мердж, якщо агент знаходить критичні вразливості (Severity Critical та Major) .
Детальна презентація проєкту тут 👉 https://knemchenko.github.io/hackathon_llm_gitlab_reviewer/
Демо-відео роботи в реальному GitLab пайплайні закинув у коменти👇
Після попереднього поста про моніторинг світла мене питали: "А як, власне, побудована схема живлення в квартирі?".
Головна ідея — заживити необхідні для роботи прилади та холодильник (щоб продукти не зіпсувались), і автоматично відсікти все зайве, що швидко садить батарею.
Ділюся своїм сетапом:
- Захист: Трифазне реле напруги ZUBR D6-63;
- АВР (Автоматичне введення резерву): Китайський TOMZN (TOQ5). Це пристрій, який сам перемикає джерело живлення між мережею та резервом;
- Зарядна станція Bluetti на 2 кВт (резервне живлення)
⚙️ Як це працює
В квартиру заходять 3 фази від міської мережі. На щитку було перерозподілено навантаження таким чином, що на одній фазі знаходяться критичні прилади (освітлення, холодильник, лінія до робочого місця). А на інші фази - потужні споживачі (бойлер, плита, кондиціонер та інше)
Фаза 1 (Критична): Проходить через АВР.
Світло від мережі є -> Живимось від міста.
Світла від мережі немає -> АВР сам перемикає на Bluetti. Тут висять: світло, холодильник, робоче місце.
Фази 2 та 3 (Потужні): Йдуть напряму.
Світла від мережі немає -> Вони просто вимикаються. Тут висять: бойлер, плита, кондиціонер, пралка.
Профіт: Випадково увімкнений бойлер не розрядить станцію за 20 хвилин.
🔋 Автономність
У режимі "база" (Холодильник + Роутер + Сервер) споживання ~150-160 Вт. Цього вистачає на 12-13 годин.
У робочому режимі (плюс ноутбук, який бере 80-100 Вт при зарядці) комфортно працювати близько 6-8 годин.
При графіках, коли світло є хоча б двічі по 3-4 години на добу — жити комфортно. Відповідно готувати і ставити прання можна тільки, коли є світло від мережі
🔋 Роутер і Сервер: Підключені напряму до Bluetti. Інтернет і всі підняті сервіси працюють безперервно, завжди від 220 В.
⚡️ Оновив бота для моніторингу світла
В поточних умовах просто знати про наявність світла замало — важливо знати напругу у міській мережі. Тому я інтегрував у систему розумну розетку від Tuya, яка міряє і віддає по API параметри мережі в реальному часі.
Тепер сервер замість роутера "пінгує" розетку: якщо вона доступна, він вичитує дані про поточну напругу.
Діапазон напруги поділено на зони. При переході між ними бот надсилає сповіщення:
🕯 < 190 В (Критично)
📉 190-207 В (Просадка)
✅ 207-253 В (Норма)
📈 253-260 В (Завищена)
🚨 > 260 В (Небезпека)
Також щоночі бот надсилає графік-статистику за минулу добу, де видно, як стрибала напруга і коли саме були відключення.
📝 Детальна інструкція на Medium: https://medium.com/@knemcheko/моніторинг-наявності-світла-за-допомогою-розетки-tuya-1b7c61c742a4
Оновлений код вже на GitHub
Моніторинг паркомісць
Зробив сервіс, який підключається до вебкамери (RTSP потік), детектить авто при проїзді через ворота та рахує поточну кількість вільних паркомісць у дворі. При події (в’їзд/виїзд) надсилає одним повідомленням у Telegram: коротке відео + текст.
Сервіс читає RTSP-потік і запускає модель детекції, яка знаходить авто. Далі відстежується зміна об’єктів між кадрами, щоб розуміти напрямок руху машини. Полігон зони воріт ділиться на кілька зон, і якщо авто проходить їх в одному напрямку — фіксується в’їзд; у протилежному — виїзд.
У Telegram-кліпі накладається зона + bbox детекції (щоб було видно, що саме спрацювало). Локально в clips/ зберігаються чисті RAW-кліпи для подальших тестів.
Для детекції використовую модель person-vehicle-bike-detection-2002 (FP32) через OpenVINO
Камера: TP-Link Tapo C225 (RTSP)
Кількість ресурсів для обробки на сервері:
CPU: ~150% (≈ 1.5 ядра)
RAM: ~3.5 ГБ
Посилання на репозиторій
Детальніше в статті
Приклад детекції — в коментарях
Оновив Кортес до версії 0.4
- Додано викачку відео TikTok через Cobalt. Довелось розгортати локально на сервері, як окремий контейнер (скріпт додано в репозиторій)
- Викачку Instagram через yt_dlp з підтримкою cookies (авторизований аккаунт)
- Оновлено викачку з YouTube
- Twitter працює так само через fxtwitter.com
Теоретично при великій кількості запитів до Instagram/TikTok можуть обмежити по IP, як було в версії 0.2 з Instagram. Подивимось як буде, можливо доведеться ще підшаманювати
Банка на підтримку сервера
Зробив українську локалізацію для гри за допомогою MamayLM
Вчора захотілось пограти в Yes, Your Grace, але української локалізації від розробників немає. Англійською якось не пішло, а російською не хочеться грати.
Тож я вирішив перекласти її через LLM. Витягнув діалоги з resources.assets через UABEA, переклав EN→UK локально моделлю MamayLM v1.0, а потім закинув переклад назад у гру (підмінивши один з перекладів)
Детально описав процес в статті
Репозиторій з файлами: https://github.com/knemchenko/unity_en2uk_by_llm
Потестив GPT-5 — за один день зробив телеграм-бота для моніторингу портфеля акцій. Бот сповіщає, коли вартість портфеля зростає або падає на задану суму чи відсоток, запам’ятовує це як нову «базу» і далі стежить уже відносно неї.
Самостійно протестувати можна тут: @ib_portfolio_bot
Детальний опис роботи — у статті
З того що помітив про GPT-5:
- Гнучка робота в одному чаті. Можна одночасно брейнштормити ТЗ і генерувати код — модель підлаштовується під контекст. Раніше ефективніше було тримати окремий чат під кожну рольову модель
- Чітко пам’ятає попередні обговорення. Якщо згадати функціонал, який обговорювали 20 повідомлень тому, GPT-5 точно відтворить його без викривлень. У GPT-4o при цьому часто з’являлись «галюцинації» та вигадані деталі
- Якість коду. Для середніх проектів з першого разу «цукерочка» не виходить, але після кількох ітерацій тестування — цілком
- Зручність у роботі з файлами. Тепер в інтерфейсі ChatGPT можна попросити згенерувати ZIP-архів проектів. Мінус: файли доступні лише ~10 хвилин, далі сесія закривається
Найбільший бісячих мінусів - коли в чаті 50+ повідомлень сесія зжирає 3-4 гіга оперативка і сторінка починає лагати
Мій ефективний флоу розробки проектів
1. Описуєш ідею, просиш модель оцінити її як бізнес-аналітик і поставити уточнюючі питання
2. Просиш подивитись на проект очима архітектора та обрати оптимальний стек технологій для реалізації й розгортання
3. Формуєш ТЗ і вносиш в нього правки
4. Просиш реалізувати ТЗ й надіслати ZIP-архів з проектом
5. Хостиш у себе, тестуєш, виписуєш список правок (пробував одразу 5–6 — працює без збоїв).
6. Повторюєш, доки не отримаєш бажаний результат
