AI не замінить розробників.
Але він уже замінює тих, хто не розуміє, як будуються AI-системи. Питання лише в тому, чи встигнете ви адаптуватися.
За останні пів року вимоги до Senior+ рівня змінилися радикально. Ось мій roadmap на карті вище — орієнтир, куди вкладати час, поки вікно можливостей відкрите, а конкуренції в цих темах ще мало.
Повний розбір — на DOU
🔗 https://dou.ua/forums/topic/60053/
#js_ai_trends
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤7🔥3👀1
Дуже легко. Показую.
Той самий код, ті самі 212 дублікатів. Один інструмент пошуку копіпасту віддає AI звіт на 2 800 токенів, інший — на 158 000.
Різниця — це ваші гроші, спалені на токенах.
Проблема:
Більшість інструментів видають «важкі» звіти, не оптимізовані для LLM — величезні JSON або неструктуровані дані. Вони забивають контекстне вікно, сповільнюють відповідь і роздувають вартість кожного запиту.
А тепер наочно. Ефективність на 212 клонах:
🔴 Гроші на вітер — не для LLM:
• Duplo — 158 000 токенів, величезний JSON із купою false positives
• PMD CPD — 21 000 токенів, розкидані по 34 файлах
🟡 Частково придатні:
• Simian — 15 000 токенів, без структурованих метаданих
• Fallow — 400 токенів, та це не економія: він просто бачить мізерну частину коду
🟢 Готові до роботи з AI — економно:
• jscpd@5 — 2 800 токенів
• jscpd@4 — 2 700 токенів
• jscpd-rs — 3 000 токенів
У jscpd є окремий флаг --reporters ai — компактний звіт без зайвого шуму, створений саме для AI-пайплайнів.
⚠️ Важлива ремарка:
Токени на клон не можна порівнювати між інструментами напряму — кожен визначає «клон» по-своєму. Порівнюйте лише всередині однієї групи.
Висновок:
Коли звіт іде в LLM, його розмір — це прямі витрати вашого часу й бюджету. Той самий результат можна віддати економно або спалити на ньому гроші. Обирайте інструменти, які поважають ваш токен-ліміт.
Це друга з трьох частин про порівняння Copy-Paste Detector (CPD) інструментів. Частина 1 — про швидкість. Далі — як інструменти бачать дублікати між різними форматами файлів.
🔗 Бенчмарк токенів: jscpd.dev/benchmarks/ai-token-efficiency
💻 GitHub: github.com/kucherenko/jscpd
☕ Підтримати: opencollective.com/jscpd
#TokenEconomics #LLM #CopyPasteDetector #jscpd
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👏2❤1🔥1
Я перевірив ті самі компоненти — від hello до таблиці з фільтром — і написав їх на кожному фреймворку. Однакова функціональність, один токенізатор:
🟢 Svelte — 598 токенів
🟡 React — +25%
🔴 Angular — +38%
+38% — це не про стиль коду. Це рядок у вашому рахунку за API. Бо код тепер читають не люди, а агенти — тисячі разів на місяць. На кожному рев'ю, кожному «полагодь оце», кожному прогоні ви платите за зайве знову і знову.
А тепер парадокс, який ламає інтуїцію. У Svelte НАЙГІРШЕ стиснення у всій групі — його синтаксис погано лягає в токенізатор. І він однаково виграє. Чому? Бо коду треба менше: ти пишеш count++ — решту добудовує компілятор. У React ти пишеш ту саму сантехніку руками. І платиш за кожен символ.
Висновок простий: усе, що ви пишете явно — має ціну. Усе, що виводить компілятор — безкоштовне.
#TokenEconomics #LLM #Svelte #React #Angular
Повне дослідження — таблиці в доларах по 10 моделях 👀у статті на Hacker Noon
Це частина 1 з 5. Далі — мови, де анотації типів у TypeScript додають +63% до ціни за ту саму логіку 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥3👀3
🛡 OWASP випустив Top 10 загроз для LLM
Окремий Top 10 для LLM (з 18.11.2024), у 2025-2026 став обов'язковим, як веб-Top 10. Prompt injection - на 1 місці другий рік поспіль.
✅ Перед тим як пускати агента в робоче репо: постав human-approval на деструктивні команди (видалення, push у main) і обмеж доступ агента до прод-середовища.
💸 GitHub перевів Copilot на оплату за токени
З 1 червня всі плани Copilot рахують AI Credits за токенами (1 кредит = $0.01). Code completions лишились безкоштовними.
✅ Розділи задачі за вартістю: дешеві моделі на рутину (тести, доки, рефакторинг), флагмани - лише на архітектуру. Інакше рахунок наприкінці місяця здивує.
📄 Формат правил проекту AGENTS.md підтримали OpenAI, Google (Jules), Cursor і Factory
Замість зоопарку (CLAUDE.md, .cursorrules, свій файл у Copilot) - один файл, який розуміють Codex, Gemini, Aider, opencode. 60k+ проєктів, курує Agentic AI Foundation (Linux Foundation).
✅ Поклади в корінь репо AGENTS.md зі стандартами (naming, структура, патерни, тести). Claude Code поки не читає його нативно - роби симлінк CLAUDE.md на нього.
🐙 OpenCode - один із найпопулярніших open-source агентів (170k+ ⭐ на GitHub)
Термінальний агент під MIT, 75+ провайдерів, LSP-діагностика повертається в модель після кожної правки.
✅ Не хочеш залежати від одного вендора - постав OpenCode і підключи свої моделі (хоч локальні через Ollama).
🤖 GitHub відкрив Copilot SDK для всіх
2 червня. Агентний рушій можна вбудувати у свої тули: повний runtime (планування, тули, правки файлів, MCP), 6 мов, підписка не потрібна.
✅Робиш внутрішні тули - збери на ньому CI-асистента, генератор release notes чи review-бота, не пишучи власну оркестрацію.
Що з цього вже у твоєму процесі?
👍 - працюю так, не новина
👀 - забираю собі кілька пунктів
#dev_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
👀7🔥6👍5👏1😁1
🎯 8 безкоштовних ресурсів, щоб прокачати промптинг по-серйозному
Промпт-інжиніринг — це відносно нова дисципліна й важлива компетенція: розуміти можливості моделей, будувати застосунки й ефективно з ними взаємодіяти.
За допомогою промпт-інжинірингу можна:
• підвищувати безпеку використання LLM;
• покращувати якість відповідей;
• підключати зовнішні інструменти та API;
• доповнювати моделі знаннями конкретної предметної області;
• створювати нові можливості та сценарії застосування ШІ.
Простіше кажучи: якщо раніше достатньо було «вміти ставити запитання ChatGPT», то сьогодні промпт-інжиніринг став окремою інженерною дисципліною на стику розробки, аналізу даних і роботи зі штучним інтелектом.
Зібрав найкраще — від гайдів до повноцінних курсів.
📘 Першоджерела (від тих, хто робить моделі)
1. OpenAI Prompt Engineering Guide
2. Prompt Engineering Guide
🎓 Структуровані курси (коли хочеться системно, а не уривками)
1. Prompt Engineering for Developers — DeepLearning.AI
2. Prompt Engineering Specialization — Vanderbilt University (Coursera)
3. Essentials of Prompt Engineering (AWS) — Coursera
🧩 Для тих, хто з нуля (без передумов, простою мовою)
1. Learn Prompting
2. Amazon: Foundations of Prompt Engineering
🎨 Бонус для візуалу (промптинг не тільки для тексту)
1. DALL·E 2 Prompt Book
Зберігайте — база, до якої вертаєшся не раз 🔖
📚 Серія «50 безкоштовних AI-курсів»:
▪️ Для інженерів
▪️ Старт з нуля
▪️ Промпт-інжиніринг (ви тут)
▪️ AI Fluency
▪️ Cloud & ML Ops
#free_ai_learning
Частина 3. Промпт-інжиніринг
Промпт-інжиніринг — це відносно нова дисципліна й важлива компетенція: розуміти можливості моделей, будувати застосунки й ефективно з ними взаємодіяти.
За допомогою промпт-інжинірингу можна:
• підвищувати безпеку використання LLM;
• покращувати якість відповідей;
• підключати зовнішні інструменти та API;
• доповнювати моделі знаннями конкретної предметної області;
• створювати нові можливості та сценарії застосування ШІ.
Простіше кажучи: якщо раніше достатньо було «вміти ставити запитання ChatGPT», то сьогодні промпт-інжиніринг став окремою інженерною дисципліною на стику розробки, аналізу даних і роботи зі штучним інтелектом.
Зібрав найкраще — від гайдів до повноцінних курсів.
📘 Першоджерела (від тих, хто робить моделі)
1. OpenAI Prompt Engineering Guide
2. Prompt Engineering Guide
🎓 Структуровані курси (коли хочеться системно, а не уривками)
1. Prompt Engineering for Developers — DeepLearning.AI
2. Prompt Engineering Specialization — Vanderbilt University (Coursera)
3. Essentials of Prompt Engineering (AWS) — Coursera
🧩 Для тих, хто з нуля (без передумов, простою мовою)
1. Learn Prompting
2. Amazon: Foundations of Prompt Engineering
🎨 Бонус для візуалу (промптинг не тільки для тексту)
1. DALL·E 2 Prompt Book
Зберігайте — база, до якої вертаєшся не раз 🔖
📚 Серія «50 безкоштовних AI-курсів»:
▪️ Для інженерів
▪️ Старт з нуля
▪️ Промпт-інжиніринг (ви тут)
▪️ AI Fluency
▪️ Cloud & ML Ops
#free_ai_learning
❤11🔥4👀2
🍋jscpd має 1,5 млн завантажень на тиждень. І я не вгадую, що в ньому покращити. Я це вимірюю.
⁉ Як зрозуміти, чого вартий твій продукт порівняно з іншими?
‼️ Запустити бенчмарк 🚀
Я взяв 7 copy-paste детекторів і прогнав усі на одній базі: 547 файлів, 223 формати, однакові умови для всіх.
Результати показав тут:
⚡️ Швидкість
🪙 Токени
🧩 Формати - сьогодні, фінальна 👇
👀 Дуже часто Copy-Paste Detector каже, що «дублікатів немає». Але він просто не зазирнув всередину ваших Vue- та Svelte-файлів. Сучасний файл - це не суцільний текст: один .vue, .svelte чи .astro містить кілька мов одразу - скрипт, стилі, шаблон. У markdown - YAML і блоки коду. І те, як інструмент це читає, вирішує все.
Існує 2 види інструментів:
🔴 Flat-text - порівнюють усе з усім: CSS зі скриптом, шаблон зі стилями. Або шум, або сліпота: звіт каже «чисто», а копіпаст лишається в коді.
🟢 Section-aware - спершу парсить файл, ділить на мови, і лише потім порівнює CSS із CSS, скрипт зі скриптом. Це вміє лише движок jscpd.
👨🏻💻Окремо про markdown: код усередині .md jscpd дістає з блоку й порівнює як код, а не як текст документації. Дубль, схований у прикладі коду, більше не проходить повз.
Результат: знайти дублікати між різними форматами (наприклад, однаковий CSS у .svelte та .astro) здатні лише три інструменти. І всі - на jscpd.
💡 Висновок.
У сучасних проектах дублікати ховаються не в тексті, а в структурі. Інструмент, який бачить лише текст, у найгіршому випадку звітує «чисто» - і ви вірите цьому звіту. Якщо інструмент не розуміє секцій усередині файлу - він не розуміє frontend.
🔗 Бенчмарк форматів: jscpd.dev/benchmarks/cross-format
💻 GitHub:github.com/kucherenko/jscpd
☕ Підтримати:opencollective.com/jscpd
А ваш CPD точно бачить дублікати у .vue і .svelte - чи просто каже «чисто»?
👍 Бачить, я перевіряв
👀 Не знаю - піду перевірю
😱 Тепер боюся дивитися
#jscpd #CopyPasteDetector
Сьогодні - про внутрішню кухню роботи над open-source проектом.
⁉ Як зрозуміти, чого вартий твій продукт порівняно з іншими?
‼️ Запустити бенчмарк 🚀
Я взяв 7 copy-paste детекторів і прогнав усі на одній базі: 547 файлів, 223 формати, однакові умови для всіх.
Результати показав тут:
⚡️ Швидкість
🪙 Токени
🧩 Формати - сьогодні, фінальна 👇
👀 Дуже часто Copy-Paste Detector каже, що «дублікатів немає». Але він просто не зазирнув всередину ваших Vue- та Svelte-файлів. Сучасний файл - це не суцільний текст: один .vue, .svelte чи .astro містить кілька мов одразу - скрипт, стилі, шаблон. У markdown - YAML і блоки коду. І те, як інструмент це читає, вирішує все.
Існує 2 види інструментів:
🔴 Flat-text - порівнюють усе з усім: CSS зі скриптом, шаблон зі стилями. Або шум, або сліпота: звіт каже «чисто», а копіпаст лишається в коді.
🟢 Section-aware - спершу парсить файл, ділить на мови, і лише потім порівнює CSS із CSS, скрипт зі скриптом. Це вміє лише движок jscpd.
👨🏻💻Окремо про markdown: код усередині .md jscpd дістає з блоку й порівнює як код, а не як текст документації. Дубль, схований у прикладі коду, більше не проходить повз.
Результат: знайти дублікати між різними форматами (наприклад, однаковий CSS у .svelte та .astro) здатні лише три інструменти. І всі - на jscpd.
💡 Висновок.
У сучасних проектах дублікати ховаються не в тексті, а в структурі. Інструмент, який бачить лише текст, у найгіршому випадку звітує «чисто» - і ви вірите цьому звіту. Якщо інструмент не розуміє секцій усередині файлу - він не розуміє frontend.
💻 GitHub:
☕ Підтримати:
А ваш CPD точно бачить дублікати у .vue і .svelte - чи просто каже «чисто»?
👍 Бачить, я перевіряв
👀 Не знаю - піду перевірю
😱 Тепер боюся дивитися
#jscpd #CopyPasteDetector
👍8❤3😱3👀2
6 курсів про те, як працювати з AI правильно (а не просто швидко) ⚡
Не про код. Про те, як вбудувати AI в роботу команди — ефективно, етично і без хаосу. Для тих, хто впроваджує, а не лише користується 👷♂️.
🥷 Anthropic: фреймворк AI Fluency — Системний підхід до співпраці людини й AI
1️⃣ AI Fluency: Framework & Foundations
2️⃣ AI Fluency for Educators
3️⃣ Teaching AI Fluency 📚
⚖️ Етика та відповідальність
Де межі, ризики й сліпі зони
1️⃣ LinkedIn: Ethics in the Age of GenAI
2️⃣ Google: Introduction to Responsible AI
3️⃣ Google: Responsible AI - Applying AI Principles
Корисно не лише інженерам, а й тімлідам та всім, хто веде команду в AI
Ваша думка: «Хто має відповідати за етику AI у продукті?»
👍Компанія і чіткі правила
🧑🏼💻Кожен інженер особисто на своєму рівні
👀 Серія «50 безкоштовних AI-курсів»:
▪️ Для інженерів
▪️ Старт з нуля
▪️ Промпт-інжиніринг
▪️ AI Fluency (ви тут)
▪️ Cloud & ML Ops
#free_ai_learning
Частина 4: AI Fluency
Не про код. Про те, як вбудувати AI в роботу команди — ефективно, етично і без хаосу. Для тих, хто впроваджує, а не лише користується 👷♂️.
🥷 Anthropic: фреймворк AI Fluency — Системний підхід до співпраці людини й AI
1️⃣ AI Fluency: Framework & Foundations
2️⃣ AI Fluency for Educators
3️⃣ Teaching AI Fluency 📚
⚖️ Етика та відповідальність
Де межі, ризики й сліпі зони
1️⃣ LinkedIn: Ethics in the Age of GenAI
2️⃣ Google: Introduction to Responsible AI
3️⃣ Google: Responsible AI - Applying AI Principles
Корисно не лише інженерам, а й тімлідам та всім, хто веде команду в AI
Ваша думка: «Хто має відповідати за етику AI у продукті?»
👍Компанія і чіткі правила
🧑🏼💻Кожен інженер особисто на своєму рівні
▪️ Для інженерів
▪️ Старт з нуля
▪️ Промпт-інжиніринг
▪️ AI Fluency (ви тут)
▪️ Cloud & ML Ops
#free_ai_learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4🔥4 2
Проблема не в нестачі відео. Його забагато. Проблема в тому, що значна частина «технічних доповідей» - маркетинг. Я свого часу витратив чимало годин, поĸи відсіяв зайве. Ось що лишилось.
1. InfoQ / QCon - архітеĸтурний хардĸор
Записи доповідей QCon: як Netflix, Shopify, LinkedIn вирішують реальні задачі масштабування. Принцип заявлений прямо: «patterns and practices, not products».
✅ Підпишись на трек, а не на ĸонференцію. Шукай Architecture, Distributed Systems, Observability - і пропусĸай усе з Introduction чи 101.
2. CNCF / KubeCon - база для хмар
Якщо ви в Kubernetes чи міĸросервісах - більшість сесій виĸладені онлайн безкоштовно.
✅ Не намагайся подивитися все. Візьми один трек (наприклад, platform engineering) і пройди його доповіді поспіль - так складеться ĸартина, а не уривĸи.
3. 🇺🇦 DOU - календар подій
Українська сцена: конференції, мітапи, онлайн-події. Зручний фільтр за форматом і темою, видно, що відбувається тут і зараз.
✅ Постав фільтр «online» - так не прив'яжешся до міста й не пропустиш події, які можна слухати з будь-де. Заходь раз на тиждень, а не полюй за анонсами в чатах.
4. Lu.ma - сучасні мітапи
Тут проходять події з AI, System Design, Infrastructure. Зручніше стежити за спільнотою, ніж за назвами ĸонференцій.
✅ Став фільтр на старті: дивись на спіĸерів. Контриб'ютори open-source? Працюють там, де є складні виĸлиĸи (Uber, Airbnb, Netflix)? Якщо ні - проходь повз.
5. LeadDev / LDX3 - для переходу в Lead
Доповіді про роботу з ĸомандами й технічну ĸультуру. Доступні в записах.
✅ Якщо плануєш у Lead чи Engineering Manager - не чеĸай підвищення, щоб почати. Дивись ці доповіді зараз, щоб зайти в роль підготовленим.
Головне: підписĸа на одне перевірене джерело б'є хаотичний пошуĸ. Обираєш фільтр один раз - далі він працює за тебе.
А де берете контент ви?
👍 - користуюся цими, не новина
👀 - забираю собі кілька джерел
#dev_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3👀3❤2😁1
🟠 Svelte — головний герой цієї історії про токени. І найдивніший.
Бо за всіма законами токенізації мав би програти. А він виграє.
Розберемо детально.
Сторона перша: стиснення (tokenizer affinity). Текст однакової довжини перетворюється на різну кількість токенів — це і є стиснення. У токенізатора є чесний показник — «токенів на символ» (tokens-per-char): чим нижче, тим щільніше код лягає в модель. Svelte тут має 0.320 — НАЙГІРШЕ значення в усій групі. Його синтаксис шаблонів напханий пунктуацією, яка просто не стискається. SolidJS для порівняння — 0.269, найкраще в тесті.
За цією логікою Svelte у хвості. Логічно?
Сторона друга: обсяг (verbosity). А тепер питання, яке ми забуваємо поставити — скільки взагалі коду довелося написати? І ось тут Svelte розвертається. Ті самі 5 компонентів він описує найкоротше з усіх. Бо за нього думає компілятор: ти ставиш count++ — він сам розгортає це в реактивність. React змушує виписати setCount і useEffect руками. Angular зверху ще накидає декоратори — @Component, standalone, imports.
Сторона третя: підсумок. Краща токенізація програє меншому обсягу коду. SolidJS стискається найкраще в цьому тесті — і все одно програє, бо коду в нього більше. Svelte бере не щільністю символів. Він бере тим, що символів узагалі менше.
Саме тому головний висновок не про Svelte. Він про те, від чого насправді залежить вартість коду для LLM. Її визначають два незалежні фактори:
1️⃣ наскільки ефективно код токенізується;
2️⃣ скільки цього коду взагалі довелося написати.
Більшість порівнянь зосереджується саме на першому факторі. Svelte показує, що другий фактор може виявитися важливішим.
Під мікроскопом важлива токенізація. У рахунку — обсяг коду.
#TokenEconomics #LLM #Svelte
Бо за всіма законами токенізації мав би програти. А він виграє.
Розберемо детально.
Сторона перша: стиснення (tokenizer affinity). Текст однакової довжини перетворюється на різну кількість токенів — це і є стиснення. У токенізатора є чесний показник — «токенів на символ» (tokens-per-char): чим нижче, тим щільніше код лягає в модель. Svelte тут має 0.320 — НАЙГІРШЕ значення в усій групі. Його синтаксис шаблонів напханий пунктуацією, яка просто не стискається. SolidJS для порівняння — 0.269, найкраще в тесті.
За цією логікою Svelte у хвості. Логічно?
Сторона друга: обсяг (verbosity). А тепер питання, яке ми забуваємо поставити — скільки взагалі коду довелося написати? І ось тут Svelte розвертається. Ті самі 5 компонентів він описує найкоротше з усіх. Бо за нього думає компілятор: ти ставиш count++ — він сам розгортає це в реактивність. React змушує виписати setCount і useEffect руками. Angular зверху ще накидає декоратори — @Component, standalone, imports.
Сторона третя: підсумок. Краща токенізація програє меншому обсягу коду. SolidJS стискається найкраще в цьому тесті — і все одно програє, бо коду в нього більше. Svelte бере не щільністю символів. Він бере тим, що символів узагалі менше.
Саме тому головний висновок не про Svelte. Він про те, від чого насправді залежить вартість коду для LLM. Її визначають два незалежні фактори:
1️⃣ наскільки ефективно код токенізується;
2️⃣ скільки цього коду взагалі довелося написати.
Більшість порівнянь зосереджується саме на першому факторі. Svelte показує, що другий фактор може виявитися важливішим.
Під мікроскопом важлива токенізація. У рахунку — обсяг коду.
#TokenEconomics #LLM #Svelte
❤9👍5🔥5😱1
JS у AI-епоху · тренд 1 з 10
Rust-based тулінг став дефолтом, а швидкий пайплайн = агент не чекає = менше токенів. Тепер конкретика - що і як замінити, без болю і з можливістю відкату.
1. Лінтер + форматтер: ESLint + Prettier → Biome
Два інструменти, два конфіги, два проходи по коду - в один бінарник. Biome дає ~97% сумісності з Prettier і працює у 25-35 разів швидше.
Міграція автоматична:
npm install --save-dev --save-exact @biomejs/biome
npx @biomejs/biome migrate eslint --write
npx @biomejs/biome migrate prettier --write
Команди читають ваші .eslintrc і .prettierrc та переносять правила в biome.json. У кінці інструмент покаже, який відсоток правил відтворено - рішення приймаєте за даними, не наосліп.
Перевірка: biome check . замість окремих lint і format.
2. Рантайм + менеджер пакетів: Node.js → Bun
Bun стартує миттєво (немає startup overhead) і ставить залежності в рази швидше. Почніть з малого: bun install замість npm install у pet-проекті. Більшість npm-скриптів працюють без змін.
Що варто знати до переходу:
Biome гірше покриває Vue, Markdown, YAML - якщо їх багато, лишіть для них Prettier, а Biome дайте на JS/TS. Гібрид теж робочий.
Bun у проді ще не для всіх кейсів - перевірте свої нативні залежності.
Усе оборотне: конфіги ESLint/Prettier не видаляйте відразу, тримайте тиждень паралельно.
Коли CI летить за 30 секунд замість 5 хвилин, міняється сам ритм роботи. А якщо у вас агент ганяє pipeline на кожен PR - він не простоює в очікуванні, і ви не палите токени на чекання.
Дія на вихідні: візьміть один pet-проект, проженіть три команди вище, запустіть biome check. Півгодини - і ви всередині теми, про яку у 2026 питатимуть на співбесідах.
Що у вашому стеку?
🔥 Biome · 👏 Bun · ⭐ обидва · 👀 ще ні
#js_ai_trends
Please open Telegram to view this post
VIEW IN TELEGRAM
👀7🔥5❤2👍2👏2 2
За ту саму логіку.
Зі статті ви дізнаєтесь:
→ чому найощадливішою виявилась мова, про яку ніхто не чув
→ чому JavaScript і TypeScript стискаються найкраще — і все одно програють
→ як за 4 рядки коду виміряти цей податок на власному репозиторії
Друга частина «Tokenomics of Web Development» вже на HackerNoon
Прогнав ідентичний код через tiktoken на п'яти мовах — JavaScript, TypeScript, CoffeeScript, Civet і ZeroLang. Ті самі задачі, ті самі алгоритми, ідіоматичний код, без трюків на скорочення.
І одразу: це не заклик кидати типи, вони ловлять реальні баги. Це про дещо інше — про те, хто тепер читає твій код.
Читайте та рахуйте свій токен-податок на власному коді
#TokenEconomics #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤3👍2
CoffeeScript - мова, яку списали років 10 тому, раптом виявилася 2 з 5 за дешевизною для LLM:
Пам'ятаєте, за що його списали? Синтаксичний цукор, жодних типів, «мова для лінивих». Стрілочні функції з нього переїхали в сам JS — і на цьому подяки скінчилися. Відсутність типів стала ахіллесовою п'ятою, і індустрія пішла далі без нього.
👀 А тепер незручна частина. CoffeeScript справді писали ліниві розробники для лінивих — щоб менше друкувати. Десять років це було звинуваченням. Сьогодні за клавіатурою дедалі частіше агент, і кожна пропущена фігурна дужка, кожна викинута крапка з комою — це токен, який модель не перечитує на кожному проході.
Лінь, за яку соромили, стала стратегією.
Патерн стабільний по всьому дослідженню: синтаксис на відступах послідовно б'є синтаксис на дужках. Дужка — токен. Крапка з комою — токен. Відступ — безкоштовний.
Повертатися на CoffeeScript не варто — екосистема давно не розвивається, а нетипізовані бази боляче масштабуються. Але патерн, який він уособлює, — саме те, до чого сходиться дизайн AI-first мов.
Іноді старі ідеї просто чекають свого часу.
Усі цифри й повний розбір тут🔖
ZeroLang — 231 токен
CoffeeScript — 239
JavaScript — 287
Civet — 320
TypeScript — 377
Пам'ятаєте, за що його списали? Синтаксичний цукор, жодних типів, «мова для лінивих». Стрілочні функції з нього переїхали в сам JS — і на цьому подяки скінчилися. Відсутність типів стала ахіллесовою п'ятою, і індустрія пішла далі без нього.
Лінь, за яку соромили, стала стратегією.
Патерн стабільний по всьому дослідженню: синтаксис на відступах послідовно б'є синтаксис на дужках. Дужка — токен. Крапка з комою — токен. Відступ — безкоштовний.
Повертатися на CoffeeScript не варто — екосистема давно не розвивається, а нетипізовані бази боляче масштабуються. Але патерн, який він уособлює, — саме те, до чого сходиться дизайн AI-first мов.
Іноді старі ідеї просто чекають свого часу.
Усі цифри й повний розбір тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👀2❤1😁1
☁️ 12 безкоштовних курсів для тих, хто будує AI на хмарі
Фінал серії. Прикладне для тих, хто деплоїть моделі в продакшн на AWS, Azure чи GCP.
🟧 Amazon AWS
Від основ GenAI до ML-моделей у проді
1) GenAI Learning Plan
2) GenAI for Decision Makers
3) Low-Code ML on AWS
4) Amazon Transcribe: Getting Started
5) Machine Learning Learning Plan
🟦 Microsoft Azure
Готовий стек для корпоративного AI
1) Azure OpenAI Service
2) Azure AI Services + Power Virtual Agents
3) Custom ML Models
4) Master Azure AI Fundamentals
🟩 Google Cloud
Генеративка на інфраструктурі Google
1. Introduction to Image Generation
2. Introduction to Vertex AI Studio
3. Generative AI Explorer - Agent Platform
⚠️Частина курсів потребує хмарного акаунта; окремі лаби можуть витрачати кошти на інфраструктуру.
💬 💬 💬 💬 💬 💬 💬 💬 💬
Серія «50 безкоштовних
AI-курсів» - повна карта:
💬 💬 💬 💬 💬 💬 💬 💬 💬
▪️ Для інженерів
▪️ Старт з нуля
▪️ Промпт-інжиніринг
▪️ AI Fluency
▪️ Cloud & ML Ops (ви тут)
💬 💬 💬 💬 💬 💬 💬 💬 💬
🔖 Зберігайте цей пост - звідси відкривається вся серія 🔖
Частина 5: Cloud & ML Ops.
Фінал серії. Прикладне для тих, хто деплоїть моделі в продакшн на AWS, Azure чи GCP.
🟧 Amazon AWS
Від основ GenAI до ML-моделей у проді
1) GenAI Learning Plan
2) GenAI for Decision Makers
3) Low-Code ML on AWS
4) Amazon Transcribe: Getting Started
5) Machine Learning Learning Plan
🟦 Microsoft Azure
Готовий стек для корпоративного AI
1) Azure OpenAI Service
2) Azure AI Services + Power Virtual Agents
3) Custom ML Models
4) Master Azure AI Fundamentals
🟩 Google Cloud
Генеративка на інфраструктурі Google
1. Introduction to Image Generation
2. Introduction to Vertex AI Studio
3. Generative AI Explorer - Agent Platform
⚠️
Серія «50 безкоштовних
AI-курсів» - повна карта:
▪️ Для інженерів
▪️ Старт з нуля
▪️ Промпт-інжиніринг
▪️ AI Fluency
▪️ Cloud & ML Ops (ви тут)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4👏3
«Нетипізований JavaScript — це legacy». П'ять років цей вердикт ніхто не оскаржував.
А тепер у нього з'явився цінник: +31% токенів за ту саму логіку. 377 у TypeScript проти 287 у чистого JavaScript — мова проти власної типізованої версії, жодних інших змінних. Кожна двокрапка, кожна явна анотація, кожні дужки параметрів — це те, що модель перечитує на кожному проході.
У грошах на Claude Opus — +$5.84 на мільйон базових токенів. Дрібниця? Помножте на кожен запит агента, кожне перезавантаження контексту, кожен CI-прогін. Капає тихо, і жоден рядок в інвойсі не називається «анотації типів».
І ось що незручно визнавати: для LLM-first коду — промпт-білдери, генератори, одноразові скрипти — чистий JS часто виявляється чесним вибором. Код, який п'ять років називали legacy, агент читає найдешевше.
Типи від цього не стали поганими. Дорогою стала рефлекторна типізація. Публічні поверхні — сигнатури, експортовані API, межі модулів — типізуй. Всередині функцій компілятор і так усе знає.
Найдешевший токен — той, який компілятор вивів сам.
Тут цифри, всі таблиці й скрипт на 4 рядки для перевірки власного репозиторію
#токеноміка #tokenomics
А тепер у нього з'явився цінник: +31% токенів за ту саму логіку. 377 у TypeScript проти 287 у чистого JavaScript — мова проти власної типізованої версії, жодних інших змінних. Кожна двокрапка, кожна явна анотація, кожні дужки параметрів — це те, що модель перечитує на кожному проході.
У грошах на Claude Opus — +$5.84 на мільйон базових токенів. Дрібниця? Помножте на кожен запит агента, кожне перезавантаження контексту, кожен CI-прогін. Капає тихо, і жоден рядок в інвойсі не називається «анотації типів».
І ось що незручно визнавати: для LLM-first коду — промпт-білдери, генератори, одноразові скрипти — чистий JS часто виявляється чесним вибором. Код, який п'ять років називали legacy, агент читає найдешевше.
Типи від цього не стали поганими. Дорогою стала рефлекторна типізація. Публічні поверхні — сигнатури, експортовані API, межі модулів — типізуй. Всередині функцій компілятор і так усе знає.
Найдешевший токен — той, який компілятор вивів сам.
Тут цифри, всі таблиці й скрипт на 4 рядки для перевірки власного репозиторію
#токеноміка #tokenomics
👍7❤3🔥2
TypeScript 7.0 - найдивніший major-реліз, який я бачив за 24 роки в розробці:
⏺ список нових можливостей мови — майже порожній
⏺ жодного нового оператора, нічого нового в системі типів
🔵 І водночас це найбільша зміна в TypeScript з 2012 року - весь компілятор переписали з TypeScript на Go.
🔵 Результат: тайпчек у 8–12 разів швидший. Кодова база VS Code — 1,5 мільйона рядків — раніше проходила повну перевірку за 77,8 секунди. Тепер за 7,5.
Ключове тут — це порт, а не переписування. Команда взяла старий компілятор і перенесла його на Go файл за файлом. Ті самі алгоритми, та сама семантика типів. Ваш код, який компілювався на 6.0, поводитиметься так само на 7.0.
Рідкісний випадок, коли велика компанія втрималася від спокуси «заодно зробити краще» - і саме тому це спрацювало.
Хто вже оновився?
Так👍. Ні 😱. Планую🔥
#typescript
Ключове тут — це порт, а не переписування. Команда взяла старий компілятор і перенесла його на Go файл за файлом. Ті самі алгоритми, та сама семантика типів. Ваш код, який компілювався на 6.0, поводитиметься так само на 7.0.
Рідкісний випадок, коли велика компанія втрималася від спокуси «заодно зробити краще» - і саме тому це спрацювало.
Хто вже оновився?
Так👍. Ні 😱. Планую🔥
#typescript
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍8😱7👎1
Мігруєте на TypeScript 7.0? Ось чек-лист, що зламається у вашому tsconfig.
Сімка перетворила deprecation-попередження шостої версії на жорсткі помилки збірки. Під ніж пішла спадщина епохи Internet Explorer:
— target: es5 — помилка. ES5-вивід більше не існує
— moduleResolution: node, а також amd, umd, systemjs — кінець
— baseUrl — вимкнено. Аліаси шляхів мігруйте на paths
— strict та esnext — тепер базова лінія, а не опція
Окремо для авторів тулінгу: стабільного програмного API у 7.0 немає — обіцяють у 7.1. Якщо ваш інструмент викликає компілятор через API, тримайте поруч пакет сумісності
Порядок міграції, який економить нерви: спершу чистий перехід на 6.0 з увімкненими deprecation-попередженнями — він підсвітить усе, що відвалиться. Після цього оновлення до сімки — рутинний version bump.
А у вас у tsconfig що досі живе з 2018-го?
Знайшов es5😱. Все чисто👍. Ще не дивився🔥
#typescript
Сімка перетворила deprecation-попередження шостої версії на жорсткі помилки збірки. Під ніж пішла спадщина епохи Internet Explorer:
— target: es5 — помилка. ES5-вивід більше не існує
— moduleResolution: node, а також amd, umd, systemjs — кінець
— baseUrl — вимкнено. Аліаси шляхів мігруйте на paths
— strict та esnext — тепер базова лінія, а не опція
Окремо для авторів тулінгу: стабільного програмного API у 7.0 немає — обіцяють у 7.1. Якщо ваш інструмент викликає компілятор через API, тримайте поруч пакет сумісності
@typescript/typescript6.Порядок міграції, який економить нерви: спершу чистий перехід на 6.0 з увімкненими deprecation-попередженнями — він підсвітить усе, що відвалиться. Після цього оновлення до сімки — рутинний version bump.
А у вас у tsconfig що досі живе з 2018-го?
Знайшов es5😱. Все чисто👍. Ще не дивився🔥
#typescript
🔥9👍5😱4
Зарядка телефона не підходить до планшета, навушники - тільки до однієї моделі, а новий гаджет вимагає бігти по черговий перехідник.
Потім Anthropic відкрив Model Context Protocol - і дав екосистемі USB-C.
За рік стандарт підхопили провідні AI-компанії — від OpenAI до Google.
Агенти все частіше самі обирають, який інструмент узяти під задачу. І беруть з того, що вміють викликати.
Тому вміння підняти власний MCP-сервер на TypeScript - це вже не екзотика, а базова навичка рівня "вмію писати REST endpoint" зразка 2015. Найближчим часом без неї на серйозний проект складно буде зайти.
Я зробив MCP-сервер для свого copy paste detector - агент викликає його напряму й отримує компактний звіт під свій контекст. Кілька годин роботи - і інструмент усередині агентного воркфлоу. Якщо у вас є dev-tool, це найшвидший спосіб зробити його помітним для агентів.
🛠 Офіційний TypeScript SDK
🚀 Quickstart (як підняти свій перший сервер за 10 хв)
#js_ai_trends
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3👀2
🧩 Навіщо Agent Skills, якщо є MCP?
Бачу це питання постійно. Щойно опанували MCP - виходить другий стандарт від Anthropic - Agent Skills - і виникає відчуття, що це конкуренти й треба обирати один.
👀 Ні. Вони про різне.
🔖 MCP - це доступ.
Типізований канал до зовнішньої системи: бази, API, внутрішнього сервісу. Відповідає на питання "до чого агент під'єднаний". І це ще про контроль: коли ви даєте доступ до бази, MCP-сервер дозволяє налаштувати авторизацію і ліміти - що саме агент може читати чи писати. Skill так не вміє, бо це просто інструкція.
🔖 Skill - це процедура.
Папка з файлом SKILL.md та опціональними скриптами. Вчить агента, ЯК робити конкретну роботу: як провести код-рев'ю, як зібрати звіт. Відповідає на питання "як саме агент це робить". Працює кросплатформно: Claude Code, Codex, Gemini CLI, Cursor.
🗣 Просте правило вибору:
Потрібен доступ до системи без кастомної інтеграції - MCP.
Треба зафіксувати повторюваний процес і планку якості - Skill.
І головне: це не "або-або", вони закривають різні діри. На своєму copy-paste detector я зробив обидва. MCP-сервер дає агенту доступ викликати детектор напряму. Skill пакує процес - коли запускати перевірку, як читати звіт. Разом - і "доступ", і "процедура".
⏺ Чому Skills швидко набирають популярність: вони ідеально лягають у звичний цикл розробки. SKILL.md живе прямо в репозиторії поруч із кодом - код змінився, оновили інструкцію для агента тим самим комітом.
Оновлення MCP-сервера - це вже окремий DevOps-процес. Плюс скіл простіше зробити (це файл, не сервер) і простіше поширити: кинув папку в репо, і всі агенти підхопили.
З чого почати: напишіть один SKILL.md за гайдлайнами Anthropic - опис-тригер, progressive disclosure, scoped tools. Швидше за MCP-сервер, а ефект на консистентність агента видно відразу.
Що вже у вас -
MCP👍, Skills🔥, обидва👀?
#js_ai_trends
Бачу це питання постійно. Щойно опанували MCP - виходить другий стандарт від Anthropic - Agent Skills - і виникає відчуття, що це конкуренти й треба обирати один.
Типізований канал до зовнішньої системи: бази, API, внутрішнього сервісу. Відповідає на питання "до чого агент під'єднаний". І це ще про контроль: коли ви даєте доступ до бази, MCP-сервер дозволяє налаштувати авторизацію і ліміти - що саме агент може читати чи писати. Skill так не вміє, бо це просто інструкція.
Папка з файлом SKILL.md та опціональними скриптами. Вчить агента, ЯК робити конкретну роботу: як провести код-рев'ю, як зібрати звіт. Відповідає на питання "як саме агент це робить". Працює кросплатформно: Claude Code, Codex, Gemini CLI, Cursor.
Потрібен доступ до системи без кастомної інтеграції - MCP.
Треба зафіксувати повторюваний процес і планку якості - Skill.
І головне: це не "або-або", вони закривають різні діри. На своєму copy-paste detector я зробив обидва. MCP-сервер дає агенту доступ викликати детектор напряму. Skill пакує процес - коли запускати перевірку, як читати звіт. Разом - і "доступ", і "процедура".
Оновлення MCP-сервера - це вже окремий DevOps-процес. Плюс скіл простіше зробити (це файл, не сервер) і простіше поширити: кинув папку в репо, і всі агенти підхопили.
З чого почати: напишіть один SKILL.md за гайдлайнами Anthropic - опис-тригер, progressive disclosure, scoped tools. Швидше за MCP-сервер, а ефект на консистентність агента видно відразу.
Що вже у вас -
MCP👍, Skills🔥, обидва👀?
#js_ai_trends
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5👀3
Чому Microsoft переписали TypeScript на Go?
Аргумент Хейлсберга простий: завданням було портувати існуючу кодову базу, а не проектувати нову. Архітектура старого компілятора — циклічні структури даних, спільний мутабельний стан між фазами — природно лягає на Go з його garbage collector. Rust вимагав би переосмислити володіння пам'яттю в кожному вузлі AST. Тобто фактично rewrite з нуля, роки роботи і ризик розійтися в поведінці типів.
Мене це питання зацікавило через власний досвід. Адже я нещодавно пройшов той самий шлях зі своїм jscpd, який живе в екосистемі вже понад десять років і ганяється в CI на кожен PR. Переписав engine з Node.js на Rust: скан 900 MB кодової бази впав з 83 секунд до 3,4. Startup overhead зник повністю, задіяні всі ядра. Коли інструмент запускається на кожен PR, ця різниця вирішує все: чекати щоразу півтори хвилини чи отримати результат миттєво.
Але є принципова відмінність: я саме переписував, а не портував. Міг дозволити собі змінити внутрішню архітектуру, бо контракт у jscpd простий — вхід і звіт на виході. У компілятора контракт — це поведінка системи типів на мільйонах чужих кодових баз, і кожне відхилення це чийсь зламаний білд. Для порту рядок-у-рядок Go справді знімає цілий клас проблем, які Rust змусив би вирішувати.
Виходить два різні шляхи до тієї самої мети: нативний код замість Node.js. І обидва працюють.
А ви б що обрали для порту компілятора -
Go🔥чи Rust👍?
Уся швидка частина JS-тулінгу останні роки переїжджала на Rust: Turbopack, Biome, oxc, SWC. А Microsoft переписали TypeScript на Go.
Аргумент Хейлсберга простий: завданням було портувати існуючу кодову базу, а не проектувати нову. Архітектура старого компілятора — циклічні структури даних, спільний мутабельний стан між фазами — природно лягає на Go з його garbage collector. Rust вимагав би переосмислити володіння пам'яттю в кожному вузлі AST. Тобто фактично rewrite з нуля, роки роботи і ризик розійтися в поведінці типів.
Мене це питання зацікавило через власний досвід. Адже я нещодавно пройшов той самий шлях зі своїм jscpd, який живе в екосистемі вже понад десять років і ганяється в CI на кожен PR. Переписав engine з Node.js на Rust: скан 900 MB кодової бази впав з 83 секунд до 3,4. Startup overhead зник повністю, задіяні всі ядра. Коли інструмент запускається на кожен PR, ця різниця вирішує все: чекати щоразу півтори хвилини чи отримати результат миттєво.
Але є принципова відмінність: я саме переписував, а не портував. Міг дозволити собі змінити внутрішню архітектуру, бо контракт у jscpd простий — вхід і звіт на виході. У компілятора контракт — це поведінка системи типів на мільйонах чужих кодових баз, і кожне відхилення це чийсь зламаний білд. Для порту рядок-у-рядок Go справді знімає цілий клас проблем, які Rust змусив би вирішувати.
Виходить два різні шляхи до тієї самої мети: нативний код замість Node.js. І обидва працюють.
А ви б що обрали для порту компілятора -
Go🔥чи Rust👍?
👍9🔥9👏3
Ще рік тому побудувати AI-агента означало майже завжди одне - Python-стек: LangChain, LangGraph, CrewAI. JS-розробник заходив у цю тему гостем. Зараз баланс зміщується.
І це не випадковий злет одного проекту, а логіка екосистеми. Усе, що оточує агента, вже живе в JS/TS - frontend-агенти, MCP-сервери, генеративний UI. Логічно, що й самі фреймворки переїжджають туди, де цей код. TypeScript стає повноцінною мовою агентів, а не запасною.
Це не про "Python помер". Він лишається сильним у ML, тренуванні моделей і data science - там його позиції міцні.
На чому ви будуєте агентів - TS 🔥чи Python❤️?
#js_ai_trends
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥8❤3