Не пробовал Opencode, но звучит так, что вы кодите "в режиме чата", вручную скармливая LLM крохи контекста. Особенно с учетом фразы "Но чаще всего не работающего, особенно с первого раза".
Так даже топовые модели ерунду пишут (и настаивают на своей правоте) и так никто сейчас не делает. Попробуйте Cursor или любую другую современную AI IDE. Он сам находит нужный контекст, анализирует, где на проекте уже что-то подобное делалось и почему именно так. Он грепает по файлам со скоростью света - вы ещё не успеете прочитать, что он ищет, а он уже нашёл, прочитал, сделал выводы и пошёл искать следующее.
Озвученных проблем уже несколько лет не встречал, пока не решил однажды на пробу в режиме чата с одной из свежих Sonnet написать простенький скрипт по текстовому описанию. Написало криво, с ошибками в коде и логике, как какой-нибудь ГигаЧат, ей богу, разница очень значительная.
А тут уже вероятности. Сначала попробуют школьника, потому что 200р не жалко, а сервер потом всегда откатить можно.
И если раньше, с StackOverflow или с ChatGpt 3.5 школьник бы и забуксовал, то сейчас с Cursor всё чаще и чаще проблема просто берёт и решается. И достаточно одного удачного раза, чтобы бизнес округлил глаза от экономии и принял долгоиграющее решение о том, с кем он в дальнейшем будет работать.
Так и фраза "Курсор, пожалуйста, сделай чтобы работало" точно также передаёт задание внешней подсистеме. И если поставить температуру ЛЛМки в 0, то можно даже получить один и тот же детерминированный результат.
Только вы заранее не знаете, какой именно это будет результат, поэтому его детерминированность не имеет значения. Так же, как вы заранее не знаете, как именно отработает mail().
Как раз таки компетентность нужна, чтобы понимать, что бизнесу не важна детерминированность компиляции. А важно им, например, чтобы письма с формы обратной связи уходили на ящик отдела продаж. Или чтобы весь сайт не падал с ошибкой.
И вот спросили они школьника с ИИ-шкой, сколько это займёт. Школьник ответил "по простому - 15 минут, а если не получится, то хз, ковырять надо. Но рано или поздно доковыряю."
А потом спросили синьора-помидора старой закалки... и получили тот же самый ответ.
Только школьник стоит 200 р в час, а синьор - 2000. А вот это для бизнеса уже измеримая разница.
Бухгалтер может был бы и рад, чтобы новую версию 1С-Бухгалтерии переписали на чистом ассемблере, там где хитрыми фокусами с памятью и математикой можно добиться того, чтобы оно летало на любом железе и весило меньше, чем главная страница Хабра. Объективно лучше любого другого языка программирования. Но есть ньюанс, почему этого никто не делает.
Он упадёт с ошибкой? Вернёт true или false? Письмо дойдёт до получателя? Каждый раз одинаково отработает или есть вероятности?
Детерминированность у кода была бы, если бы результат запуска всегда соответствовал тому, что программист у себя "скомпилировал в уме", но за пределами примитивных задачек с литкода, в реальных production системах человеческая голова как-то не особо с этим справляется, поэтому и результат выполнения программы никогда не будет полностью предсказуемым.
А представьте себе совсем другую историю, несколько десятилетий назад.
"Я - матёрый программист на ассемблере, мне дали джуна с этим вашим новомодным Delphi".
"Он даже ни одной ассемблерной команды не знает."
"Дал ему задачу - потом смотрю ассемблерный код, это просто ужас, там даже hello world в несколько килобайт, там 90+% мёртвого кода, и это я даже про оптимизацию и более сложные задачи не говорю".
"Кто потом с этим будет разбираться, как это поддерживать?"
"А если версия компилятора сменится, то он сгенерит совсем другой код, который никто даже не прочитает и не сравнит. Это чистый рандом".
"Ещё и библиотеку подключил к проекту. Которую он сам не писал, которую он даже не читал. Просто в интернете нашёл. А вдруг там баги?"
"Не, это точно временное поветрие просто. Наиграется молодёжь с этим, потом у них все проекты застопорятся, разрастутся до сотен мегабайт и будут сплошь и рядом багованные. И тогда бизнес поймёт, что что-то не так, уволит их всех и вернётся к нам, настоящим программистам."
В зависимости от браузера, соединения либо возобновляются, либо остаются открытыми даже после перезагрузки браузера или устройства, на котором он запущен.
Вот это, похоже, единственное что позволяет хоть как-то выделять эту уязвимость в отдельную. А так, всё это и многое другое уже и так может происходить, если хакер каким-то образом нагонит много пользователей на подконтрольный ему вебсайт, никаких Browser Fetch не требуется.
Ну уволил да и уволил, фиг бы с ним, чем компания-то таким занимается, что потеряла 97% капитализации? Вот про это интереснее было бы почитать. В NFT вложились?
Вместо отдела кадров в Bolt теперь небольшая команда People Ops
Сейчас в компании работает около 100 человек
Т.е. у него теперь в компании на 100 человек есть несколько специалистов HR. А раньше было ещё больше зачем-то. Вот и вся новость.
Приведите примеры типов некачественных решений, которые вы встречаете.
Потому что звучит так, что это как раз та самая ошибка переобучения, про которую я писал выше - что конкретно по этому языку в обучающей выборке слишком много плохих примеров и они влияют на качество кода.
За исключением совсем специфических случаев, хороший код стуктурируется одинаково на всех языках определённого типа. См. Паттерны проектирования, ООП и пр.
Базовых данных уже достаточно, их скорее даже больше чем нужно и приходится фильтровать.
LLM уже сейчас вполне может написать рабочий код на придуманном вами языке без сотен примеров кода, просто по документации. Или подключить написанную вами функцию в нужном месте кода, опять же, без примеров применения, просто прочитав её структуру.
От "кожанных" остаётся только выбирать стилистику и следить за ошибками переобучения.
Если бы данные не были краеугольным камнем уже сейчас бы LLM писали на ассемблере
Технически, они и сейчас могут - уж чего, а примеров ассемблерного кода сейчас более чем достаточно. Просто ассемблер "многословный" и хуже подходит для LLM - жрёт кучу токенов и кратно увеличивает вероятность ошибки в коде (просто потому что самого кода на выходе больше и потому что "слова" везде одни и те же).
Единственное, за что я бы снял тут полбалла – проблемы с нумерацией глав. У нас есть нулевая глава и в принципе всё.
Вы отправили ChatGPT писать рецензию на написанный им же текст и он вам сгаллюцинировал недостаток, отсутствующий в тексте, потому что главы пронумерованы словами, а не цифрами?
Ну вот я знаю таких коллег - вообще пофиг, посреди созвона на 10 человек открывают свой ТГ или почту, чтобы показать сообщения от заказчика, а там на пол-экрана слева личные переписки с женой, друзьями или оповещения типа "ваши анализы готовы".
Я так не могу, а им вообще норм.
А есть другие, которые даже со скриншотов адресную строку браузера убирают, чтобы не было видно запущенных плагинов.
Мы в определённый момент поставили демо с заказчиком и сказали ему: вот, чувак, назови любой срок, когда тебе будет удобно показать на демо. Когда будет всё готово, на твой взгляд. То есть вообще никаких ограничений, любое число назови и всё.
И отчего же он тогда не сказал "100 лет"? Какая объективная причина этого не делать?
Не хотел просто так получать всю жизнь зарплату?
Или всё-таки были какие-то ограничения, как минимум предполагаемые, но ему проще было уже сказать что-нибудь "на отвали" с потолка, чем объяснять глупым людям, что они задают глупые вопросы и принимают не задумываясь глупые иррациональные ответы?
Нейросетевые краткие пересказы документов, статей и прочего. Не вижу другого нормального способа работать, например, с записями 4-часовых созвонов или обращений в ТП по телефону.
Переписывание текстов более официальным или более простым языком, для пересылки.
Составление списка вопросов на основании материала, для самопроверки знаний/памяти перед созвоном.
Это только из последнего, что вспомнилось и пригодилось лично мне, ну и за исключением всего, что связано с программированием и просто эрудицией.
У других там может кто-то рак ищет или ношение касок на стройке детектит, но это их область.
С учетом того, что у конкретного работающего человека в среднем не уж много видов операций, которые напрямую приносят пользу, даже оптимизация одной-двух из них даёт такой же эффект, как если раньше человек не умел гуглить, а потом научился.
У статей и роликов обычно есть счетчик дочитываний-досматриваний. Визуально обычно доступен только владельцам, но влияет на алгоритмы рекомендаций, которые в свою очередь влияют на статистику.
Также влияет количество всяких там лайков, ссылок на материал и пр. И у ИИ-контента с этим в целом проблем нет - люди лайкают, подписываются, пересылают друг другу, делятся в своих соцсетях.
Есть группа людей, которые "прям на уровне убеждений" против абсолютно любого ИИ-контента, они порой отмечаются в комментах, но их количество обычно статистически незначимо, если контент не вызывает "эффекта Зловещей Долины".
Обычным людям пофигу, лишь бы не сильно в глаза бросалось. Подтверждается цифрами статистики просмотров/прочтений, что в статьях на Хабре, что в роликах на Ютубе.
Насколько я помню, дублирование текста в title и alt идёт ещё с тех времен, когда для это делали для совместимости с IE (который игнорировал alt). Не знаю, поменялось ли это в Edge.
>> «Яга» (полностью российская разработка специалистов «Ростелекома», призванная заменить иностранные решения Jira и Confluence), Нейминг за гранью троллинга.
Предположу, что идея была в том, что если прищуриться (очень-очень прищуриться), то будет что-то, похожее на Jira.
Не пробовал Opencode, но звучит так, что вы кодите "в режиме чата", вручную скармливая LLM крохи контекста. Особенно с учетом фразы "Но чаще всего не работающего, особенно с первого раза".
Так даже топовые модели ерунду пишут (и настаивают на своей правоте) и так никто сейчас не делает. Попробуйте Cursor или любую другую современную AI IDE. Он сам находит нужный контекст, анализирует, где на проекте уже что-то подобное делалось и почему именно так. Он грепает по файлам со скоростью света - вы ещё не успеете прочитать, что он ищет, а он уже нашёл, прочитал, сделал выводы и пошёл искать следующее.
Озвученных проблем уже несколько лет не встречал, пока не решил однажды на пробу в режиме чата с одной из свежих Sonnet написать простенький скрипт по текстовому описанию. Написало криво, с ошибками в коде и логике, как какой-нибудь ГигаЧат, ей богу, разница очень значительная.
А тут уже вероятности. Сначала попробуют школьника, потому что 200р не жалко, а сервер потом всегда откатить можно.
И если раньше, с StackOverflow или с ChatGpt 3.5 школьник бы и забуксовал, то сейчас с Cursor всё чаще и чаще проблема просто берёт и решается. И достаточно одного удачного раза, чтобы бизнес округлил глаза от экономии и принял долгоиграющее решение о том, с кем он в дальнейшем будет работать.
Так и фраза "Курсор, пожалуйста, сделай чтобы работало" точно также передаёт задание внешней подсистеме. И если поставить температуру ЛЛМки в 0, то можно даже получить один и тот же детерминированный результат.
Только вы заранее не знаете, какой именно это будет результат, поэтому его детерминированность не имеет значения. Так же, как вы заранее не знаете, как именно отработает mail().
Как раз таки компетентность нужна, чтобы понимать, что бизнесу не важна детерминированность компиляции. А важно им, например, чтобы письма с формы обратной связи уходили на ящик отдела продаж. Или чтобы весь сайт не падал с ошибкой.
И вот спросили они школьника с ИИ-шкой, сколько это займёт. Школьник ответил "по простому - 15 минут, а если не получится, то хз, ковырять надо. Но рано или поздно доковыряю."
А потом спросили синьора-помидора старой закалки... и получили тот же самый ответ.
Только школьник стоит 200 р в час, а синьор - 2000. А вот это для бизнеса уже измеримая разница.
А зачем бухгалтеру писать программы?
Бухгалтер может был бы и рад, чтобы новую версию 1С-Бухгалтерии переписали на чистом ассемблере, там где хитрыми фокусами с памятью и математикой можно добиться того, чтобы оно летало на любом железе и весило меньше, чем главная страница Хабра. Объективно лучше любого другого языка программирования. Но есть ньюанс, почему этого никто не делает.
Так а он ещё раньше начинается. Что произойдёт при запуске PHP кода
mail("someone@example.com","My subject","Hello, world");Он упадёт с ошибкой? Вернёт true или false? Письмо дойдёт до получателя? Каждый раз одинаково отработает или есть вероятности?
Детерминированность у кода была бы, если бы результат запуска всегда соответствовал тому, что программист у себя "скомпилировал в уме", но за пределами примитивных задачек с литкода, в реальных production системах человеческая голова как-то не особо с этим справляется, поэтому и результат выполнения программы никогда не будет полностью предсказуемым.
А представьте себе совсем другую историю, несколько десятилетий назад.
"Я - матёрый программист на ассемблере, мне дали джуна с этим вашим новомодным Delphi".
"Он даже ни одной ассемблерной команды не знает."
"Дал ему задачу - потом смотрю ассемблерный код, это просто ужас, там даже hello world в несколько килобайт, там 90+% мёртвого кода, и это я даже про оптимизацию и более сложные задачи не говорю".
"Кто потом с этим будет разбираться, как это поддерживать?"
"А если версия компилятора сменится, то он сгенерит совсем другой код, который никто даже не прочитает и не сравнит. Это чистый рандом".
"Ещё и библиотеку подключил к проекту. Которую он сам не писал, которую он даже не читал. Просто в интернете нашёл. А вдруг там баги?"
"Не, это точно временное поветрие просто. Наиграется молодёжь с этим, потом у них все проекты застопорятся, разрастутся до сотен мегабайт и будут сплошь и рядом багованные. И тогда бизнес поймёт, что что-то не так, уволит их всех и вернётся к нам, настоящим программистам."
Вот это, похоже, единственное что позволяет хоть как-то выделять эту уязвимость в отдельную. А так, всё это и многое другое уже и так может происходить, если хакер каким-то образом нагонит много пользователей на подконтрольный ему вебсайт, никаких Browser Fetch не требуется.
Ну уволил да и уволил, фиг бы с ним, чем компания-то таким занимается, что потеряла 97% капитализации? Вот про это интереснее было бы почитать. В NFT вложились?
Т.е. у него теперь в компании на 100 человек есть несколько специалистов HR. А раньше было ещё больше зачем-то. Вот и вся новость.
Приведите примеры типов некачественных решений, которые вы встречаете.
Потому что звучит так, что это как раз та самая ошибка переобучения, про которую я писал выше - что конкретно по этому языку в обучающей выборке слишком много плохих примеров и они влияют на качество кода.
За исключением совсем специфических случаев, хороший код стуктурируется одинаково на всех языках определённого типа. См. Паттерны проектирования, ООП и пр.
Базовых данных уже достаточно, их скорее даже больше чем нужно и приходится фильтровать.
LLM уже сейчас вполне может написать рабочий код на придуманном вами языке без сотен примеров кода, просто по документации. Или подключить написанную вами функцию в нужном месте кода, опять же, без примеров применения, просто прочитав её структуру.
От "кожанных" остаётся только выбирать стилистику и следить за ошибками переобучения.
Технически, они и сейчас могут - уж чего, а примеров ассемблерного кода сейчас более чем достаточно. Просто ассемблер "многословный" и хуже подходит для LLM - жрёт кучу токенов и кратно увеличивает вероятность ошибки в коде (просто потому что самого кода на выходе больше и потому что "слова" везде одни и те же).
Вы отправили ChatGPT писать рецензию на написанный им же текст и он вам сгаллюцинировал недостаток, отсутствующий в тексте, потому что главы пронумерованы словами, а не цифрами?
Ну вот я знаю таких коллег - вообще пофиг, посреди созвона на 10 человек открывают свой ТГ или почту, чтобы показать сообщения от заказчика, а там на пол-экрана слева личные переписки с женой, друзьями или оповещения типа "ваши анализы готовы".
Я так не могу, а им вообще норм.
А есть другие, которые даже со скриншотов адресную строку браузера убирают, чтобы не было видно запущенных плагинов.
Какой-то корреляции с компетентностью не замечаю.
И отчего же он тогда не сказал "100 лет"? Какая объективная причина этого не делать?
Не хотел просто так получать всю жизнь зарплату?
Или всё-таки были какие-то ограничения, как минимум предполагаемые, но ему проще было уже сказать что-нибудь "на отвали" с потолка, чем объяснять глупым людям, что они задают глупые вопросы и принимают не задумываясь глупые иррациональные ответы?
К уже озвученным:
Нейросетевые краткие пересказы документов, статей и прочего. Не вижу другого нормального способа работать, например, с записями 4-часовых созвонов или обращений в ТП по телефону.
Переписывание текстов более официальным или более простым языком, для пересылки.
Составление списка вопросов на основании материала, для самопроверки знаний/памяти перед созвоном.
Это только из последнего, что вспомнилось и пригодилось лично мне, ну и за исключением всего, что связано с программированием и просто эрудицией.
У других там может кто-то рак ищет или ношение касок на стройке детектит, но это их область.
С учетом того, что у конкретного работающего человека в среднем не уж много видов операций, которые напрямую приносят пользу, даже оптимизация одной-двух из них даёт такой же эффект, как если раньше человек не умел гуглить, а потом научился.
Конкретно на Хабре учитывается скорость скролла, если больше 60 знаков в секунду, то не считается https://habr.com/ru/companies/habr/articles/832884/
У статей и роликов обычно есть счетчик дочитываний-досматриваний. Визуально обычно доступен только владельцам, но влияет на алгоритмы рекомендаций, которые в свою очередь влияют на статистику.
Также влияет количество всяких там лайков, ссылок на материал и пр. И у ИИ-контента с этим в целом проблем нет - люди лайкают, подписываются, пересылают друг другу, делятся в своих соцсетях.
Есть группа людей, которые "прям на уровне убеждений" против абсолютно любого ИИ-контента, они порой отмечаются в комментах, но их количество обычно статистически незначимо, если контент не вызывает "эффекта Зловещей Долины".
*некоторые люди
Обычным людям пофигу, лишь бы не сильно в глаза бросалось. Подтверждается цифрами статистики просмотров/прочтений, что в статьях на Хабре, что в роликах на Ютубе.
Насколько я помню, дублирование текста в title и alt идёт ещё с тех времен, когда для это делали для совместимости с IE (который игнорировал alt). Не знаю, поменялось ли это в Edge.
Предположу, что идея была в том, что если прищуриться (очень-очень прищуриться), то будет что-то, похожее на Jira.