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

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

Тем временем Cursor начали раскатку новой фичи Agent - новый режим для Composer, который делает его еще более автономным (доступ не только к файловой системе, но еще и к терминалу).

Я попал в выборку и вижу обновленный UI. К сожалению, первые впечатления негативные - композер перестал делать правки в файлах и превратился в тыкву просто чат, переключатель agent ситуацию не спас. Хоткей на маке поменялся на CMD+N, который по умолчанию открывает новую страницу - странное решение.

У курсора очень маленькая команда, его пишут гениальные люди, но им запросто может не хватать опыта или рук, чтобы бесшовно раскатываться, как какие-нибудь JetBrains. Я надеюсь, они все починят в течении месяца и курсор станет еще лучше. Очень не хочется с него слазить, ведь ничего лучше на рынке нет
AI Coder 🦾
Новая фича в Cursor Тем временем Cursor начали раскатку новой фичи Agent - новый режим для Composer, который делает его еще более автономным (доступ не только к файловой системе, но еще и к терминалу). Я попал в выборку и вижу обновленный UI. К сожалению…
Сжимаем репозиторий до одного файла, чтобы скормить ИИ

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

Среди примеров:

- Сделать код-ревью
- Сгенерировать документацию
- Сгенерировать тесты
- И т.д.

Я еще не пробовал, но выглядит любопытно. Думаю, Сursor может делать что-то подобное под капотом сам, но попробовать все равно стоит
Perplexity как дефолтный поиск в Arc

Кто был в армии, в цирке не смеется кто пересел на арк, обратно не вернется, это известно. А можно еще круче?

На скриншоте показано, как сделать Perplexity дефолтным поиском. Это тот, который используется на Cmd+T. Нужно перейти в настройки cmd+t -> settings -> enter и открыть вкладку Profiles.

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



UPD: Пока непривычно. Есть подозрение, что не все, что ты гуглишь, хорошо конвертируется в “вопрос-ответ”. Поживу так с недельку и напишу, как полет.
Чем программист отличается от LLM?

ЛЛМ выполнит задачу, даже если в ней есть противоречия, либо вернёт результат, даже если он противоречив. Программист-человек же обладает полным контекстом:

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

Иными словами, программист-человек “примерно понимает, как всё устроено”, и в этом его отличие от ЛЛМ. Человек понимает “примерно”, но всё сразу, а ЛЛМ — точно, но по отдельности.

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

К сожалению, ЛЛМ работает намного хуже в этом плане, чем наш мозг. Поэтому, чтобы создать настоящего ИИ-программиста, нужна сложная “инфраструктура” вокруг ЛЛМ. Это делают Cursor, GitHub Copilot, Zed и иже с ними. Но пока это уровень вспомогательного инструмента. Автономия тут ещё только зарождается, и через 10 лет мы будем со снисходительной улыбкой вспоминать, ностальгируя, как вспоминаем сейчас времена Notepad++ и FTP-серверов.

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

Всё это очень сложные инженерные задачи, которые не решить без хитрых оптимизаций: чтобы не треснуло контекстное окно, чтобы избежать галлюцинаций, чтобы всё это работало быстро и так далее. Тут точно не обойтись без продвинутого промпт-инжиниринга и современных технологий вроде векторных и, возможно, графовых баз данных. Но это всё лишь моё примерное видение. Кто знает, что нас ждёт через 10 или хотя бы 5 лет?
Как помогает фича “codebase” в Cursor

В курсоре, который ИИ-редактор кода, есть чат, а в чате можно меншнить через собачку такую штуку @codebase - нахрена это надо и как это юзать?

@codebase это “я не знаю, где код, о котором я говорю, так что найди его сам”. Штука в том, что курсор постоянно фоне индексирует рабочую директорию, создает векторные ембединги и, вероятно, поддерживает какую-то карту знаний внутри себя

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

@codebase это ровно про это, вы просто меншните его через собачку и пишете свой запрос. Можно прям в формате вопроса, пример: “где у нас ручка, которая открывает тестовую подписку на 2 недели?”. Курсор хорошо справляется с таким.

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



Возможно, в следующий раз напишу про Notepads. Это относительно новая фича, я ее сперва не понял а потом как понял
Статическая типизация + AI = ❤️

Composer в Cursor с недавних пор поумнел. Когда он вносит изменения в код, он проверяет, не возникло ли ошибок компиляции/линтинга и, если видит их, пытается их пофиксить.

Но, вот, что меня по-настоящему впечатлило - ошибки, которые он допустил, были связаны с тем, что он неправильно сослался на типы, объявленные в коде. Он сам догадался, в какой файл надо заглянуть, чтобы понять, что он сделал не так. Прямо как человек! Затем он внес новые правки и код заработал

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

Итог - статические языки намного более AI friendly, чем динамические. На основной работе я вынужден время от времени сталкиваться с javascript, и как человек, который постоянно юзает ИИ для программирования я ощущаю разницу.

Кстати, сюда же любая документация - комментарии в коде, markdown файлы и так далее. Крайне желательно, прямо в репе. Дайте вашему ИИ больше контекста!
🎄С Новым годом, друзья!

В этом году ИИ ворвался в мою жизнь программиста, больше всего в виде Cursor и ChatGPT. Как думаете, что нас ждет в следующем?

В одном из предыдущих постов я предсказывал, что мы движемся в сторону полной автоматизации программирования. Прошло два месяца, и, разумеется, никаких причин для изменений тут не произошло. Напротив, я вижу, как развиваются ИИ-инструменты: редакторы (Cursor/Windsurf/Zed), площадки, такие как v0 от Vercel, которые генерируют готовый фронтенд, и “full-stack” платформы, что доводят дело аж до деплоя приложения.

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

Мои прогнозы на 2025

• Курсор останется доминирующим ИИ-редактором, но его доля относительно VSCode, JetBrains и Vim останется невелика, хотя и увеличится. В первую очередь пересядут юзеры GitHub Copilot, которые сидят на VSCode.
• Спрос на умение работать с LLM вырастет, но не станет чем-то дефолтным, как умение работать с базами данных.
• Super AGI в следующем году не будет. Маски и Альтманы нагоняют, потому что им это выгодно. Но появятся модельки уровня o1, которые будут дешевыми, как 4o, и это сильно отразится на UX/DX продуктов с ИИ.
• К концу года у нас будут доступные модели для генерации видео. Видео будут на уровне сегодняшних изображений, то есть неотличимы от реальности. Но промпт-инжиниринг в генерации видео будет играть большую роль.

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

И, это самое, все эти прогнозы — это чисто субъективное мнение, не основанное ни на чем, кроме моих ощущений.
3 Лучших Поста

Каналу почти 3 месяца и за это время в нем накопилось чуть больше 30 постов. Перед вами 3 самых, на мой взгляд, интересных:

1) Сингулярность на горизонте - Как далеко мы от полной автоматизации программирования? Инсайты от человека из индустрии, который понимает, как устроена разработка, и как её можно автоматизировать с помощью LLM.

2) Чем программист отличается от LLM? - Размышления о том, чем отличается мышление машины от человеческого, и какие шаги нужно предпринять, чтобы их эффективность сравнялась.

3) Статическая типизация + AI = ❤️ - Почему статически типизированные языки (Java, Go, TypeScript и другие) работают лучше с LLM, чем динамически типизированные (Python, JavaScript и другие).



AI Coder - это канал от Senior Full Stack Developer с опытом более 10 лет. Я использую ИИ как вспомогательный инструмент, а также интегрирую LLM в существующие системы. Пишу про применение ИИ в области программирования, как для разработчиков, так и для мимокрокодилов
Не забываем включать новые модельки в настройках курсора

CMD+Shift+P -> Cursor Settings -> Models

Для тех, кто не в курсе - deepseek r1 это модель уровня o1, но дешевле. Не знаю, входят ли они в стоимость подписки на курсор, но думаю, что потестить стоит
Github Copilot Теперь Бесплатный

Как пересел на курсор, перестал читать release notes к вскоду, а зря. Оказывается, в декабре они выпустили бесплатный тариф для копилота. Уверен, что хуже курсора (как минимум нагрузка на сервера будет выше), но попробовать стоит, особенно если 20$/месяц вас останавливали.

Если вы в РФ, скорее всего, ничего не выйдет. Но я думаю есть альтернативы. Если попадется, обязательно напишу
Как работают LLM? Объясняет основатель OpenAI

Вышла видяшка на 3 часа от Андрея Карпатого, сооснователя OpenAI и ныне директора по ИИ в Tesla. Обещает объяснить как устроены нейронки, чтобы у вас была правильная интуиция при работе с ними. Причем, объяснить обещает без матана. Будем смотреть?
Perplexity добавили deep-research как в ChatGPT PRO, только там это стоит 200$, а тут бесплатно. Интересно, как оно по качеству?
AI Coder 🦾
Как работают LLM? Объясняет основатель OpenAI Вышла видяшка на 3 часа от Андрея Карпатого, сооснователя OpenAI и ныне директора по ИИ в Tesla. Обещает объяснить как устроены нейронки, чтобы у вас была правильная интуиция при работе с ними. Причем, объяснить…
Почему LLM галлюционируют?

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

Он объясняет это так - языковая модель это огромная формула, которая вычисляет вероятности следующих токенов, на основе статисики из своего training set, и для нее по-умолчанию нет разницы между вопросом, который предполагает знание какого-то факта и вопросом, ответ на который надо придумать. Иными словами, она “не знает”, что она чего-то не знает.

В последнем ChatGPT, видимо, добавили дополнительный шаг чтобы перед отправкой запроса в модель поисходило обогащение контекста (RAG) через интернет, поэтому хитрый Карпатый приказал не жульничать. В итоге модель, как и ожидалось, выдала полную отсебятину.
Бесплатный DeepSearch и Reasoning круче чем в OpenAI

Если кто пропустил, то релизнулась последняя моделька от xAI (компания Маска), там бесплатно доступны “размышление” и “глубокий рисерч”. Я тестирую прямо сейчас и первое впечатление позитивное, по слухам в интернете тоже работает хорошо. У бесплатной версии наверняка есть лимиты, ибо также предлагается SuperGrok за 30$ в месяц (дороже, чем OpenAI Plus, но намного дешевле чем PRO). Затестим?

https://grok.com/

—-

Upd: 5 рисёрчей в день на фришке
Пусть ChatGPT видит нашими глазами и подсказывает 👀

Бывает сидишь, делаешь что-то, и что-то непонятно. Хочется, чтобы бы рядом сидел кто-то, кто разбирается и у кого можно просто взять и спросить.

Вот, например, на криптобирже Bybit меня заинтереосвал инструмент пассивного дохода “Dual Asset”, но я понятия не имею, что это.

Раньше в таких ситуациях я делал скриншот, переключался в ChatGPT и заливал его туда, затем писал свой вопрос и, наконец, получал ответ. И, знаете, что? Оказывается, все это время можно было намного проще!

Надо чтобы ChatGPT Desktop был установлен на вашем компьютере! Скачать можно тут

1. Открываем окно быстрого доступа к ChatGPT (Cmd+O на маке)
2. Нажимаем + и выбираем take screenshot
3. Выбираем нужное нам окно (в моем случае это окно со страничкой биржи Bybit)
4. Пишем свой вопрос

Вуаля! Теперь мы знаем, что такое Dual Asset. (Спойлер: это рисковая штука)

И да, я знаю, что Bybit недавно взломали
Cursor обновился

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

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

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

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

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

Кайф!