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

Также пилю свой продукт с ИИ и пишу об этом тут - @build_saas_in_public
Download Telegram
AI Coder 🦾
Навайбкодил в Курсоре за 3 часа с BabylonJS, даже доку не открывал, че в коде происходит абсолютно хз 🫠 Паук агрится если подойти и атакует, хп минусится, выносливость тратится во время спринта и восстанавливается если встать смирно О_о 1 TypeScript файлик…
Геймдев в Cursor

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

Да, процесс затянул, а я решил побаловать себя и позволить поразвлечься. Геймдев меня, как и каждого, наверное, программиста, всегда интересовал но казался сложным и не хватало мотивации разобраться. Ответственно заявляю что связка Cursor + BabylonJS эту проблему решает. 3D в браузере на тайпскрипте с ИИшкой которая все за тебя делает? Я не устоял.

Конечно, навайбкодил я полные штаны, на второй день файлик распух на полторы тыщи строк и ЛЛМка перестала справлятся с моими запросами. Нет-нет да пришлось вникнуть в некоторые аспекты: что такое сцена, камера, скайбокс, иллюминация. Начинали за здравие а кончили за упокой. Но результатом я доволен! За один день была добавлена куча механик:

- У паука есть настоящее ХП, его можно бить и оно отнимается, а когда оно падает ниже нуля, он умирает (неожиданно, правда?) и исчезает
- Разобрался как загружать 3d модельки, в интернете полно low-poly бесплатных, бери не хочу
- Смена дня и ночи, skybox с текстурами звездного неба (см последний скрин)
- Консоль аж с одним читом set_time чтоб устанавливать время (надо было для дебага солнца… странная фраза)
- Задел под инвентарь и наверно еще какие-то мелочи, которых не упомнишь

#gamedev
AI Coder 🦾
Геймдев в Cursor Так, все хорошо. Канал не превращается в дневники инди-разработчика, честно. Выходные кончились, и уже завтра придется вернуться к делам насущным. Но пока поделюсь, чего удалось добиться за еще один день. Да, процесс затянул, а я решил…
Gemini vs Claude?

В догонку к вчерашнему посту. Курсор обновили ценовую политику и использовать Claude 3.7 стало не так выгодно, пришлось пересесть на Gemini 2.5 и каково же было мое удивление, когда я увидел, насколько умна эта модель.

Она долго думает, но в 7/10 случаев решает задачу правильно. Если почитать логи ее внутренних рассуждений, вы удивитесь, это выглядит как ход мысли очень умного человека. Там четкая структура: понять задачу -> собрать входные данные -> придумать план -> реализовать.

Слабое место Gemini, да и любой другой, наверное, нейронки в IDE, это замкнутость на коде и терминале. TypeScript это все же не панацея (почему JS/TS экосистема это плохо спроектированная система я уже писал тут) и он не отлавливает множество ошибок, приходится открывать браузер и смотреть в консоль. Gemini молодец в том смысле, что понимает это и прям просит это сделать, а потом придти к нему с логами. Короче, если бы ИИ курсор мог автономно контролировать браузер, это был бы next-level.

Минусы

Я не говорю что Gemini > Claude при любых раскладах, я лишь говорю что в курсоре и для кодинга это оказалось так. Также добавлю что claude/gpt быстрее и не для всех задач нужно так долго ждать.

А еще был один случай, надо было просто переименовать пачку файлов в репе, так вот Gemini погрузился в глубокие рассуждения о природе бытия, высрал гигантский страшный скрипт на питоне который не завелся с первого раза и начал его чинить. Мне это надоело и я попросил gpt4.1 сделать задачу, он просто взял и сделал.

Вердикт

Для простых задач claude/gpt, для сложных gemini. Пока такие ощущения. Да, есть еще думающие модели типа o3, но они и стоят (в курсоре) дороже.

P.S. - Правда не хочется превращаться в "дневники инди-разработчика", но за одни выходные было столько инсайтов, что не поделиться ими просто преступление. Самый главный - геймдев это один сплошной трюк, чтобы у игрока возникла иллюзия чего-то настоящего. Как-нибудь расскажу подробнее про самые простые фокусы, необходимые, чтобы игрок поверил в происходящее.
У Элиезера Юдковски (автор Гарри Поттера и Методов Рационального Мышления, а также специалиста-самоучки по ИИ) выходит новая книга, на этот раз на тему ИИ-алармизма.

Пока только на английском, но в террии вы можете переводить ее для себя сами через LLM. Ну, или дождаться перевода. Или, черт возьми, читать на английском, он там, должно быть, не супер сложный.

В прошлом Юдковски призывал бомбить дата-центры, так что ничего удивительного в его риторике нет. Еще советую подкаст с ним у Лекса Фридмана, Юдковски рассказывает весьма занятный мысленный эксперимент, в котором вы видите мир глазами ИИ.

Кстати, почитайте про Василиска Роко (осторожно, чтение подвергает вас теоретической опасности!), это еще одна занятная тема, всплывшая на сайте Юдковского LessWrong.

Ну и, наконец, если вам интересна тема рациональности, то у Юдковски есть книга про это, называется От ИИ до Зомби, и она бесплатно есть на русском! Я когда-то пытался ее читать, мне показалось интересно, но слишком многословно и запутанно. ГПиМРМ читались на одном дыхании.
Cursor Background Agents 👀

Не забываем включить beta фичу background agents в курсоре, кину в комменты GIF с демкой.

Там много апдейтов, например, теперь можно экспортировать чаты. Читать полный changelog тут.

Я фичу пока не юзал, и не совсем понимаю, что это. Аналог Джуни от Google, который работает за пределами IDE и приносит пул-реквесы, или просто возможность делать несколько задач одновременно? И то и другое было бы полезно. Для меня второе критичнее, бывает ждешь пока Gemini 2.5 решает что-то, а мог бы параллельно запустить еще что-то.
Как сделать сложный рефакторинг с LLM?

Речь пойдет не о ChatGPT/Claude/Deepseek чатах, а об IDE со встроенным AI agent. То есть Cursor, JetBrains Junie, Windsurf, Github Copilot и иже с ними.

Недавно я навайбкодил целую 3D игру с видом от первого лица. Я называю это вайбкодингом, потому что я не читал и не пытался понять код, и даже когда возникала проблема, я просил ИИ починить ее. Вайб-дебаггинг это очень неприятное занятие, должен подметить. Vibe-coding is good until it ain't.

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

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

Вы действительно правы, код не работает. Мне очень жаль! Хотите провернем 142-ую итерацию? На этот раз все получится!

Итак, как правильно рефакторить кодовую базу с ИИ-агентом в IDE:

1️⃣ Берем думающую модель, например, Gemini Pro 2.5

2️⃣ Указываем нужные файлы и просим составить план для рефакторинга. На выходе просим "ready to copy paste markdown code that I can insert into a LLM chat".

3️⃣ Просим составить промпт таким образом, чтобы он был четко разбит на отдельные шаги, и чтобы там было четко прописано, что агент должен выполнять по одному шагу за раз, всегда останавливаясь после этого и ожидая подтверждения от пользователя, ибо только так мы сможем проверить работоспособность нашего кода и, если все хорошо, сделать коммит

4️⃣ Просим НИКОГДА не делать изменений, без которых можно обойтись: переименования сущностей, модификация импортов, какие-либо стилистические изменения и форматирования. Ничего из этого нельзя трогать, если это не абсолютно обходимо для рефакторинга (декомпозиции и перераспределения ответственностей между сущностями)

5️⃣ Каждый шаг должен быть пронумерован, первый шаг должен быть помечен как текущий. После каждого шага мы будем просить обновить план, пометить новый шаг как текущий, а предыдущие как выполненные.

Что делать, если агент все таки застрял?

Не смотря на подробный план, иногда отдельные пункты все еще могут быть слишком сложны для агента. В этом случае надо взять промпт, открыть чат и попросить переписать его так, чтобы проблемный пункт был разбит на под-пункты.
Грустим от закрытия Arc браузера, поглядываем на альтернативы.

Opera пилят что-то агентское, пробовал кто?

Мне от арка, на самом деле, нужны не ИИ функции (хотя от хорошей агентности я бы не отказался, чтобы браузер сам за меня заполнял формы, искал билеты и отели и проч.), а именно интерфейс: workspaces с отдельными учетками, авто архивация вкладок по таймеру, адресная/поисковая строка через cmd+t, отсутствие визуального шума (сайт на весь экран без элементов интерфейса). Ну и хотелось бы чтобы это был хромиум based.

Короче, the browser company прям перевернули игру и задали тренд, их эстафету точно подхватят. Пока не пересаживаюсь, наблюдаю.
Протестил codex, полет нормальный.

Если кто не в курсе, это такая штука, которой ты даешь доступ к репе (пара кликов), и затем в chat gpt у тебя появляется специальный чат, интерфейс как у custom gpt, и там ты просишь внести правки в код, а оно потом приходит с пул реквестом.

Я дал максимально простое задание, надо было пересортировать поддерживаемые языки, чтоб в топе были самые популярные, правки локализации на уровне одного файла. Это был такой smoke test.

Есть ощущение что OpenAI залезли на территорию Devin. По сути это автономный ИИ- программист. Все запускается в отдельном докер контейнере, откуда есть (если разрешите) доступ в интернет.

Будем тестить дальше. Ожидаю в течении года прогресс на уровне того, к чему пришел вайб кодинг в IDE. Причем будет синергия, эти подходы сольются, курсор уже интегрирует это.

P.S. - кстати, задание я дал с мобильного. Затем с него же поревьюил и аппрувнул PR на гитхабе. Знаю, что такой воркфлоу уже не фантастика, но приятно было ощутить самому.
Please open Telegram to view this post
VIEW IN TELEGRAM
Протестировал ИИ-браузер от создателей Arc 🌐

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

Речь идет о браузере Dia. Он сейчас в закрытой бете, но если вы были пользователем Арка, то вас пустят туда без очереди.

Сперва я был разочарован: ни вертикальных табов, ни spaces с раздельными куками. Иными словами, все то, за что мы любили Арк, сюда не завезли. Но потом я почитал Reddit и выяснил, что аркоподобный интерфейс завезут в течении месяцев.

Кстати, многие грустят от отсутствия кастомизации. В Арке то можно было и emoji спэйсам присвоить, и раскрасить их в разные шумные градиенты. Это прикольно, но мне плевать. Если задуматься, я даже скорее против кастомизаций. Я не хочу лишний раз принимать никаких решений.

Так вот, Dia. В чем прикол?

Прикол в том, что ребята тащат UX из Cursor в браузер. У вас появляется чат с ИИ, который видит страницу. Все как в курсоре: по умолчанию ИИ видна только текущая страница, но можно меншнить через собачку @ соседние вкладки и даже страницы из закладок и истории. Еще есть custom commands но про них я пока ничего сказать не могу.

Основное преимущество в том, что не надо переключаться в ChatGPT или Cursor в части кейсов, когда раньше это понадобилось бы. Пример тому, на скриншоте ^
Please open Telegram to view this post
VIEW IN TELEGRAM
Видео: Вайбкодим Telegram бота за 10 минут и не трогаем код руками

https://youtu.be/Zrndn1d9aaE?feature=shared

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

Сразу скажу, навайбкодить рабочий прототип реально, но MVP — нет. Досмотрите видео до конца и увидите как режим "я только командую" дает сбой. Тем не менее заголовок не врет, на выходе у нас будет рабочий бот.

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

Подписывайтесь на канал (на этот и на тот) и приятного просмотра! 🍿
Please open Telegram to view this post
VIEW IN TELEGRAM
В Zed добавили Дебаггер

Только что заметил, что в Zed, кажется, наконец-то добавили дебаггер, это была основная причина, почему я не стал на него переезжать с VSCode, а потом в моей жизни появился Cursor

Ребята делают упор на скорость (пол года назад разница с VSCode действительно ощущалась, но для меня не была критичной) и ИИ. По последнему ничего сказать не могу, но не будь у меня платной подписки на курсор, я бы попробовал.
Новые (неочевидные) Заблуждения. Часть 1

Речь пойдёт про ИИ в программировании (кто бы мог подумать, да?), а именно про то, насчет чего профессиональные разработчики, даже продвинутые в вайб-кодинге, сегодня заблуждаются.

Для начала давайте вспомним, что мы и наше окружение думали про AI Coding agents 2 года назад. Понимаю, это не просто, но давайте попытаемся.

Моя версия: подавляющее большинство, во первых, ими не пользовались, а общий консенсус был в том, что это бесполезная шляпа. Со временем картина стала меняться — разработчики признали за LLM возможность генерировать небольшие кусочки кода и, как следствие, допустили ИИ автокомплит. Но ИИ по прежнему было отказано в том, чтобы работать с большим контекстом. Оно и понятно, нынче не то что давеча. В смысле, нейронки 2 года назад и сейчас это две большие разницы. Таким образом, консенсус остался на уровне "этому есть применение, но оно никогда не заменит настоящего программиста". На вопрос "почему" можно (до сих пор) услышать что-то про "понимание" или, упаси господь, "сознание".

Хорошо. А что думают профессиональные разработчики сегодня, два года спустя?

Моя версия :) Подавляющее большинство, во первых, стали пользоваться — LLM-based инструментарий в том или ином виде проник всюду: в терминалы, кодовые редакторы и даже браузеры. Два года назад надо было быть "гиком" ИИ-программирования, сегодня это мейнстрим. Сегодня у нас есть "вайб-кодинг" как методология (не побоюсь этого слова) разработки софта без, собственно, ручного кодинга. То есть то, чему "есть применение" в итоге вообще вытеснело все остальное. Ну, то есть, конечно еще нет. Но отдельные люди вайб-кодят отдельные штуки, это реальность.

А что стало с общим консенсусом? Я бы сформулировал его теперь так: "ИИ-кодинг реален, и при должном умении можно даже реализовать довольно сложную задачу. Но! Во-первых, иногда это все равно проще сделать руками, а во-вторых, рано или поздно вайб-кодинг сломается (см. мой пост про бота) и тебе все равно придется лезть под капот руками. Тебе все равно придется разбираться, как это работает. Тебе придется наводить порядок в хаосе, который создал ИИ. Так что эта штука все равно не заменит настоящего программиста!"

Вторая часть тут.
Новые (неочевидные) Заблуждения. Часть 2

Начало тут.

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

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

А что если пройдет еще два года и вайб-кодинг перестанет ломаться, потому что ИИ станет достаточно умен? Код больше не будет превращаться в хаос, потому что ИИ будет следить за его чистотой на уровне senior software engineer.

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

Человек — это клей, который интегрирует разрозненные части.

Это не единственная роль человека в разработке (например, есть еще коммуникация с остальной командой, проектирование, ревью), но я, если честно, не вижу здесь вообще ничего, что не могло бы быть автоматизировано в следующие пару лет. И мне кажется, что нам очень повезет, если это займет больше времени. Потому что бизнес спит и видит, как инструментарий такого уровня достигает enterprise качества. И доказательство этому — деньги. Просто посмотрите сколько денег инвестируется во все, что связано с ИИ кодингом.

Я бы добавил, что для достижения этого нам не нужны никакие прорывы в LLM инжиниринге. У нас все уже есть. Нам нужно время чтобы разработать и обкатать инженерные подходы — как правильно стыковать куски таких систем вместе, чтобы это работало хорошо. Как правильно применять оптимизации, чтобы есть меньше токенов и прочее. Это перешло из технологической/научной в чисто инженерную проблему. И это вопрос времени.

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

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

Но я думаю, что большинство профессиональных (именно они, точнее мы, подвержены этому когнитивному искажению сильнее всего) разработчиков сегодня заблуждаются насчет того, в каком состоянии на самом деле находятся AI Coding технологии сегодня.