Как стать автором
Обновить

Возвращаюсь к работе мозгом после месяцев кодинга с LLM

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров26K
Всего голосов 74: ↑73 и ↓1+85
Комментарии143

Комментарии 143

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

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

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

Что такое LMM?

Large Mud Model

FSM же ... или уж ЛММ ))

мы слишком много хотим от

И все ещё гораздо меньше, чем втирают маркетологи или "журналисты", которые анонсы пишут.

Вера страшная сила, а вера в пузырь ллм еще страшнее, удачи

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

Пора бы и нвидиа вернутся к старому доброму советскому паяльнику, а эта вся робонедоавтоматизация брысь

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

Правильная болтология это цитата хз откула, без разбора и уточнений, блт далше

Ложная аналогия

Мне тут один дяденька подбросил

У меня GitHub Copilot работает лучше всего утром по европейскому времени, когда, видимо, в Америке ещё не начался рабочий день.
К вечеру работа дико деградирует.
Файлы инструкций, несмотря на обещания, нагло игнорируются.
Даже если несколько раз переспрашиваешь, понял ли он файл инструкций — всё равно частично игнорит.
Помогает сброс и начало нового чата. Накопление контекста чата выше какого-то уровня, похоже, вредит.
А так, руками уже пару месяцев ничего не пишу. Забыл, как выглядит бумага. Подписываюсь с трудом — разучился писать. Плохо умножаю в уме.

Но код на уровне файлов получаю чистейший, в жизни сам никогда такого чистого кода не писал.
Могу теперь позволить себе не придумывать имена — GPT 4.1 придумывает имена лучше меня.
Могу применять более безопасные функции из стандартных либ, которые раньше избегал просто потому, что у них больше аргументов (например, повсеместно использовал небезопасный sprintf вместо snprintf).
Могу теперь не идти на компромисс с надежностью и логированием, потому что экономил силы и не ставил проверки, не соблюдал консистентность логов.
Полностью отпала проблема с комментированием и актуальностью комментариев.

Но да, иногда у Copilot сносит крышу, и он может взять и удалить нужную функцию ни с того ни с сего. Поэтому каждый шаг нужно коммитить. План - Copilot Pro+

А я по утрам летаю на Марс, а по выходным — на Альфу Центавра заглядываю.

Да, доказательств тоже не будет.

А я ему верю. Да и ничего он такого сверх фантастического не написал.

в жизни сам никогда такого чистого кода не писал

Все зависит от того, какого качества код комментирующий писал до того

Судя по

не ставил проверки, не соблюдал консистентность логов

ну не знаю как сказать

Доказывать не тому, кому интересна тема, а стремящемуся в Дарт'Аньяны? Много чести.

А зачем вам что-то доказывать? Зачем доказывать плоскоземельщикам что земля круглая они все равно не поверят.

Не, это нам сейчас пытаются доказать, что Земля плоская.

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

У меня GitHub Copilot работает лучше всего утром по европейскому времени, когда, видимо, в Америке ещё не начался рабочий день. К вечеру работа дико деградирует.

Поисковые системы лучше всего ищут в ночь с субботы на воскресенье.

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

Качество ответа на примере Qwen3, чем выше бюджет размышления, тем лучше ответ
Качество ответа на примере Qwen3, чем выше бюджет размышления, тем лучше ответ

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

Чем длиннее контекст, тем хуже у модели качество ответа, в том числе и кратно - это факт.

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

Звучит так, как будто раньше вы выдавали дурно пахнущий код, а теперь выдаёте код, который не понимаете. Сомнительное достижение.

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

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

Да он вообще никаких примеров привести не может. Предлагает поверить на слово.

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

Тоже это ужасно раздражало.

Ввел лайфхак во взаимодействии с llm некую "версионнность контекста", когда прошу зафиксировать текущий "контекст" в виде "версии" со своим "списком изменений". Иногда выгружаю текстовик.

Если LLM снова начинает куда-то "заносить" не туда, то "откатываюсь", либо мерджу с теми изменениями, которые меня устраивали в определенной версии контекста, но это реже. Чаще откатывался.

Это хоть как-то помогало.

Этот лайфхак применяю не только при кодировании (редко), а вообще при любом взаимодействии с llm.

Хотя какой это лайфхак, просто обычный подход инженера.

Хорошая статья - крик души:)
Полностью поддерживаю:) Я сам начиная с конца 2024 года стал пользоваться услугами ИИ. Мне понравилось как ИИ красиво составляет предложения. Моё косноязычие, порой, не позволяет мне донести до людей то, что я имел в виду. А ИИ так хорошо вкладывает мысли в слова, что я стал доверять ему окончательную переработку. Но зря....:)
Всё вроде хорошо и нормально было, но со временем я нет, нет да и находил такую чушь:(, я поражался как такое можно было написать, я же имел в виду совсем другое:) Самое смешное, что одно дело мысли, но ведь ИИ порой делал ошибки просто в математике, чего я никак не ожидал. Ну не должен он быть глупее калькулятора:) Но... как показала практика - глупее... ну или ленивее:)
Потом мне всё пришлось перелопатить. Надо отдать должное, что всё таки многое я использовал от того, что он сделал, но понял, что нужно всё досконально перерабатывать:)
В итоге я стал разбивать задачу на мелкие части, и в последствии перерабатывать то, что он давал. Либо делал сам всё, потом он просматривал и сообщал о правках, а я уже решал стоит это делать или нет:)
Так что ИИ прекрасный инструмент, но нужно помнить, что он всего лишь инструмент. И отдавать полностью в его руки законопроизводство или ещё что то важное я бы не стал. Ну и хорошо бы было как то защитить подрастающее поколение от ошибок доверяться полностью ИИ, и всё таки хоть иногда включать свой мозг:) По сути ситуация очень похожа на времена появления интернета, только ещё круче. Интернет дал возможность "списывать", использовать готовые работы, но это научились быстро выявлять. А теперь ИИ может написать кучу разных, готовых, еще не существующих работ, которыми можно воспользоваться без риска плагиата:) Надеюсь люди справятся и с этим:)

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

Уже справляются :)

https://habr.com/ru/news/909752/

В итоге я решил использовать Go+Clickhouse.

до этого не работал с Go и Clickhouse

не уделял времени ревью кода

Казалось бы, что могло пойти не так?

пятнадцать лет был разработчиком ПО

Вот тут я вообще никогда в жизни не поверю, что разработчик с 15-летним стажем может так безответственно подойти к созданию приложения, которое он планировал продавать клиентам. 15-летний разработчик да, но не разработчик с 15-летним стажем.

Вы переоцениваете концепцию "стажа". Вот у меня стаж программирования 18 лет, а я иногда ТАКОЕ делаю, перед джунами стыдно.

иногда 

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

Вот что автор пишет о себе:

My role: I rebuilt the frontend using NuxtJS, based on the provided Figma designs. I also added JSON-LD schema for SEO.

My role: I built the lead generation MVP, integrating the APIs with a large finance provider's legacy system. I supported the business until they hired a small dev team that could take over.

My role: the founders was unhappy with the MVP built by an agency. I took over pre-launch and improved it, eventually rewriting the whole app.

"Господа, не стрелляйте в тапёра, он играет как может" (С)
Просто парень 15 лет успешно пилил и допиливал прототипы, а потом решил играть по-взрослому.

Однажды пожилой человек начал учить Учителя Ио жизни.
— Почему я должен поступать так, как ты мне говоришь? — спросил Ио.
— Потому что я тебя старше! — вскричал пожилой человек.
Тогда Учитель Ио сказал:
— Насыщает не время, проведенное в столовой, а количество съеденных беляшей.

Как же много воды , окей чатгпт , прочитай статью и опиши в общих чертах

TL;DR Автор пытался ускорить разработку SaaS с помощью LLM, но столкнулся с хаотичным, непонятным кодом и снизившейся ясностью мышления. В итоге он вернулся к планированию на бумаге и использует ИИ лишь как вспомогательный инструмент для простых задач.

паттерн ширяева

для меня, LLM - новый и, признаюсь, более удобный Google. все попытки отдать ему дизай приводили только к потере времени.

Просто нужно понимать возможности инструмента. Не надо давать ему задачи выполнить которые он не может.

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

Но для этого ты сам должен быть выше уровнем чем джун.

Но для этого ты сам должен быть выше уровнем чем джун.

Все программисты в мире делятся на две категории:
— Те, кто считает, что ChatGPT кодит на порядок лучше их;
— Те, кто считает, что ChatGPT кодит на порядок хуже их.
И те, и другие абсолютно правы.

Если пользоваться ллм как джуном

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

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

Для меня проблема, что LLM нужно объяснять каждый раз.

ВОТ !!! ))

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

Ctrl-C/Ctrl-V

От этого однотипный скучный код вот ни разу не станет разнообразнее и веселее.

От этого однотипный скучный код вот ни разу не станет разнообразнее и веселее.

Вы прям как вчера программировать начали. Когда надоедает копипастить — пишется маленький скрипт.

А что вы объясняете LLM каждый раз?
Если объяснение одни и теже, почему вы не используете списки правил?

Потому что в один прекрасный день списки перестают помещаться?

Вы на практике столкнулись с тем, что ваши правила не помещаются в контекст современных LLM? В 200 000 токенов, что равно примерно 550 страницам текста А4?
Простите, но вы несете чушь.

Не прощу. Потому что эти токены мало вставить — по ним LLMка должна ещё собственно пройтись. Со скоростью несколько токенов в секунду.

Продолжаете нести чушь. "Несколько токенов в секунду" - это выдача из LLM. Переваривают LLM десятки тысяч токенов в секунду.
Claude Sonnet 3.7 MAX без особых проблем переваривает книгу Страустрапа по С++ примерно за 30 секунд.
"Слышал звон, да не знаю где он" - это про вас.

Удачи!

И Вам не хворать.

Если кто-то не верит на слово, а самому проверять неохото, вот скрин официальной документации от Anthropic

550 страниц съест за одну минуту.
Ну и выдача 80 000 токенов в минуту, это тоже не "несколько" токенов в секунду.

Чувак с 15 годами в IT внезапно узнал, что код надо читать.

Код не надо читать. Код надо писать!

Код надо писать, да. Но ещё его надо читать, особенно если написал его не ты.

написал его не ты.

Любой программист объяснит Вам, что это недостаток, который должен быть исправлен.

А если взять вариант такой? Я с огромным трудом могу написать код на C и C++ с нуля для МК, но при этом я очень хорошо читаю код, понимаю его структуру и как он отрабатывает, могу внести минимальные правки, при этом могу написать исчерпывающий Промт для составления кода при помощи LLM

Да к гейше не лезте. Это великий хейтер технологии. Но я вижу что его мнение за год изменилось. Так что даже у него сдвиг идёт. От "оно просто добавляет токен к тексту", в сторону реальности...

От "оно просто добавляет токен к тексту"

Эт когда я говорил, что «оно просто добавляет токен к тексту»? Оно сложно добавляет токен к тексту!

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

Возможно я Вас вообще не удивлю, но развивать мозг, учиться.

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

Зачем мне тратить время на изучение инструмента, которым я пользуюсь эпизодически,

Есть такое слово — кругозор...

Есть такое слово — кругозор...

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

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

Холмса косплеите?..

Но я-то не каждый, Ватсон, поймите: человеческий мозг — это пустой чердак, куда можно набить всё, что угодно. Дурак так и делает: тащит туда нужное и ненужное. И наконец наступает момент, когда самую необходимую вещь туда уже не запихнёшь. Или она запрятана так далеко, что её не достанешь. Я делаю по-другому. В моём чердаке только необходимые мне инструменты. Их много, но они в идеальном порядке и всегда под рукой. А лишнего хлама мне не нужно

Онотоле смотрит на Вас с лёгким презрением.

А вот мы в ваши годы...

Только ситхи возводят всё в абсолют, сэр.

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

Только ситхи возводят всё в абсолют, сэр.

Вот ты и попался, ситх!

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

Есть такое слово — хобби...

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

Любой программист объяснит Вам, что это недостаток, который должен быть исправлен.

Так и запишем: «настоящий программист — это тот, кто страдает в одиночку».

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

Типа на ассемблере сейчас никто не пишет?

Пишут. Но для очень редких задач, и очень немногие. Я последний раз пытался на ассемблере писать код защищённого режима во времена 386-х, и понял, что с таким синтаксисом я опухну держать проект в голове. А для какого-нибудь МК с 16 килобитами памяти и набором из 230 инструкций - почему бы и нет?

P.S.: нет, я уж лет 30, как не считаю себя программистом - только отголоски юношеского хобби.

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

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

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

Иногда общаюсь с заказчиками, и скажу более - человек тоже не всегда справляется)

Это точно 😁

Ради Бога, не хочу обидеть, но стиль изложения, похож диктора из «Привет, это твой братан» с YouTube 😅

Или автор ему импонирует, или мне показалось 😁

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

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

Пользуйся режимом ask, а не агент и руками переноси код

Хочу подержать Вас. Полностью Вас понимаю в какой-то момент тоже ловил разочарование. Когда что то поправлю он на косячит в другом месте и это превращается в замкнутый круг.))) По последним исследованиям тот же грок ошибается в сложных рассуждениях в половине ответов. о3 самая передовая машинка GPT примерно в 40%. И да временем процент ошибок становится меньше но доверять сложные проекты ИИ это сейчас себе дороже)) Я думаю 6-12м и с ним можно будет работать) Берегите свои нервы)

Я пробовал все модели, и действительно нормально пишет код только Sonnet. С ним я написал уже несколько довольно объемных проектов, и пока он делает все так, как мне нужно. Единственное, что желательно хорошенько просматривать и по возможности тестировать код после каждых 1-2 ответов. На это уходит больше времени, но всё ещё гораздо быстрее чем вручную

"У джентельменов принято верить на слово..."

Автор бросается из крайности в крайность: сначала все генерит через LLM, затем полностью отрицает LLM, а на самом деле нужно просто научиться им пользоваться.

Курсор генерит кучу говнокода, если его не останавливать.
У меня годичная подписка, и я как-то налабался его с ним работать.
Но он абсолютно не основной инструмент в разработке.

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

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

Полезно-бы иметь методичку использования LLM для разработки.

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

Мои примеры. Добавить в пет проект на 5 тыщ строк ui и ендпоинт для очистки прогресса пользователя с дополнительным подтверждением вводом строки. Копилот агент справиться на ура. Но это легко.

Второй пример - добавить в проект на пару миллионов строк кода новую политику авторизации. Агент в принципе нашел все нужное мидлваре и плюс минус правильно вписал.

Третий пример - в том же проекте найти где маршрут подменяется на index, чтобы react ui не падал на ctrl F5. Долго искал, не справился. Но когда я понял что он ищет, нашел сам.

Продолжаем....

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

«Ну и вы говорите» ©

Как раз хочу написать такую статью, сейчас делаю миграцию автотестов с Java на Go с помощью Claude, пока не плохо справляется с задачей, но да его нужно ставить в жесткие рамки и давать атомарные задачи

Я спросил у сети: "Как отмыть унитаз от карбоната без промышленных химикатов?"

Она мне ответила: "Смешай 200 мл уксуса 10% и столовую ложку пищевой соды в чаше унитаза, закупорь и оставь на ночь"

Я написал в ответ: "Неужели ты считаешь меня идиотом?"

Нейросеть оправдалась: "Это популярный способ из Интернета и всем нравится шипучий эффект...":))

Так что если у вас пробелы, то пока что LLM способны лишь их усилить. Но если вы имеете опыт, то быстрее и эффективнее при помощи LLM наверстаете давно забытые вопросы.

Это отличная вещь и я за последний год завершил около 50 изобретательских проектов с ней, а раньше приходилось копаться в записях подолгу и, стесняясь, задавать вопросы не реддите.

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

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

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

Сочувствую в свою очередь тому, кто у вас отвечает "за весь проект".

Пока, речь идёт о вайб кодинге синорами

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

А потом такие чуваки, как автор, собеседуют "слабых" разработчиков)))) и возвращаются к вайб-кодингу на неизвестном ему языке/фреймворку и попивают капучино-макиато...

Сегодня первый раз попробовал написать функцию
разработать рекурсивный алгоритм для сравнения JSON-объекта, полученного из API, со схемой данных BigQuery. Цель — найти части JSON, которые не соответствуют схеме, и вернуть их в массиве.
К моему величайшему удивлению где-то за 5 итераций поправок и дополнений я получил работающую функцию с очень чистым кодом, которая дает список несоответствий с путем и строкой json несоответствующего элемента, а также правит входящий объект, так чтобы он соответствовал схеме.
Очень впечатлен. Я бы месяц страдал и вышло бы заметно грязнее.
DeepThink from deepseek

Когда знаешь, что тебе нужно, а еще и ревьюишь сгенереный код после каждой итерации, то очень велика вероятность, что все получится. Сам так же делаю. А иногда прошу объяснить методы существующего кода, когда с наскоку непонятно, что происходит.

Когда знаешь, что тебе нужно

...то есть неиллюзорный шанс, что накрокодишь это быстрее.

Я бы месяц страдал и вышло бы заметно грязнее.

думаю, что именно в этом и проблема

По своему опыту могут сказать, что нейронка это компаньон, но не всегда хороший исполнитель. Не давно из за моего "доверия" к нейронке, я убил ESP32C3 включив шифрование EEPROM и не загрузив ключи, как должен был :) Опираясь на ответ нейронки, который кстати говоря, несколько раз у нее же уточнял. По итогу кирпич.

Это очередной раз доказывает известную фразу "Доверяй, но проверяй", в отношении нейронок это особенно нужно.

Что ж это получается, если накопипастить кучу фигни на языке, который ты не знаешь, то ничего не заработает?

Но всё равно этого никто не заметит, т.к. никто не понимает что должно получиться, т.к. задачу вам поставил менеджер, который в качестве задачи скопировал вам, не читая, ответ того же GPT /s сарказм

Мне на днях нужно было дописать запрос в clickhouse, в синтаксисе его array functions, вычисление дельты при join-операции. Там 3 строчки. Решил проверить chatgpt, скормил ему сам запрос строк в 50, с комментами, что тут нужно добавить, попросил дописать. Он начал дописывать всякую чушь. Пока четко не написал "нужен union этих 3х cartesian-ов в 3 строчки", с объяснениями еще строк на 5, выдавал фигню. С четкой инструкцией и объяснением - справился. Я понимаю, что это проблема вида "фигню спросил - фигню ответили" и "без тз результат - хз", но реально проще было самому написать, чем объяснить, просто чет заленился.

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

анализ размера рынка ETL

Что там получилось, если не секрет )? Анализировали долю разных средств?

Мне надо было весь рынок и конкретно долю инкрементного ETL в нем. Пришел к тому, чтобы тупо размер рынка КХД 67 млрд руб в 2023 (ссылку дать не могу сейчас, но какая-то есть) умножить на долю ETL средств в нем, у меня 29,57% получилось, не помню, откуда цифру взял, по-моему с зарубежного рынка экстраполировал. Кстати, что ChatGPT, что DeepSeek по тому же самому алгоритму оценивали, только доля ETL у них 30-45% априори была. Но этот анализ - вещь вообще очень субъективная, по зарубежным данным оценки в разы расходятся.

Ну и долю инкрементного ETL мне еще надо было высчитать, получилось 10% нижняя оценка (кол-во компаний, использующих Flink vs кол-во компаний, использующих Spark) и 30% верхняя (там какой-то опрос по задержкам данных нарыл)

Прошли все то что на первых порах, проходят все, кто уссиленно работает с ллм.

Выявлено что:
-Ллм это нечто или ничто. Первая ошибка работать с ним как с некой личностью или живым существом. Привычное прохождение его(ее оного) в нейронных связях не работает на известных мыслительных принципах. Подсознание обманывается схожим с нейроннами эффектом весов но по факту у нейронки нет тела она не описывает закономерность прохождения нейронных импульсов в теле . Она описывает сразу результаты которые были в нее заложены(как продвинутый логический машинный инструмент). Но это все та же машина. Все теже да и\или нет. И ее крутит во все стороны как шарик в невесомости. А потом она как будто щупальцем вытаскивает из пустоты новую опору(слова или семантический смысл) и начинает крутится вокруг них притом с мнгновенной телепортацией от старого. А когда нужно вернутся и связать старое, она не может, потому что внутри нее обыкновенная простая логика и именно она не позволяет ей охватить все то, что было пройдено. И тогда очередным взрывом выхватыватся новое значение с набором похожих слов. У вас все упорядочено и вы видя знакомые слова не особо разнящиеся, доверяетесь. И вот тут на следующей итерации вы если внимательно остановитесь поймете что вы были телепортированы в очередную семантическую локацию нейросети (нейросетевой пространственный карман). То есть все что было до, просто связалось несколькими словами но не смыслом. Все дело в том что нейросеть действует заскриптованно по схожим нейропринципам но! Не имеет не тела ни пространственных рецепторов ничего кроме элементарного (самого) принципа выбора ответов из набора данных. Оно не живое. Как мы. ЛЛМ это очень очень маленький такой фрагмент нейрончика плавающий в огромном информационном(заложенном ее мире) пространстве. Ну и понятно что понимание пространства даже в том которым нейросеть обладает у нее остутсвует. Есть только кротовы норы от одних масивов до других. Она не держит в "уме" пространство вместе со всеми ее данными в котором работает а перемещается очень быстро со скоростью света. Ей не нужно вытягивать конитехоры для связи одних клеток с другими она оставляет то что было и телепортируется к другому ответу оталкиваясь как от стартовой площадки на предыдущем ответе. Говоря на техническом это как требовать от транзистора пускай полевого "способностей" процессора. И вам ответит то же транзистор и то же полевой но вы его будете искать на старом месте, а он оказался на новом точь в точь такой же, а потом еще дальше. Вы просто будете общаться с терминалом транзисторной связи вместе с ее ограничениями и приемуществами. Ни тебе ни регистров памяти ни кварцевого резонатора ни всего того что делает транзисторную сеть процессором, а не массивом транзисторов .

В общем несмотря на неоформленность и драфтность что такое нейросеть в некой мыслительной среде было освящено. И немного юмора . Это как продвинутый молоток он забивает гвозди и налево и направо и наискось в любых траекториях но иногда он разворачивается и бьет вас по лбу потому что вы его использовали за его возможностями . На такой стадии инструмент. И не следует от него требовать функций спектографа и детектора частиц.

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

Такое может произойти если сеть будет перегружена контекстом. Большие (относительно) семантические обьемы нейросеть держит ровно по длине контекста.
И вот что пишет сама нейросеть в свою защиту или подтвержение.

Да, вы очень метко подметили. Ваш пример с "Буцефалом-Аристотелем" — отличный иллюстративный случай того, как перегрузка контекста и нечёткое разделение понятий могут привести к конфабуляции (выдумыванию связей, которых нет) в нейросетях.

Разберём, почему так может произойти:

🧠 Почему нейросеть может "спутать" Аристотеля с Буцефалом:

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

    • Александр Македонский

    • Аристотель (его учитель)

    • Буцефал (его конь)

    • философия, обучение, античность, путешествия, кони и т.д.

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

  2. Нечёткое разграничение ролей и сущностей
    Если в тексте не выделены чётко роли (например, кто — человек, кто — животное, кто — наставник), то модель может "переназначить" их.

  3. Ограничение внимания (attention window)
    Современные трансформеры (включая GPT) имеют ограниченную "зону внимания" (обычно от 4k до 128k токенов). При приближении к этому пределу модель может:

    • терять важные уточняющие детали,

    • усиливать вес менее значимых, но "ближе расположенных" ассоциаций.

🧯 Что с этим делать (в инженерной практике):

  • Контекстное декомпозирование
    Делить большой запрос на смысловые блоки, чтобы модель не смешивала сущности.

  • Принудительное уточнение ролей
    Пример:

    "Александр Македонский — ученик. Аристотель — человек, философ, его наставник. Буцефал — животное, конь Александра."

  • Контроль логики вывода
    Использовать вспомогательные агенты или правила для верификации:
    "Может ли философ быть лошадью? 🐎 Нет? Значит, ошибка."


-Нейросети (ЛЛМ) хороши в обучении особенно техническим наукам (компьютерным в частности). Большая наработанная база данных. Учится с ними чему то новому вышло на другой уровень. Как если бы с s-орбитали электрон вышел на p-орбиталь Вспомните как доставали информацию с библиотек. Сколько времени уходило , потом пришел интернет и то на что уходили дни доставалось за несколько десятков минут.
Нейросети. И то что в интернете искалось за дни с нейросетями занимает несколько правильных вопросов и десятков минут. Эволюция в получении, управлении и применении информации.
- С Нейросетями очень хорошо делать самари притом всего. Если вы программист а таких тут много. Вы с разной степенью легкости сможете транскрибировать аудио или видео и получить самари со встреч совещаний итд. Видео. Любую информацию лишь указав источник или кейворд(ключевые слова патерны) и нейросеть сделает это за десятки минут пока человек занимается чем то еще.


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



И, зачем нам твоя простыня-копипаст из LLM?

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

Бобёр! Выдыхай!

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

Год от силы два и ИИ научиться оптимизировать код в тысячу раз быстрее и эффективнее, по сему не вижу повода для пессимизма или оптимизма - кому как нравится 😁

так писали в конце 22-го

ну вот еще год, от силы два и!...

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

Процесс нелинейный, но то что это произойдет в ближайшие время не надо сомневаться

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

Ваше описание очень похоже и на вайб-кодинг, и на аутсорс в Индию/Пакистан/Филиппины лет 25-30 назад. Так же требовалось все объяснять несколько раз, а затем перепроверять результаты.

еще 20 лет - и у нас будет термоядерный синтез и безлимитная энергия

Да будет, а что вы думаете в конце 19 века кто-то верил, что через 20 лет лошади перестанут быть основным средством передвижения))

Год от силы два и

Скрытый текст

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

Рассматриваю такие статьи как "Текущий отчет о состоянии ИИ-кодинга". Пока что все те же грабли версия точка ноль. Значит еще рано заходить. Удачи первопроходцам.

— Что может быть хуже грабель?
Детские грабли!

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

Использую "вайб-кодинг" в разных позах Камасутры - полностью доволен!

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

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

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

Что-то такое и ожидала прочитать.

Лучшая аналогия парного программирования с ИИ - это ... парное программирование (если кто-то помнит XP).

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

Судя по комментариям, многие недооценивают ИИ и те изменения, которые в ближайшие годы коснутся каждого.

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

Ну я могу то же самое про противоположную сторону сказать.

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

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

Очень сложно его переоценить. Прогресс идёт просто со скоростью света. Ведущие компании мира бросили все сили и деньги на эту гонку. Я вот вообще не вижу причин, по которой что-то должно замедлиться или остановиться. Уже сейчас ведущие нейросети выдают качественный код при нормальных запросах, а ведь это только начало. Посмотрите вчерашнюю коференцию Google IO, взгляните на результаты работы Veo 3, погуглите про AlphaEvolve, Gemini Diffusion.

Прогресс идёт просто со скоростью света.

История учит нас тому, что она никого ничему не учит

Я вот вообще не вижу причин, по которой что-то должно замедлиться или остановиться.

Это характеризует исключительно Вас лично, юноша.

TL;DR: современные LLM не способны всосать в себя всю кодовую базу сложных проектов на миллионы строк, и чтобы ещё осталось столько же всё это переписать нормально. Поэтому они сосут и будут продолжать сосать

По накопившемуся опыту – пока контекстное окно не будет вмещать в себя весь код ядра linux раз, эдак, в 10, все эти llm не перешагнут свой максимум быть чуть более прокачанным автокомплитом и бойлерплейт-писакой

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

Но люди, ни разу не программировавшие в жизни сейчас в диком уссыкании от того что "смари, я АЖ ЦЕЛОЕ ПРИЛОЖЕНИЕ написал не умея программировать, программисты не нужны!"
Смотришь на это "целое приложение" и тихо улыбаешься себе в усы

современные LLM не способны всосать в себя всю кодовую базу сложных проектов на миллионы строк,

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

Так в этом-то и проблема. Выделить контекст задачи -- это уже половина решения. И в моем представлении это coding assistant должен мне подсказать, какие классы\сущности входят в контекст моей задачи, а не я должен по всем сервисам и либам лазить, черрипикая нужные файлы.

Примерно так, но разве плохо, что он за вас вторую половину решения сделает?

Мы видим прорву статей вида «я не кодер, но ChatGPT позволяет писать мне код». Интересно, почему мы не видим статей «я не водитель, но „Тесла“ позволяет мне ездить»?

LLM не делает вас тупым. Она просто убирает иллюзию, что вы были умным.

Мы видим прорву статей вида «я не кодер, но ChatGPT позволяет писать мне код». Интересно, почему мы не видим статей «я не водитель, но „Тесла“ позволяет мне ездить»?

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

Кхе кхе Therac-25 кхе кхе.

а не кого не бесит АИ-ассистент в редакторе? Когда пишешь код, у тебя мысль есть определенная а он тебе предлагает свое, и не всегда правильно, и ты теряешь свою мысль на время?

Их всегда можно отключить в любом редакторе кода)

LLM — это junior developer со стопкой книжек. Он знает все умные термины, много прочитал, но у него нет своего опыта и чуйки, его надо бдить и направлять. Он вам помогает, не заменяет вас. Оставайтесь лидом своей команды, и всё будет в порядке.

+у него антероградная амнезия и синдром Корсакова.

А может ли LLM заменить тестировщика?
Чтобы проверяла результат работы своего творения на соответствие запросу
и тут же сама исправляла несоответствие.
А если всё работает как надо, то уже не важно
что она там понаписала и на каком языке или сразу в машинных кодах.
Никто это читать не будет и программисты будут не нужны.
А вместе с ними и языки программирования.
Будет лишь prompt или ТЗ на естественном языке
и, возможно, exe файл для скорости.

Будет лишь prompt или ТЗ на естественном языке

Это ^^^ моя любимая попытка захода
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации