AI Coder 🦾
106 subscribers
47 photos
1 video
45 links
О программировании с использованием ИИ от Senior Fullstack

Также пилю свой продукт с ИИ и пишу об этом тут - @build_saas_in_public
Download Telegram
Cursor обновился

1️⃣ В новой версии убрали отдельные окна чата и композера, теперь все в одном месте

2️⃣ Больше не надо специально тегать @Web, курсор сам понимает, когда надо сходить в интернет

3️⃣ Улучшили поддержку .cursorignore и добавили .cursorindexignore чтоб тонко настраивать индексирование

4️⃣ В менюшке появился Bug Finder, на большом количестве изменений стоит как чугунный мост, вангую что оно того не стоит, а вот на маленьком с быстрой моделькой надо потестить

5️⃣ Еще всякие мелочи

Кайф!
Пусть ИИ читает логи в CI вместо вас

Раньше, когда CI/CD падал, приходилось лезть в логи и искать причину. Любой программист знает, это занятие не из приятных. Хорошо писать логи умеют единицы, обычно полезная информация тонет в куче мусора. Но прогресс не стоит на месте!

Встроенный (и бесплатный) copilot прямо на сайте гитхаба можно попросить прочесть логи и объяснить причину тряски. Можно даже початиться с ним, если совсем одиноко.
Нам Осталось 2 Года?

Компании вроде OpenAI и Anthropic пророчат нам ИИ на уровне (очень умного и усердного) человека уже через пару лет! Речь идет об автономных агентах, которые способы пользоваться любыми человеческими интерфейсами, как цифровыми так и (через роботов) аналоговыми.

Стоит ли им верить? С одной стороны, их слова нужно делить пополам, ведь им выгодно, чтобы мы верили. К тому же, есть много технологий, которые вроде вот-вот появятся, да все никак: холодный ядерный синтез, эффективные квантовые вычисления и проч.

С другой, гонка ИИ-вооружений чертовски реальна, а конкуренция и бабло всегда двигали прогресс вперед.

Так или иначе, лично мне кажется рациональным отталкиваться от того, что Super-AGI может появится в любой момент, хоть завтра. Как говорится, хочешь мира - готовься к войне.

Эти новости поднимают вопрос - как подготовиться к жизни в мире, где ты больше не способен сделать что-то полезное, потому что машина сделает это лучше, дешевле и быстрее, причем намного?

Я не знаю, и мне кажется, никто не знает… Но вот вещи, которые я нахожу полезными:

1️⃣ Накапливать ресурсы (и не забывать о диверсификации)
2️⃣ Стремиться уйти из найма - какую бы работу вы не выполняли, через (максимум) 10 лет она исчезнет
3️⃣ Поддерживать и по возможности улучшать свое здоровье - либо мы исчезнем, как пыль, либо попадем в золотой век, где смерть и старение ушли в тьму веков, туда же, где сейчас место средневековым ужасам (будет обидно не дожить до этого, согласитесь)
4️⃣ Учиться (и учиться разбираться - чему учиться надо, а чему нет. Времени осталось немного, и расходовать его нужно с умом)

Ставьте 🤖 лайк, если вам интересна эта тема, ибо у меня есть еще мысли на этот счет :)
Please open Telegram to view this post
VIEW IN TELEGRAM
Okaaay ChatGTP 🌚
Что такое Build in Public и как это связано с ИИ?

Те, кто читают меня давно, знают, что техно-оптимизм тут совмещается со страхом перед будущим, в первую очередь потерей работы. Я считаю, что об этом нужно думать и говорить, потому что большинство людей все еще не воспринимает эту проблему всерьез.

Так вот, этот самый страх (и любовь к программированию, конечно же), побудили меня начать пытаться запустить свой собственный продукт. Я завел второй канал @build_saas_in_public и буду писать туда про свой тернистый путь.

Если вам не интересна тема предпринимательства, инди-хакерства или стартапов, просто пройдите мимо. Остальным - welcome. Упор на то, как технически подкованному человеку разобраться в маркетинге и запуститься.

Ну и да, конечно же, продукт будет связан с LLM 😉. Подробности будут в самом канале!

ССЫЛКА НА КАНАЛ
Скриншот всей страницы в Arc 🖼️

Не перестану рекомендовать браузер Arc. Когда я вижу, как люди мучаются с вкладками в хроме/фаерфоксе, сидят в нескольких окнах под разными аккаунтами, устанавливают всякие расширения чтобы починить UX, я всегда спрашиваю - почему ты просто не пересядешь на Арк?

Сегодня я для прикола проверил, умеет ли он делать скриншот всей страницы - это когда тебе нужно заскринить весь сайт сразу, сверху донизу. И знаете что? Умеет! Я даже не удивлен.

Арководы, жмем Cmd+T и пишем full page, затем выбираем Capture Full Page и будет нам счастье! Скриншот сразу попадает в буфер обмена, а в правом верхнем углу появляются кнопки для сохранения на диск и шэра.
Бери (у ИИ) как Есть

В соседнем канале мысль, что не надо стремиться контролировать каждый винтик в своей жизни, лучше, наоборот, аутсорсить по максимуму. Так вот, это касается и программирования с ИИ!

Вершина vibe-coding это когда вы не пишете ни строчки кода руками. Понять, там вы или нет легко - задайте себе вопрос, приходится ли вам думать над неймингом?

Все чаще в последнее время я ловлю себя на мысли, что я не исправляю/улучшаю/уточняю код, который для меня сгенерировал ИИ. Зачастую он достаточно неплох, (да еще и снабжен комментариями, как правило).

Сегодня я обсуждал в ChatGPT архитектуру своего Chrome-расширения, конкретно, логику логина через Google. Мы пришли к конкретному набору сущностей, целые классы и методы будут вставлены в репозиторий как есть. Раньше мне часто хотелось добавить что-то от себя. Я мог немного модифицировать сгенерированный код, просто чтобы он стал чуть-чуть лучше, но теперь я нахожу удовольствие в том, чтобы, напротив, вообще ничего не трогать.

Мысль все та же - контроль это не благо, а необходимость. Необходимо ли мне контролировать этот код? Не прикасаясь к нему лишний раз я освобождаю себя от необходимости думать, как назвать ту или иную переменную или функцию. ИИ предложил так, значит, так оно и будет. Кстати, он предложил не просто так, а потому что у него огромная “насмотренность”, и его вариант, скорее всего, как минимум не плох.

Разумеется, здравый смысл должен быть всегда. Я всегда пробегаюсь, хотя бы бегло, по сгенерированному коду. Годы опыта дали мне интуицию, которая позволяет понимать, где мне надо вникать, а где достаточно пробежаться по диагонали.
График интеллекта и скорости GPT

Если еще не видели, картинка из официального блога

Интеллект/Скорость: Получается, что 4.1 самая умная, по скорости как 4o, 4.1 mini - лучший баланс между скоростью и интеллектом, а 4.1 nano тупая и быстрая

Цена: 4.1 дешевле чем 4o, но 4.1-mini дороже чем 4o-mini. Подробнее тут

P.S. - если я все правильно понимаю, то`4.1` это не reasoning модель, как она соотносится с o1/o3 пока не разбирался.
Как streaming mode может ухудшить качество генераций

Пост для LLM-engineers, то есть тех, кто внедряет ЛЛМы в продукты.

Для тех, кто, вдруг, не в курсе - стриминг-режим, это когда модель вместо того чтобы подумать, а затем выплюнуть готовый ответ, отдает генерацию по кускам (чанками). Например, когда ChatGPT печатает для вас ответ, он делает это именно в стриминговом режиме, чтобы вы могли начать читать текст сразу, не дожидаясь окончания генерации.

Это классная штука с точки зрения UX и до сегодняшнего дня я думал, что на качество она не влияет. Оказывается, я ошибался! Streaming может ухудшить качество генерации и вот почему:

Как известно, LLM это “T9 на максималках”. Люди, которые не верят в скорое пришествие AGI часто говорят что-то вроде: “эта штука просто предсказывает следующее слово”. И в этом есть доля правды! Суть ЛЛМов действительно в том, что они вероятностно подбирают токен за токеном. Но это лишь половина правды, сегодняшние ЛЛМы устроены несколько сложнее.

Вам никогда не казалось, что это какая-то гребаная магия - продолжатель токенов каким-то волшебным образом дает правильные ответы на вопросы, где явно надо подумать, а не угадать? Я, к сожалению, не ML-специалист (хотя вот это видео, может подраскрыть завесу тайны), но вот что я знаю - современные модели, перед тем как выдать ответ, могут “подумать” про себя, и уже только после этого отправить вам текст.

“Подумать” в данном контексте означает, составить некий план ответа, а затем, начать генерацию, но не “вслух” а “про себя”, и в этом внутреннем процессе у модели есть возможность “вернуться назад” и изменить что-то. Так ЛЛМ может, например, понять что ее понесло куда-то не в ту степь, и она может откатиться к предыдущим токенам и отредактировать их. То есть, когда она генерирует токены про себя, она наблюдает свой промежуточный результат, и это влияет не только следующий токен, но и на предыдущие!

И, угадайте, как это работает в режиме стриминга? Никак. Ведь потоковая выдача затем и нужна, чтобы не ждать, пока ЛЛМ “подумает”, а дать пользователю увидеть результат ее мыслительной деятельности в реальном времени.

Вывод:

- Стриминг это исключительно улучшалка UX, качество генерации с ней не может стать лучше, а хуже может
- Обычный режим не может быть хуже стримингового по качеству, но может быть лучше

Нужен realtime-UX? Используй стриминг. Качество на вес золота? Выключай его и юзай обычный режим.

Только убедитесь, что у вас именно та задача, где каждый процент качества важен. Например, когда генерация влияет на финансовые показатели, или нужно генерировать документы в строгом формате - большинство кейсов ОК для стриминга!
Хочешь мира, готовься к войне.

Уж как бы я не хотел согласиться с Денисом, к сожалению, я считаю иначе. За последние месяцы я:

1️⃣ Лично познакомился с бэкендером-предпринимателем, который по его собственным словам, раньше, разрабатывая продукт с нуля, отдал бы фронтенд на аутсорс/фриланс, но сейчас просто генерирует его в v0/cursor (кстати, об этом был пост)

2️⃣ Сгенерировал себе сложную анимацию, чтобы оформить README в open-source проекте (если что, вот она). Почти написал дизайнерке, которую до этого нанимал для разработки логотипа, но решил попробовать сэкономить. И сэкономил! Получил именно то, что хотел, и очень быстро.

3️⃣ Видел новости вроде этой (СЕО крупной американской компании прекратил найм и заставляет внедрять ИИ). Сюда можно было бы добавить прогнозы СЕО Атропика и иже с ними, но так уж и быть, не будем.

Очень приятно верить, что ты не заменим, не так ли? Но история знает достаточно примеров, когда целые профессии исчезали как класс. И мы любим говорить, что на смену им приходили другие профессии, но, знаете, что не так с этим тезисом?

- Во-первых, это происходило не плавно, а через социальные и/или экономические проблемы (безработица, протесты, нищета и проч.)
- Во-вторых, то, что происходит сейчас это действительно другое - изобретение машины, которая способна автоматизировать когнитивные функции, вплоть до разработки собственной модификации — такого еще не было, и сравнивать это с условной промышленной революцией и даже интернетом не совсем честно.

Так что, если хочешь мира, то готовься к войне.

Тогда для тебя это будет win/win — если я не прав, то нас ждет еще десяток-другой лет стабильности, ну а если нет, то у тебя было время подготовиться, и ты это сделал.

То есть ушел из найма.
Отдельный вид удовольствия — сёрфить Cursor VSCode расширения 👏
Please open Telegram to view this post
VIEW IN TELEGRAM
Для разработчиков (расширений)

Оказывается, у хрома есть AI-API. Если, вдруг, вы хотели построить AI-расширение для хрома и ждали знака, то вот он.

Я еще не читал толком, но по диагонали ощущение что есть какая-то встроенная в браузер nano-ллмка + интеграция с Gemini (уже через запросы по сети).

Для меня это супер вовремя, потому что я как раз такую штуку и собираюсь строить, только интегрировать думал OpenAI, но теперь уже не уверен.

Кстати, вы работали с Gemini? Как вам? А то я что-то все OpenAI да Claude…
Почему JS это плохой язык?

Написал коротенькую статью на Хабр (кстати, у кого есть инвайт, плюсаните плиз).

Спойлер: статья скорее для разработчиков, но никакого хардкора в ней нет. В ней даже кода нет.
Агенты Наступают

Чел с твиттера билдит апку за 20 мин. На входе один промпт: “простой мне бизнес на миллион долларов про AI и writing”. Больше он в процесс не вмешиваться. На выходе рабочее приложение, но и это ещё не всё.

Штука, которую он юзал называется Manus. Она в закрытой бете, попасть можно только через waitlist. Об этих ребятах уже писали, потом про них все забыли, а зря. Если видео правда, то никакой курсор рядом не стоит.

На деле сравнивать с курсором не совсем корректно. Мне пока что кажется что они занимают разные ниши. Курсор это помощник разработчика (даже если этот разработчик вайб-кодер), а Манус это «Devin здорового человека». То есть штука, которая должна программиста (точнее it специалистов в широком смысле, об этом ниже) заменить.

Что сделал Манус и почему это круто: он не просто написал (рабочий) код, а провел маркетинговое исследование, проанализировал нишу и конкурентов, прошерстил твиттер и реддит на предмет болей и придумал целый план, какие проблемы и как надо решить, чтобы выделиться на фоне конкурентов.

Это “press X to win”. Если конечно оно работает…

Да, приложение на выходе функционирует и даже выглядит неплохо, но справился ли ИИ агент действительно хорошо на предыдущих шагах? И насколько бы хорошо у него получилось сделать что-то технически посложнее? В его поделке кажется даже базы данных нет.

Мне мнение: чел дал слишком абстрактную задачу. ИИ всё ещё нуждаются в том, чтобы мы разбивали для них задачи на куски, с четко понятным входом и выходом. Так и нам спокойнее, больше контроля за качеством.

Понятно, его цель хайп и охваты (что он и достиг, а вот мне бы поучиться), но момент важный, стоило прокомментировать.

Финальный аккорд: ИИ агенты наступают, с Манусом придут похожие на него. Специалисты все в большей опасности, у фаундеров все больше инструментов для создания и масштабирования бизнеса.
Нас сотня! 💯

И каждый — настоящий, живой. Ни одного бота, никакой накрутки. Без рекламы. Только авторский контент.

Много ли это? Нет. Но мы не про количество, а про качество. Качество контента перетекает в качество подписчиков.

Спасибо, что читаете. Для меня это правда важно. Сотня это только начало, когда-нибудь нас будет тысяча. Оставайтесь и будьте в курсе событий в мире ИИ кодинга!
Психотерапия и аффирмации - это промпт инжиниринг мясных нейронок 🫠

Долго я полагал, что психотерапия чушь, а психология не наука. К психотерапевту я ходить так и не стал, и учебников по психологии до сих пор ни одного не прочел, зато повзрослел и дотумкал, что:

1️⃣ Не стоит лихо рассуждать о вещах, в которых не разбираешься (привет, специалисты по геополитике)

2️⃣ Есть ненаучные области знания, которые, тем не менее, показывают результаты (кому-то, например, религия помогает)

3️⃣ Что такое промпт-инжиниринг

А теперь по порядку:

Раз. Не стоит лихо рассуждать о вещах, в которых не разбираешься

По этому пункту, думаю, все ясно. Можно дополнить разве что вот каким тезисом - у тебя может быть свое мнение только относительно вещей, в которых ты являешься профессионалом. То есть когда люди платят тебе за твое мнение об этих вещах.

Например, я специалист по программированию и у меня есть мнение, как проектировать реляционные БД. А вот мнения, почему пала Римская империя, у меня нет и быть не может.

Тут можно (и нужно) взять чужое. Остается только попытаться выбрать, чье лучше. Еще можно (вообще респект), изучить полярные мнения и вычислить среднее арифметическое. Но и это будет не ваше мнение, а лишь компиляция из чужих. И это нормально! Не нормально принимать чужое мнение за свое и, тем более, отстаивать его как свое собственное.

Два'с. Есть ненаучные области знания, которые, тем не менее, показывают результаты

Религия, духовные практики, нейро-лингвистическое программирование, даже физиогномика. Все это может приносить реальную пользу.

Лично я человек не религиозный и к мистицизму отношусь, если честно, с долей скепсиса. Но теперь мне хватает ума понимать, что глупо называть все это абсолютно бесполезным.

Очень часто есть некий процент истины. Просто он спрятан. Человеку с критическим мышлением, мне кажется, не опасно (а даже полезно) попытаться познакомиться поближе с чем-то подобным.

Так вот, психотерапия и аффирмации (объединяю их тут потому что оба направлены на некий разговор с самим собой, в одном случае "об другого", в другом сразу об себя) даже если и являются чем-то ненаучным (что само по себе не факт, к слову), не должны отрицаться по причине вышеописанной.

Три'с. Что такое промпт-инжиниринг

Наконец, к сути поста.

Я как человек далекий, увы, от машинного обучения, но зато близкий к компьютерам как таковым, думая, что понимаю, как примерно работает электроника, операционные системы, сети и алгоритмы, наивно полагал что программирование это обязательно четкий набор инструкций на языке, где:

- Не может быть двусмысленности (инструкция всегда абсолютно однозначна);

- Программа всегда состоит из формального языка, грамматика которого может быть непротиворечиво описана набором (четких) правил;

Но с приходом ChatGPT я понял, что это все равно что думать, будто программы могут быть написаны только на ассемблере!

Мы же можем программировать на высокоуровневых языках, например, на Питоне, и здесь нет противоречия? То же самое и с LLM - да, под капотом там все тот же бинарный код, инструкции и электричество. Ну так и у нас там, если что, нейронные сигналы и электричество. И никому, при этом, не кажется странным пытаться убедить кого-то, воздействуя на него словами, а не ковыряясь отверткой в его нервной системе, верно? (Ведь верно???)

От машины, которая не понимает нас, если не там стоит запятая, мы приходим к машинам, что понимают нас лучше нас самих - строгий и четкой ввод (код) стал не строгим и не четким (промпт), но в остальном суть осталась той же - есть набор инструкций, и машина его интерпретирует.

Настанет день, когда людям будет очевидно, что слово "робот" совершенно не обязательно обозначает нелепую груду металла. И тогда осознание, что мы тоже роботы, не будет шокировать. Мы не такие уж и разные, а психотерапия и аффирмации это самый что ни на есть промпт-инжиниринг.

На самом деле много что промпт-инжиниринг, даже просто чтение книг и просмотр сериалов, но это уже тема для отдельного поста.

Да и надо ли вообще окунаться в эти дебри?
Code Review в 2025

Осторожно: пост для айтишников! В тексте содержится нецензурная лексика LLM-Engineering терминология.

Пришло в голову, как можно было бы улучшить код-ревью с помощью LLM. По сути, идея для стартапа, но я уверен, в этом направлении уже копают.

1️⃣ Берём сначал укропа вектора (embeddings) кодовой базы, актуальные, конечно же. Такие строит курсор и его аналоги, на GitHub наверняка куча тулов которые могут высрать вам это прямо в репу.

2️⃣ Потом кошачью жопу что-то типа repomix, чтобы у нас было markdown описание репы (пригодится для RAG на следующем этапе). Тут главное не переусердствовать, чтоб у ЛЛМ контекстное окно не треснуло. В идеале это текстовое описание кодовой базы, но без настоящего кода (он занимает много токенов). Быть может текст + псевдокод или что-то вроде outline view (сигнатуры функций, но без имплементаций)

3️⃣ 25 картошек в момент запуска CI/CD пайплайна берем ЛЛМ с контекстным окном потолще и кормим её фирменным блюдом по рецепту: diff коммита/PR'а + текстовое описание кодовой базы. Просим ответить на вопрос: "Глядя на этот пиздец, скажи, на какие места в коде стоит взглянуть внимательнее, чтобы проанализировать их на предмет возможной поломки?". Тут еще можно попросить сформулировать суть изменений, полезно для шага 5.

4️⃣ 17 мандовошек собственно RAG, иначе зачем нам вектора? Векторизируем ответ с предыдущего шага, через него находим релевантные куски кода и, наконец, билдим идеальный контекст для финального, пятого шага.

5️⃣ Ведро воды и хуй туды! Снова идем в ЛЛМ (результаты предыдущих шагов надо отбросить, они больше не нужны и лишь займут место в окне) и просим: "Смотри, вот описание наших изменений + diff PRа + куски кода, которые могут быть затронуты этим изменением; Твоя задача тщательно проанализировать и оценить вероятность поломки от 0 до 100".

Охапка дров и плов готов! Остается только настроить пайплайн условием типа "если вероятность фэйла > 5%, то завали пайплайн".

Тут, конечно, есть над чем поразмыслить, это просто очерк, чтобы мысль не растворилась в воздухе. Наверняка тут найдется место и Structured Output и, может, каким-нибудь Chain of Thought, и без Evaluations вряд-ли обойдется. И может количество шагов нужно уменьшить или увеличить. Над этим уже пускай думает тот, кто будет это имплементить.

P.S. - перекликается с тезисом про статическую типизацию ("явное лучше чем неявное" тут играет очень важную роль).
AI Coder 🦾
Агенты Наступают Чел с твиттера билдит апку за 20 мин. На входе один промпт: “простой мне бизнес на миллион долларов про AI и writing”. Больше он в процесс не вмешиваться. На выходе рабочее приложение, но и это ещё не всё. Штука, которую он юзал называется…
Утро началось с письма от разработчиков Мануса. Дали доступ к закрытой бете, будем пробовать!

Кстати, на этой неделе будет видео, мастер-класс по вайб-кодингу. Покажу, как сделать за 15 минут рабочего бота в телеграмме с привязкой к OpenAI вообще не трогая код.
Благодарю за подсказку, господин Cursor 🙏 Если бы не вы, написал бы сейчас неграмотный текст для пэйвола!

ИИ все таки на больших датасетах нынче обучают, он лучше знает, на каком языке нужно общаться с юзерами.

(Скоро будет полезный контент, обещаю. Да, еще полезнее, чем этот.)