Pull to refresh

Comments 94

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

Я пытался и пытаюсь до сих пор, год пишу свой пэт-проект лично для себя, чтобы самому этим пользоваться. Я здесь и инженер, и пользователь, и менеджер, я сам себе плачу своим же временем. Использую GitHub copilot активно, даю Claude AI какие-то простые шаблонные задачи, и потом проверяю и исправляю его, на что тоже может уходить час - два, но это все же быстрее чем писать самому. В итоге, по истечению почти года, у меня получилось хорошее и удобное веб приложение, которым я доволен, но его делал в основном я, я принимал все тысячи решений, которые сделали это приложение удобным и которым приятно пользоваться. LLM модели предлагали шаблонные и плохие решения, потому что они не обладают моим опытом, они не могут продумывать будущие проблемы, вместо исследования они лопатой загребают мусор и вываливают в чат, подавая как хорошие решения, или делают вид что что-то исследуют, а в итоге получается тот же мусор. Я даже не знаю возможно ли сделать удобное приложение из мусора, я даже пробовать не хочу, у меня хватает опыта поддержки плохого кода, чтобы в это не вляпываться.

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

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

Мне кажется тут вообще подмена понятий идёт «кодер» и «погроммист».

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

В программировании самое главное — это предсказуемость ([ 1, 15 ] + [ 2, 28 ] = [ 1, 15, 2, 28] ) и повторяемость результатов (2 + 2 = 4 вне зависимости от фазы Луны) — в то время как в основу LLM изначально заложена случайность, см. температура. А недетерминированным молотком сами гвозди забивайте (только дайте мне сначала удалиться на безопасное расстояние).

всё так, но самих рабочих мест из-за возросшей эффективности пар специалист+ИИ может стать сильно меньше

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

Когда-то Конфуций заказал что-то типа: "я ещё не встретил человека, у которого не смог бы чему-нибудь научиться". Вот и будет нас ИИ изучать, будем у него вместо датчиков. Каждый из нас его чему-нибудь, да научит.

Я даже не знаю возможно ли сделать удобное приложение из мусора

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

решение "делать ли приложение из мусора" принимают не инженеры, а менеджеры

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

"работает же"

= а потом выявится неприятный баг или понадобится новая фича, а в этом говнокоде уже мало кто разберется, включая GPT. Можно нанять опытного программиста, но кто из опытных за это возьмется, за обычную зарплату? Я не возьмусь, я не работаю с ужасным кодом, я уже наступал на эти грабли. Или попрошу зарплату в 2-3 раза выше за такую работу.
Инженер об этом знает, а менеджеры - нет. Хороший менеджер скорее обратится к инженеру за советом в такого рода решениях, потому что инженер - эксперт в написании и поддержке приложений, а менеджер - нет.

Это до первого серьёзного взлома.

Что-то на ум пришёл чувак из Гугла - Прабхакар Рагхаван. Он успешно, без взломов, похерил поиск в Yahoo, и так же успешно закапывает поиск Гугл. Когда у эффективного менеджера перед носом маячит морковка в виде бонуса, он способен на очень многое. И за взломы, кстати, будут отвечать инженеры, а не эффективные менеджеры.

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

Вот когда он окончательно похерит поиск Гугла, то на рынке поисковиков появится конкуренция. История с IE6 это все наглядно демонстрировала.

Думаю, что такие попытки - заменить разработчиков ИИ-агентами, мы точно увидим в недалеком будущем. Это прямо идеально ложится в парадигму zero-code.

Можно и менеджеров тоже на ИИ поменять и сразу продавать ИИ-компанию "под ключ" собственникам или же выводить её на IPO.

А вот насколько это будет успешным - вопрос открытый.

Здравствуйте, Николай Махонин! Хотел бы пообщаться с Вами вне Хабра по данной теме. У меня есть, что предложить в развитие проблемы, которую Вы озвучили.
Мой электронный адрес: cybersophy@yandex.ru

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

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

Как говорится - пессимист, это информированный оптимист. Перенабрали на оптимистичных прогнозах, а теперь пожинают. Сейчас спускают на ИИ образно говоря 100р получая выхлопа на 1р, и это тоже не бесконечно.

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

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

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

Почему-то вспомнился анекдот. В нашем сельхозе мы изобрели новый комбайн ГрибочекГПТ4000. Теперь комбайнёру осталось найти гриб и .. чик - остальное дело техники.

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

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

Точно. Если раньше инженеры жаловались на отсутствие ТЗ в проекте, то вот сейчас начнут его сами писать для ИИ

Научил продактов формировать из потока мыслей типовые User Story. Вклад GPT достигает 50-80 процентов в зависимости от уникальности проблемы, остальное это модерация и уточнения.

Очень сомнительно, где-то в совсем простых проектах возможно

Верно. Например, подавляющее большинство онлайн магазинов повторяют функционал друг друга. IAM, CRM, CMS реализуют одни и те же паттерны, специфического немного.

Очень сомнительно, где-то в совсем простых проектах возможно

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

Так ведь и есть, в какой проект не ткни - он сложный и уникальный, даже если он внешне кажется простым.

сейчас начнут его сами писать для ИИ

Я об этом уже столько раз писал:

...давным-давно, когда компьютеры были большими, разработчик набирал переключателями на пульте двоичный код, который потом исполнялся процессором. Потом программист стал писать человекочитаемыми буковками код низкого уровня (на ассемблере), который транслировался в машинный код, который исполнялся процессором. Потом разработчик стал писать код на языке высокого уровня (скажем, C — кстати, у сишных ++ и -- ноги растут из DEC-овских операций с авто{ин|де}крементом), который транслировался в код низкого уровня, который транслировался в машинный код, который исполнялся процессором. Теперь разработчик нового уровня будет писать очень-очень подробное и детальное техническое задание, не допускающее двояких толкований, которое транслируется в код на языке высокого уровня, который транслируется в код низкого уровня, который транслируется в машинный код, который исполняется процессором...

не допускающее двояких толкований

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

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

(Восхищённо:) Мужики, а этот соображает!

:))) (y) Кстати, если развивать мысль дальше, то и у LLM в "мозгах" тоже много многозначного и размытого. И кодировать посредством LLM примерно то же самое, что "кодировать на человеческом языке". В зависимости от -настроения- температуры LLM может на один и тот же промпт выдать годноту, а может и "ай, всё!"

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

они будут делать немного другое, что делают сейчас.

Даже просто проверить, что тех.задание формализовано правильно -- уже достаточно неподъёмная задача, кратно сложнее средних задач программиста. По сути это даже не программирование, а скорее переквалификация в математика. В качестве подтверждения своих слов, я предлагаю вам посмотреть Iris Tutorial, в частности, формальную спецификацию ticket lock и попытаться понять что там написано (всё что между Proof и Qed это доказательства, их можно пропустить). Отдельно отмечу, что на данный момент Iris это самый продвинутый фреймворк для верификации программ, то есть описывать спецификации проще пока никто не умеет

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

А что у обучении не заложено? Там почти весь интернет и все библиотеки. Другое дело что пока он знает как все точно использовать. Та и человек создаёт на основании существующего. Ничего придумать полностью нового нельзя не опираясь на старые знания. А потом уже на основании нового ещё что-то и т.д.

"Почему автомобили не заменят кареты: взгляд лошади"

Именно вещам вроде декомпозиции сложных задач и пресловутого "инженерного мышления" сейчас и учат самые "злые" из передовых моделей. Те же o1 и o3 - развитие именно в этом направлении.

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

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

кто ошибок больше делать будет? Средний человек-разработчик

Простите покорно, мне просто жутко интересно: а нафейхоа зачем Вы нанимаете средних?

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

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

С ИИ такой проблемы нет, потому что ИИ - это софт. Если работает одна копия ИИ, то могут работать 10.

Это не только крайне дорого

Ну то есть как всегда проблема свелась не к том, что «не хватает хороших разработчиков», а что «не хватает хороших разработчиков, готовых работать за миску риса».

А об этом ещё в 2011 году писали.

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

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

Результат - облом. Хорошо что проверили

А так да, синтаксически верно

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

Ох уж эти программисты, пишущие между строк.. ;)

Просто из вариантов A, B, C, ... был выбран вариант P, в то время как чатГпт в лучших традициях школьника-отличника без опыта работы выбрал вариант A

В интернете полно всякого говнокода.

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

Причем любой опытный разработчик найдет нужный код/методики в интернете и без LLM.

Да раньше и без LLM копировали прямо со стековерфлоу.

И хорошо если из ответа, а не из вопроса :)

Когда-то говорили "чтобы задать правильный вопрос надо знать половину ответа"

И иногда в чужом вопросе уже может находиться недостающая половина )

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

ИИ это упрощает, он даёт уверенный ответ на любой вопрос, вместо "rtfm" даёт подробную, пошаговую инструкцию, решающую совсем другую задачу.

Говорить "всё, что делает LLM - это предсказывает следующий токен" - это примерно как говорить "всё, что делает компьютер - это читает данные с устройств ввода и выдаёт данные на устройства вывода".

Технически верно, но не очень полезно. Потому что упускает всё, что происходит внутри такой чудовищно сложной системы.

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

Генеральный директор Amazon Энди Джесси рассказал, что ИИ-помощник Q значительно сократил время обновления программного обеспечения компании, сэкономив сотрудникам тысячи рабочих часов.

По словам Джесси, Amazon Q интегрировали во внутренние системы компании для оптимизации обновления базового программного обеспечения. Он отметил, что среднее время обновления приложения до Java 17 сократилось с 50 дней разработки до нескольких часов. В итоге разработчики перенесли 30 тысяч приложений продуктов с Java 8 или 11 на более новую версию.

Джесси подчеркнул, что это сэкономило Amazon «4500 лет разработки». Он также упомянул, что 79% сгенерированных ИИ обзоров кода были отправлены без дополнительных изменений, подчеркнув точность инструмента.

перенесли 30 тысяч приложений продуктов с Java 8 или 11 на более новую версию

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

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

В каждой шутке есть доля..,

И ещё наверняка ему не сбрасывают контекст каждые пять минут!

UFO landed and left these words here

Прошло уже 2 года. Действительно. Аж целых два. Или уже 3?

«Вес компьютеров в будущем не будет превышать 1,5 тонны». Журнал «Популярная механика», 1949 год. До появления первого персонального компьютера около 30 лет. И немало технических пророчеств смешат нас сегодня, хотя были сделаны серьезными технарями своего времени. Радио, телефон, компьютер. "Вряд ли кому-то придет в голову установить компьютер дома", говорил Кен Олсен в 1977 году. Основатель компании, производящей мейнфреймы, инженер и ученый. Звучит забавно по сей день.

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

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

Так это, AGI не будет? Всё парни, расходимся...

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

Традиции линейной экстраполяции сильны...

Моё хобби

Примерно так, да.

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

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

Если кто-то пользуется калькулятором, это ещё не значит что он совсем не умеет считать

буквально вчера вы меня развлекали калькулятором с АИ. спасибо что не с АГИ

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

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

я вот совершенно искренне думаю, что вот если чат-боты заменят в индустрии людей которые вместо print(a+b), подключают LLM что бы спросить у неё, как вот, в её выборке обучения a+b это сколько? ничего страшного не произойдет.

В интернете полно всякого говнокода

Следующие поколения моделей будут обучаться не на коде из интернета. Какой-нибудь Copilot выданный команде разработчиков позволит Майкрософту через довольно короткое время воссоздать кодовую базу проекта, со всей структурой, данными об окружении, документацией, etc. Ну и это будет не пет-проект Васи с курса, а рабочий продакшн энтерпрайз код.

Следующие поколения моделей будут обучаться не на коде из интернета.

А на чём тогда? На коде, присланном инопланетянами?

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

Хотя бы головой осильте подумать. Не на том уровне, что «вот заведём ИИ — и оно всё завертится», а хотя бы представьте объёмы (точнее — мизерность таковых), на которых Вы сейчас предполагаете ИИ дотренировывать.

Обьем закрытого кода сильно больше открытого.

Большая часть открытого кода - мусор.

Поэтому я оцениваю объём приватного полезного кода, к которому в течение нескольких лет будут иметь доступ вендоры llm (если ещё нет), сопоставимым с объёмом такового в открытом доступе.

Что там у вас по части аргументов? Или все мысленные усилия уходят на курсив?

Большая часть открытого кода - мусор.

(Глядит жалостливо:) Мало Вы видели закрытого кода, челодой моловек, ой мало...

Мне вот интересно другое. С помощью ИИ пытаются избавиться/заменить/низвести рабочие специальности (при чем те, которые связаны с долгими инвестициями в обучение и совершенствование навыков). «Обычные» рабочие профессии давно уже под прессом автоматизации и всяких станков с чпу.

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

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

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

Так, условный ИИ может даже «взрослеть» вместе с «носителем»: сначала помогая обучаться и обучаясь совместно в зависимости от предпочтений «носителя». Помогать решать задачи: мне нужна легковесная ос реального времени с поддержкой аудио/видео - вуаля, дистриб линукса нарезан, выкинуто всё лишнее, работает на ардуинке… или нужны иллюстрации - на, вот, доработал напильником - сэкономил время, продолжил исследование. Написали закон? Автоматически проверен на непротиворечивость с имеющимися (еси чо - копирайты мои :)). Нужно заявление на что бы то ни было - сгенерирован текст запроса со всеми ссылками и тп. Обработка обращений - текст проанализирован, выдан базовый ответ для редактуры и последующего ответа. Судебные дела - тоже хелп. Короче так могу философствовать до бесконечности…

Все это уже сейчас возможно. Только куда лишних людей?

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

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

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

Напишите кто то статью, где с помощью LLM мигрируете запросы SQL с mssql в postgres со всеми триггерами, процедурами и тд. Я постоянно использую chstgpt, сбер и другие llm, чтобы облегчить себе задачи в разработке.

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

Люди, которые довольны LLM и считают что они заменят. Напишите статью, я реально хочу понять, какие вы задачи решаете что llm отлично справляется и экономит время.

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

И самое ужасное, что они пишут правдоподобно и если не перепроверить то проблема вылезет потом.

Так это ж отлично — я работой (по расчистке завалов) до самой смерти обеспечен буду!

  1. если кто-то захочет за это платить

  2. если бизнес не загнется раньше, из-за очень медленной разработки

Напишите кто то статью, где с помощью LLM мигрируете запросы SQL с mssql в postgres со всеми триггерами, процедурами и тд.

Ну вот, например, одн из первых эксперементов от Uber в их блоге:

> QueryGPT – Natural Language to SQL Using Generative AI
> 78% saying that the generated queries have reduced the amount of time they would’ve spent writing it from scratch.

Вот еще от них мега доклад как они потенциально около десятка лет сэкономили при миграции на Kotlin
> This Year in Uber’s AI-Driven Developer Productivity Revolution

Вот еще свежих релиз нового сервиса от амазона где они стали автоматечкски с помощью AI мигрировать схемы между разными СУБД

> AWS Database Migration Service (AWS DMS) Schema Conversion with generative AI is now available. The feature is currently available for database schema conversion from commercial engines, such as Microsoft SQL Server, to Amazon Aurora PostgreSQL-Compatible Edition and Amazon Relational Database Service (Amazon RDS) for PostgreSQL.

И это только начало =)


Сколько я использую разные LLM, пока ни одна не может нормально справиться со сложными SQL. Хуже только то, что они забывая контекст начинают выкидывать из него детали (какое то сравнение или условие в WHERE и так далее). Ну и самое главное - они справляются с простыми запросами. Тут либо Uber в отчетах врет и хотелось бы посмотреть конкретные примеры и разборы от их разработчика. Либо там SQL очень простой без сложных запросов и хранимых процедур (в чем я сомневаюсь).

Я сейчас мигрирую с Microsoft SQL Server на PostgreSQL, и могу сказать что LLM на сложных запросах безумно тупят. Вы получите на выходе совсем не то, что было изначально. Опять же речь про сложные процедуры с кучей деталей. К простым вопросов нет. То есть когда идут отличия на уровне SQL команд, вот тут начинается сложность и LLM совсем не справляются, даже если указывать им возвращаемые ошибки. И я говорю про сильные LLM.

. Ну и самое главное - они справляются с простыми запросами. Тут либо Uber в отчетах врет и хотелось бы посмотреть конкретные примеры и разборы от их разработчика. 

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

Я сейчас мигрирую с Microsoft SQL Server на PostgreSQL, и могу сказать что LLM на сложных запросах безумно тупят.

Насколько я понимаю, большие компании не используют просто голые LLM, они строят довольно продвинутые обвязки. Тот же AWS Database Migration Service (AWS DMS) Schema Conversion with generative AI, они уже своим клиентам предлагают продукт по переводу Microsoft SQL Server на PostgreSQL.

Все обвязки строятся на том, что LLM знает структуру БД. Я это учитываю конечно и сначала скармливаю ее. Без этого результат еще хуже. Но это не панацея. Как я уже сказал, там несколько проблем на уровне самих LLM.
1) они на больших запросах легко выкидывают детали, особенно после нескольких итераций обработки
2) есть некоторые момент перевода с которыми они просто не справляются и ходят по кругу. Для примера динамические запросы для отчета:
with Roles as (SELECT [SELECT_UNION_BY_NAME] FROM WP_ROLES ts WHERE QMS$DELETED = 0 AND BRANCH_ID = 0 [PARAM_ROLES_FILTER]) select @name = RTRIM(ISNULL@namee, '') + ',[' + [VARS_UNION_BY_NAME] + ']'), @sum_name = RTRIM(ISNULL@sum_namee, '') + ', sum([' + [VARS_UNION_BY_NAME] + '])') [PARAM_VAR] from Roles order by [ORDER_UNION_BY_NAME]

где она не может конвертировать правильно

SELECT string_agg('"' || rservices."SERVICE_NAME" || rservices."SERVICE_ID" || '"', ',') INTO val_name FROM ( SELECT DISTINCT LEFT("S"."SERVICE_NAME", 120) AS "SERVICE_NAME", "S"."SERVICE_ID" FROM "SERVICES" "S" WHERE "S"."QMS_DELETED" AND "S"."BRANCH_ID" = 0 AND "S"."SERVICE_ID" > 0 [SR_SERVICE_ID] ) rservices;

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

И таких проблемных мест очень много там. Так что не верю что там делает LLM. А Миграционные программы из MS SQL в PG я и так использую, которые и без всяких LLM отлично справляются с большой частью данные и заодно еще правильно могут сконвертировать значения некоторых полей. Но вот только он не могут конвертировать хранимые процедуры и функции.

Решите проблему человека в реальном мире. Когда ТЗ и в помине нет, есть человек которому надо помочь. ИИ, вперед.

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

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

Пока Хабравчане дискутируют о том, что их никто не заменит в Гугл уже 25% кода пишется AI =)

> Google CEO says over 25% of new Google code is generated by AI

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

Нормальный код гопота пишет плохо, он вроде и работает, но если присмотреться то найдешь много огрехов которые со временем всплывают.

Сложные алгоритмы они вообще не вывозят.

Этой технологии всего пару лет, что просто ничего даже в рамках Ай Ти мира. В течении 5 лет уже 100% кода в Гугл будет писать AI.

Технологии всего несколько лет а весь хабр уже засран феерическим бредом дальше некуда.

Sign up to leave a comment.

Articles