Pull to refresh

Comments 65

Скажу сразу - я посредственный программист, и не зарабатываю на жизнь программированием. Мой опыт в разработке очень невелик, всего я программирую около 15 лет, да ещё и не на постоянной основе. Но всё же, выскажусь.
1. Нейронки(в моём случае chatGPT) - это отличный инструмент для быстрого обучения, углубления знаний итд. Это как "умный справочник", который скажет "не надо тут костылить, возьми библиотеку X, там есть хорошая реализация того, что тебе надо, документация и вообще все используют X"
2. Они могут давать советы по стилю и оформлению.
3. Могут разобрать особо изощрённый код типа "чёрная магия сишных указателей"
4. Они могут генерировать шаблон кода для заполнения. Я знаю, что если тебе приходится много писать, то ты что-то пишешь неправильно, но иногда надо быстро написать write only код, сделать дело и забыть.

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

Мой опыт в разработке очень невелик

всего я программирую около 15 лет

Тонко

Этот опыт - суммарное время от первой строчки кода до сегодняшнего дня. Я никогда не работал программистом, так что опыт смело можно делить на 10.

Полностью согласен про обучение с нейронками.

В коммерческой разработке они полезны однозначно, но еще не везде пришли к этой мысли – это видно даже по комментариям ниже.

Я бы на самом деле поменял местами надписи.

Да пожалуйста, мне не жалко

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

У нас же уже были компиляторы, стат анализаторы, ну стали они умнее и что.

А какого размера у вас проекты, что достаточно только собрать их в txt и в промпте скормить нейронке? 128к контекст (именно такой почти у всех нейронок, кроме 1M у Gemini) это примерно 6-12к строк кода (а помимо них в контекст еще входит и все дальнейшее общение в чате и сгенерированные части кода).

Вся прелесть Cursor и аналогов - в умении работать с большими проектами, RAG, векторный поиск и вот это все.

P.S. "Какой-то чувак из Tesla" - её бывший директор по ИИ и сооснователь OpenAI Андрей Карпаты)

Да он сам пишет: микроскопические проекты с одинаковым бойлерплейтом.

Понятно, что надоело в сотый раз повторять один и тот же код

Еще я пишу что не нужно пихать в контекст весь код :)

Вижу что выкупили иронию о каком-то чуваке из Тесла!

Сейчас в работе 2 проекта в одном около 6 тысяч строк, в другом – даже не считал, наверное под 100к.

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

Фокус в том, что для активной работы над какой-то частью проекта вам нужно держать контекст в районе 1.5-3 тысяч строк. Для этого вполне хватает моделей типа O1-O3-mini-high.

P.S. Единственная прелесть Cursor, как по мне, в том, что он умеет создавать файлы и генерировать исполняемые команды.

Но вы же пишете про snap2txt? Расскажите как работаете в рамках проекта на 100к строк: у вас несколько заготовленных контекстов под разные типы задач, в контексте лежит только общий скелет и информация, а уже детальную информацию ИИ получает через агентов сам, ...?

Мне интересно как это устроено и в чем разница в ux с тем же cursor.

Я пишу про snap2txt что это утилита для создания контекста. Где его использовать, в Cursor или в AI-чате – уже за пределами задач этой утилиты.

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

В UI Курсора есть опция натыкать нужные файлы вручную, но это неудобно если вам нужно, например, содержимое несколько каталогов или почти весь проект без каких-то конкретных файлов. Проще сунуть ему в контекст 1 файл, чем 10 или даже 3.

Файл же с контекстом я обновляю вручную запуском моей утилиты, в зависимости от задачи.

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

Cursor платный и для оплаты нужна VISA.

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

Разве при огромном контексте он не забывает старое?

У меня только 10% контекста работает и х10 нужно для правок. То есть 100к хватает только на 1к кода.

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

Также использую в разработке приложения (100+ таблиц в БД, 50+ страниц на UI, микросервисы).
Опыт с LLM:
+ помогают входить в новую область
+ генерят сниппеты
+ генерят диаграммы кода и процессов
+ рефакторят код (но обязательно diff под рукой)
+ неплохо помогают в SQL запросах
- лажают на сложных проектах и задачах
- теряют контекст на больших портянках кода
- иногда меняют код на свое усмотрение, поэтому, еще раз, diff для проверки обязателен
- если в чате более 5-10 запросов, зацикливается

За snap2txt спасибо, спернул себе. 35 лет в коде, если что. :)

Ваш опыт интересен, но комментарий мог бы быть более полезен если указать конкретные LLM, с которыми наступили на эти минусы и получили плюсы

Спасибо, учту. Обязательно расскажу в будущих постах.

Точно, не заметил! Но я все равно напишу :)

Anthropic и OpenAI.

Оба платные и оба в режиме Chat и API.

Из-за вышеописанных проблем текущие проекты используют AI API только для коротких задач, как в Shrek 2 (говори с папой короткими фразами, а то он...)

То что вы описываете в минусах – это всего лишь проблема контекста. Не нужно держать весь проект в контексте, в этом просто нет смысла. Активную рабочую область можно ограничить до 3к строк, это тянет почти любая доступная сейчас модель.

Именно так и делаю.

Но я описывал не как растопырился, а что отметил при использовании.

3к строк

Даже если столько засунуть в контекст (в режиме чата не выйдет, только в IDE) LLM всё равно больше чем 300 строк эффективно использовать не умеет, начинает глючить

Согласен что на большом контексте может начать глючить – это факт.

Но, во-первых 3к это довольно много, часто можно сузить контекст. Во-вторых, и на 3к-контекст выдает нормально, зависит от модели: те же O1-O3-mini-high читают и дают полностью переписанными файлы на сотни строк (да, больше 300), при необходимости и на тысячу-полторы. Так что утверждение сомнительное, зависит от модели которую используете.

У меня даже с миллионом контекста без багов он с 500 строчками работает раз 5.потом говоришь ему сделай то, он делает, а в нескольких местах код переписывает. Дальше хуже и хуже.

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

Зависит от того как ставишь задачу :) Тут как и с живым человеком (мид/пре-мид).

Можете подсказать, в каком формате и с каким промтом вы генерируете диаграммы?

Можете подсказать, в каком формате и с каким промтом вы генерируете диаграммы?

Mermaid
Еще понимает Draw.io - "нарисуй в формате Draw.io".

Пример Mermaid. Результат большой, но зато картинка дает представление

Для себя, чтоб понять архитектуру проекта

Проблему с "зацикливанием" решить можно в двух направлениях:
1. В такие моменты подключать более мощную модель. Как правило, и более дорогую (Claude Sonett 3.7, из того, что я знаю на сегодня). Но оно того стоит в таких ситуациях.
2. Погуглить, найти что нибудь типа ветки на StackOverflow или куска официальной документации по библиотеке и подкинуть в контекст. Часто Claude выручает там, где не справляется Gemini. Но иногда и Клоду приходится подкидывать в контекст "дровишек".

После выхода DeepSeek решил попробовать нейронки в работе, пути обратно теперь уже не будет) Попробовал разные, в итоге на постоянной основе использую Claude + ChatGPT в бесплатной версии, даже в режиме чата позволяют здорово экономить время.

Да, для точечных задач вполне хватает Дипсика и бесплатного чатика. Но вот их продвинутые модели в подписке – это где реально можно развернуться.

Что будет если средний программист на пару с нейронкой станет производить в 10 раз больше софта? Понадобится еще больше софта

Не хочу спорить, а именно понять логическую цепочку. Почему должно появиться ещё больше софта?

Это как инвесторы в Газпром весной 2008 года - святая вера что газа рынку нужно будет больше и больше, а сам Газпром скоро будет стоить 1Т.

Просто потому что "поза давит".

Очень остроумная аналогия с Газпромом – сами придумали?

Предлагаю вам другую, на подумать: сколько было сайтов в интернете в 2008 и сколько сечас? И почему так получилось? Ответы можете оставить себе :)

У газпрома так и было бы, если бы не внешние факторы.

Все просто. Чем больше инструментов, тем больше идей рождается. Софт плодит софт – как кролики. Простая арифметика: больше рук с AI = больше шансов что-то наделать.

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

Эти идеи софта в руках программиста с ИИ примерно то же самое, что идеи бизнеса у вчерашнего клерка. Ну появится ещё 2 палатки с шаурмой, как это на занятость повлияет - никак.

"Почему должно появиться ещё больше софта? "

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

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

Дополнение к моему предыдущему комментарию.

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

Конкуренция, зачем в ит менеджеров, девопсов, тестеров набрали. Нахрен они нужны. Программисты сами всё сделают, ну будет код раз в неделю вылетать, баги пофиксят потом.

Нашёл в гпт профессора. Слава Б-гу хоть, что не отца

А кто-то находит в этом психотерапевта, попробуйте – вдруг поможет :)

Спасибо, что продемонстрировали уровень адептов секты "ии нас всех заменит"

Заминусил, молодец, показал, кто главный :)

У меня такая же утилита только на питон и php. Но суть тут не в этом. Не всегда контекст можно удержать в 3к строк. Я бы даже сказал, что чаще не удержать нормально, если только совсем локально не писать что-то. Я Клод платный использую, так он начинает дублироваться, когда у него мало понимания о проекте. А 3к строк это маловато - 5 файлов +-. Про крайней мере я делаю всякие плагины для себя под wordpress, писал игру кодовые имена на реакт + нода (code-names ru) и это вот так с 5 файлами у меня не работало. Всегда старался загрузить по максимуму связанные элементы, чтоб этот бредогенератор мне не начал делать что-то не так.

В целом выглядит как будто бы учить программирование с 0 сейчас не самая лучшая идея 😃 скорость развития промпт-программирования будут в разы быстрее развиваться, я думаю. Только если до хорошего спеца дорасти получится, а средний уровень в типовых задачах лет через 5 будет не у дел, когда контекст станет в 10 раз больше и можно будет загрузить под 0.5-1 млн строк кода за вменяемые деньги и этот код будет нормально извлекаться и обрабатываться, то скорость написания говно кода будет выше, чем у обычно программиста. Ещё, конечно, надо вопрос с говнокодом решать. Клод в этом не просто спец, а мастер. Из-за того, что это все таки не человек и порой ему непонятна какая-то простейшая логическая задача, рождается пару сотен строк кода. И чем умнее модели, тем больше сотен говно кода рождается (по крайней мере у Клода). Грок в этом плане менее самодеятельный по ощущениям, но чуть более глупый, поэтому пока сижу на клоде.

В данном случае помогает методологический подход - декомпозиция.

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

Да и до сих пор Copilot в VS Code — это худший инструмент для разработки с нейронками.

Да ну)
Автокомплит, чат - да, такое
Edits - да, похуже курсора работает.
А вот Agent mode - просто бомба, курсоровский агент и рядом не стоял
Лучше только Claude Code

Claude - силен, подтверждаю. Но дороговат. Gemini Flash 2.0 Lite справляется на 90%. Если не справляется, подключаем Колда и возвращаемся в Gemini. Главное иметь хороший пошаговый план (ТЗ), который, конечно же, предварительно генерируем в паре с LLM, начиная с разработки достаточно подробной семантической модели.

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

а откуда цифра в 10 лет? Напоминаю, что чуть более, чем 2 года назад, ЛЛМок как таковых вообще еще не было)

Это не пузырь и ничего не лопнет. Не отставайте.

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

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

Но я верю, что это временно. Системы становятся умнее. Через пару лет, возможно, необходимость вникать в детали вообще отпадет. AI будет писать, проверять и деплоить, автоматический мониторинг – мониторить, а программист превратится в оператора.

Точно также говорили индусы 20 лет назад. Американцы тогда нааутсорсили им проектов на триллионы баксов. Индусы накалдырили им кода рваным тапком, сказали "там дальше оно само пойдёт" и... убежали. И потом побитые американцы в слезах принесли легаси индусокод в СНГ. И не побоюсь этого слова - СНГ до сих пор продолжает разработку и поддержку этих систем.

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

Полностью срезонировало. Успехов автору и его читателям.

Sign up to leave a comment.

Articles