LLM
3 автора упоминают этот инструмент
Вообще конечно все эти AI-агенты просто возвращают мне радость программирования. Машина наконец-то делает то, что должна — скучную рутину. А мы парим над этим и раздаём указания. Проверяем теорию за теорией, собираем пруф оф концепты за нефиг делать и тут же без жалости (икеа-эффекта нет) выкидываем. Делаем за день недельную работу.
Я прямо очень доволен. Старички вроде меня снова в строю и могут поделать архитектурку.
RAG на коленке
Решил тут на днях собрать пруф оф концепт чат бота по документации внутреннего проекта. Раз проект внутренний, то никакая LLM про его документацию не знает и, тем более, сходить по сети за ней не может. А значит нужен RAG. Вот тут можете можете почитать, что это такое. TLDR — смотрим, что пользователь спросил, находим нужные разделы в документации и подмешиваем в промт. Дальше моделька сама справится.
Обычно для поиска используют векторы. Векторный поиск позволяет бодро искать фрагменты совпадающие с запросом по смыслу, а не просто по совпадению слов. Для векторизации нужны нейронки, которые умеют делать эмбеддинг — преобразовывать текст в вектор. Берём наши доки, бьём на чанки, вычисляем векторы, сохраняем. Приходит запрос пользователя — делаем из него вектор и вычисляем косинус угла между запросом и имеющимися данными в бд. Чем ближе косинус к единице, тем ближе запрос пользователя к нужному фрагменту документации.
Результат офигенный конечно. Но вот зараза, у меня нет под рукой нейронок для эмбеддинга. Во внешний мир ходить не хочу, проект внутренний. Что же делать, как показать пруф оф концепт? Собираем с Клодом веб-скрейпер на плейрайте, дербаним доку в JSON, кормим этот JSON приложению на ноде, обслуживающему чат. Теперь на каждый запрос пользователя выбираем слова подлинней, лезем в JSON и находим совпадения (ахах, да, можно было бы и морфологию прикрутить, но некогда, работа не ждёт). Собираем промпт по совпадениям и закидываем в LLM вместе с запросом пользователя. И оно работает. Да, неоптимально, чертовски неоптимально. Но для PoC за глаза хватило.
2025
Ой, как мало времени стало со вторым ребёнком. Как вы догадываетесь, наверное, спасают только LLM, на которые можно хитро поглядывать, пока руки заняты.
Потому быстренько пробежимся.
Софт года для меня однозначно Claude Code. Я делаю в нём всё больше и больше, и это не только кодинг, но и в принципе всё, что можно сделать из консоли (а значит, всякие разные CLI-утилиты вдвойне выросли в ценности). В этом году надо обязательно попробовать OpenCode.
Zed не дотянул. Пока слишком сыро, чтобы полноценно перейти на него. Но попытку засчитываю.
Самое важное, что случилось в кодинге за прошедший год — это, конечно, LLM. Я и не ждал, что мне, старичку, подвезут, наконец, инструмент, чтобы не просто вернуться в производительность 20-летнего, но и сделать x2-x3. Да и в целом рутина ушла, радость программирования вернулась. Эксперименты стали практически бесплатными.
Новые подходы к обучению (а я всё ещё учусь). Больше не вычитываю длинные скучные гайды, вместо этого беру нейронку, планирую с ней, что и как надо сделать, разбираюсь, пока не пойму всё, а дальше итерация за итерацией доводим до конца. Чистый кайф. Обязательно попробуйте, возьмите задачу из области, где вы плаваете, но что-то базовое знаете. Время широких специалистов.
Книги.
Тут я не считаю всякую бизнес-литературу, для меня это где-то в районе технических статей, затрагивает другие нейрончики и вообще не об этом. А значит, совсем немного:
— Ежегодный Пелевин. Ну норм, не «Круть», и на том спасибо. — Добил «Семиевие» Стивенсона. Сам не ожидал, но как-то ехал часов 8 на поездах, и вот. — Исака Которо «Поезд убийц». По ней сняли прекрасный «Bullet Train». Рекомендую. Местами совпадение с фильмом до диалогов, и одновременно полная противоположность по духу, идее и посылу. — Закрыл гештальт по «Дом, в котором...» Мариам Петросян. Сейчас уже никто и не помнит, а лет 15 назад шумела сильно.
Спорт.
Был. Два раза в неделю функциональные тренировки + велосипед в воскресенье. Потом словил эпикондилит (таскал тяжести, потом строил лоджию и много работал с электролобзиком) и вынужден был носить ортез и сидеть без тренировок. Как полегчало — попробовал сайклинг, здорово, но тут уже оказалось не до спорта (см. в самое начало).
Техника.
Всё так же продолжаю таскать Garmin Forerunner 255 и не понимаю, на что их менять (а хочется уже новый датчик с температурой). Прекрасные Suunto всё ещё не получили календарь и лежат в ящике. Это меня расстраивает. Клавиатуру вот прикупил новую, Nuphy Air 75 v3 — кажется, единственная заметная покупка техники за год. Рабочий MacBook Pro 16 M1 поменял на MacBook Pro 16 M4 — разницы особо и не ощутил. Камера стала заметно лучше.
Два топовых небольших гаджета — аккумуляторный насос Xiaomi. И бустер (пусковое устройство) от 70mai (опять же суббренд Xiaomi) . С таким ты будешь лучшим другом-соседом.
Из того, чего нет, но очень хочется попробовать в 2026 — очки XREAL. Жду, когда они заменят монитор.
Достижение года.
Ну тут, безусловно, семья (Доминик Торрето джипег). Нас стало сначала трое, потом четверо. Ресурсов забирает это неимоверно, но и даёт пинка хорошего. Надо продолжать ускоряться.
Непонимание года.
Что бы такого сделать, кроме нерегулярного блога и более-менее регулярного посещения «Веб-стандартов». К лету хочу достроить каморку под «студию», буду думать.
Как-то так. В 2026 буду много учиться и много экспериментировать. Должно быть ещё интереснее (мне). Как сделать интереснее вам — пока не придумал.
Технические итоги года
Мне в Яндексе повезло попасть в команду, которая живёт в Гитхабе. Редкий случай для компании, мы не держим код в огромном общем монорепозитории (но мне иногда хочется переехать в свой маленький). И всё то бесконечное количество работы, сделанное за год — вот оно, на зелёном ковре с серыми клеточками отпусков и выходных. Было много работы, было много кода.
Основным рабочим направлением в этом году стала изоляция пользовательских (чужих) скриптов в node.js и в браузере. Копал весь год, пробовал, собирал знания в доклады. Начал обкатывать тему ещё весной в Алматы, бета-версию прокатил в Уфе и финализировал уже как надо в Петербурге на юбилейном Субботнике. Редкий случай для меня, когда за доклад совершенно не стыдно.
В конце года пошёл закрывать пробелы в знаниях, прохожу на Практикуме курс по веб-пентестингу. Рядом лежит незаконченный курс на инженера облачных сервисов, надо и его добить. На следующий год у нас запланировано много Кубернетиса, фронтенд стал совсем не простым. И кто же его таким сложным сделал, кто, я спрашиваю?
Гаджеты года
В конце прошлого года купил стимдек. Железка очень прикольная, но игры опять меня не затянули. Продал. Уж не знаю, хорошо это или плохо, но игры скорее меня утомляют, чем дают удовольствие. Впрочем, Portal 2 был не плох и не забрал много времени.
Весной немного сломался айфон. Телефон уехал на пару месяцев в гарантийный ремонт и пришлось выбирать с чем теперь ходить. Выбрал Pixel 7 и стойко держался. Как только ремонт закончился — тут же перепрыгнул обратно. Причины: ну во-первых Pixel 7 это лопата. Большая и скользкая. А я люблю пользоваться телефонами без чехла (в чехле это какая-то мега-лопата уже). Во-вторых интерфейсы какие-то... ну вот чуть чуть не доделанные. Тут бы шрифт покрупней, тут бы отступы побольше, тут бы анимации плавнее — и другое дело было бы. Кажется, можно сделать ещё один заход, но нужно выбрать что-то поменьше и поприятнее. В том числе тактильно поприятнее (как же хорош простой айфон 15 без чехла: матовая спинка, алюминиевые боковинки).
Оставшись без телефона я тут же лишился и часов. Умные часы мне не нужны, а вот трекать физическую активность я люблю. Пришлось окунуться в мир Garmin и теперь у меня на полочке стоят ряды коробочек с велокомпьютером, нагрудным датчиком и часами. Часами — потому что начал с Vivomove Trend. Красивые, но достаточно бесполезные часы без GPS. Зато со стрелками, которые вечно сбиваются со своих позиций когда трясёшься на велосипеде по гравийным дорогам. Поменял на Forerunner 255 на MIP. Что хочу сказать: заряжать часы не каждый день, а иногда — это свобода почище скайпа. Реально классно. Кнопки на часах это тоже очень здорово. Из минусов — относительно красивые часы Garmin делает только за очень большие деньги, даже думать страшно. Красивые интерфейсы Garmin не делает никогда. Так что хочу посмотреть ещё на Suunto Race S. Финны, не подкачайте.
Купил в этом же году Kindle Scribe на замену вечно разряженному айпаду. Scribe хорош всем, кроме веса. Если вам не нужно читать PDF, то лучше смотреть на версии поменьше. Перо в комплекте прикольное, но с каждым днём я достаю его всё реже. Не стоит того.
Рюкзак года
Достал с антресолей старенький Pacsafe Vibe 40 и так он мне зашёл в поездках! Фактически это чемоданчик на лямках, без кучи карманов, но с очень удобным большим отделением, которое открывается как тот самый чемодан. А большего мне и не нужно.
Что по фитнесу?
Отчаянно борюсь с возрастным замедлением метаболизма. Несмотря на две тренировки в зале в неделю плюс велосипед/сноуборд по выходным, буксую на месте, медленно подползая к психологической отметке в 100 кг. В принципе-то нормально на мои 190 см роста, если бы это были мышцы. Успокаиваю себя, что без спорта было бы хуже. Не затягивайте до 40, с нашей-то сидячей работой и вечными переработками.
Ну вот кажется и всё. За кадром осталось куча важного, про которое вам знать не нужно, да и не место этому в технических итогах.
Всех с наступающим, остаёмся на связи, держимся!
Один из интересных наблюдаемых эффектов от LLM-кодинга это лёгкое движение в сторону zero-dependency. Вместо того, чтобы тащить либу с пачкой дырявых транзитивных зависимостей, кучей неиспользуемых API и слоями совместимости с древними версиями node.js — можно быстро (правда быстро!) запилить код, решающий ту же задачу, но точечно, эффективно и покрыв всё тестами.
Конечно, есть либы ценность которых неумолима (сложность, выверенная безопасность, огромная работа сообщества). Но есть и целая пачка утилитарных обёрток над публичными API и прочие микрохелперы, ценность которых была только в том, чтобы самостоятельно код не писать.
И, более того, если вы не лентяй, то и код вычитаете полностью.
Давайте поругаюсь на вайбкодинг и весь вот этот концепт вокруг того, что в одно лицо теперь легко можно сделать норм продукт.
В ютубчике полно 20-минутных видео, где люди создают примитивные апки за 20 минут с дизайном, иногда даже не отвратительным. Всё преподносится как магия, работающая из коробки.
Но всё не так.
Допустим, захотелось сделать какой-то листинг, например к маркетплейсу.
В этом листинге отображаются разные объекты с разным набором полей в зависимости от типа объекта. Это великолепие должно где-то храниться и управляться.
Нужен правильный доступ и настройка связи между таблицами, нормальная аутентификация, биллинг и т. д.
Если ты ранее работал(а) в связке с дизайнером и аналитиком, проектируя интерфейс, то теперь, вайбкодер, тебе нужно садиться и продумывать структуру данных и все зависимости, совмещая функции системного аналитика и дизайнера.
Если задача уходит за пределы создания кликабельного прототипа, который потом уйдёт в мусорку, то перед тем как идти вайбкодить всё равно придётся упороться в структуру данных, иначе потом чинить всё будет в пять раз больнее.
И весьма геморно со всем разбираться, если ты изначально не фуллстек-разраб. И не просто геморно, а непонятно.
Если вас кто-то попытается научить AI-вайбкодингу-автоматизации-бла-бла-бла и при этом 80% курса-практикума не состоит из системного дизайна, работы веба и т. д., то это скам и развод на лоха.
Другое дело, что все магию хотят, а правду сложно продать.
Тут, короче, 3 варианта: — либо в этом рынке нет денег — либо у экспертных людей нет навыка дизайна программ обучения — либо качественное рыночное обучение по теме сделать невозможно
Со своей стороны попозже поделюсь своей подборочкой видео с ютубчика (с аннотацией к ней и юз-кейсами). Я пока их отсматриваю постепенно исходя из потребностей и фиксирую комменты.
Я отработал три дня на хакатоне и я просто в шоке.
🔥 Финал хакатона был очень жёстким. Не припомню такого накала страстей среди судей ни на одном другом мероприятии. Эксперты сражались за команды буквально на ножах, ведь призы были немалые. За победу команда получала 300 тысяч рублей, за второе и третье места по 200 и 100 тысяч соответственно. Четвертое и пятые места получили почет, уважение и мерч.
Я люблю глазами, поэтому мои фавориты те, кто сделал продуманные и удобные для пользователя продукты, а так же очень классные по визуалу и подаче выступления. Другие же эксперты топили за команды с более качественным бэкендом и глубокой проработкой архитектуры и интеграций с LLM. Поэтому наши мнения разделились, у каждого эксперта был свой топ.
В итоге вся пятёрка финалистов шла буквально нос к носу, и разница между первым и пятым местом была в рамках десятых долей процента.
Очень жаль, что нельзя было наградить четвёртое и пятое места — у них были достойные победы решения.
🥲 Если говорить не о финале, а в целом о хакатоне, то я разочарован трендом в мышлении команд.
Заданием было сделать интервью будущего с использованием llm. Удивило, что почти у всех акцент делался на алгоритмических задачах, а в рамках античита некоторые команды не просто снижали баллы за использование Ctrl+C и Ctrl+V, но и прекращали интервью целиком или даже заносили кандидата в чёрный список. Я ожидал более интеллектуальных и продуманных решений анализа поведения кандидата, а получил какой-то «цирк безопасности».
Что касается задач на алгоритмы, то и тут фокус был не на том. Нет бы позволить кандидату использовать LLM для решения задач, у большинства фокус был на максимальном запрете использования LLM. Интересно, как бороться со вторым ноутом рядом? Правильно, через камеру трекать поворот головы кандидата! Это буквально какой-то синдром вахтёра.
Откуда это желание всё запрещать, контролировать и наказывать?
Я считаю, что собеседование будущего должно фокусироваться на продуктовой составляющей, на ревью сгенерированного кода и принятии решений. Нужно искать эффективных кандидатов, кто может понять и исправить ошибки в сгенеренном коде, выбрать лучший вариант, получить ровно тот результат, что нужен. Вот что я хотел бы видеть в решениях! А совсем не цифрового конвоира, который за каждый альт-таб бьёт плетью по рукам.
Я бы не хотел такого будущего и уж точно не пошёл бы устраиваться в компанию с таким типом отбора.
🙂 В общем, хакатон оказался непростым и очень эмоциональным — и для меня, как эксперта, и для участников.
Но главное, он оказался очень запоминающимся. Мне понравилось. Спасибо всем за участие и организацию!
BiTech, я с вами 🤝
© Счастливый эксперт
Очень интересно, как поколения, родившиеся в 2010+, смогут сохранить навык мышления, в частности навык синтеза.
Всё выглядит просто и соблазнительно. Допустим, есть задача что-то синтезировать своим мозгом, сделать что-то новое.
Сделать что-то красивое, глубокое и сложное. Напрягая мозг.
Очень просто вывалить тупой запрос и получить ответ. Но ты ещё креветка, не понимаешь, что такое хорошо, а что убого-плохо.
Чего уж там говорить, взрослые далеко не все умеют фильтровать и обрабатывать нейро-полуфабрикаты.
А когда ты в этом вырос, учишься в 5-м классе школы, и у тебя есть все эти инструменты и неокрепший молодой мозг.
Можно превратиться в человека, который без условного GPT и осмысленного абзаца родить не может.
Очень легко так и не научиться создавать уникальное.
Если бы у меня не было накопленного аналитического опыта, я много не искал, не собирал разрозненное и фокусировано часами не смотрел на вайтборд на моей стене — 100% не было бы, к примеру, Unitcraft. LLM такое не создаст, ибо это синтез и что-то новое.
Когда мы росли, Google просто дал инструмент поиска: мы экономили время, но думали сами. А тут изменение абсолютно иного порядка.
Помимо брейнрота, дешёвого дофамина в виде доступных игр, современным родителям ещё нужно и про это думать. Просто для того, чтобы дети хоть что-то могли синтезировать своим мозгом.
Нужно дать ребёнку значимое конкурентное преимущество во всём этом контексте.
Сложно. Типичной школе эту задачу не делегировать.
Уже можно думать про новые подниши и офферы для самых умных и дальновидных мамочек (папочек) двух ангелочков 😍👼🏻👼🏽