Добавить в корзинуПозвонить
Найти в Дзене
АХ - АнтиХрюня

Практик𝔸нт✺ если ИИ не обманет, то хорошо нагрузит

В цикле «ПрактикАнт» я в основном рассматриваю свои практические наработки и решения. Поэтому читателям, не очень подготовленным, не погруженным в программирование, смысл статьи может быть не совсем понятен, но постараюсь изъясняться не на «птичьем» языке кодеров. 😁 Началось всё немного издалека, написал комментарий к одной статье на Дзен, в которой что-то было про нейросети, и как хорошо и просто с ними работать, потому что даже программировать не надо, пиши себе запросы на русском, и всё у тебя получится. Хотя на деле всё оказывается далеко не таким радужным и прекрасным. 😪 Вот это мой комментарий: Некоторые читатели оценили мой комментарий положительно, судя по количеству лайков, но вот у одного из читателей имелось свое мнение, и он его высказал: Основной посыл читателя – Вы просто не умеете «правильно готовить», потому и не можете получить положительный эффект. «Ситуацию не знаете», но уже чего-то ожидаете. 😏 Странным мне показался подобный посыл, потому что стараюсь использов
картинка создана с помощью нейросети
картинка создана с помощью нейросети

В цикле «ПрактикАнт» я в основном рассматриваю свои практические наработки и решения. Поэтому читателям, не очень подготовленным, не погруженным в программирование, смысл статьи может быть не совсем понятен, но постараюсь изъясняться не на «птичьем» языке кодеров. 😁

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

Вот это мой комментарий:

комментарий с которого всё началось
комментарий с которого всё началось

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

диалог с читателем
диалог с читателем

Основной посыл читателя – Вы просто не умеете «правильно готовить», потому и не можете получить положительный эффект. «Ситуацию не знаете», но уже чего-то ожидаете. 😏

Странным мне показался подобный посыл, потому что стараюсь использовать нейросеть как раз, чтобы прояснить ситуацию. Иначе какой в ее использовании смысл? 🙄

В продолжении дискуссии:

продолжение диалога с читателем
продолжение диалога с читателем

Читатель порекомендовал «учиться эффективно применять», хотя под этим выражением можно понимать всё, что угодно. И по поводу «ускорить поставку фич», тоже выглядит не очень правдоподобно, потому что моя практика показывает, что скорость то как раз и не растет. Привел ему в ответ пример из своего ближайшего опыта, когда попытка решить проблему в SQL с помощью нейросети, привела к затратам времени в несколько часов, и без результата. А отказ от нейросети и глубокое погружение в проблему самостоятельно привело к нахождению решения через полтора часа. 😛

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

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

Вот первый запрос к нейросети с постановкой задачи:

запрос с вопросом и первым массивом
запрос с вопросом и первым массивом

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

второй массив, выделены ключи, которые требуется сохранить
второй массив, выделены ключи, которые требуется сохранить

Могу сказать, что задача выставлена не прям уж очень четко, потому что под «ключами первого уровня» можно понять и «group». Но ничего страшного, если сетка не поймет, то сможем уточнить запрос на второй итерации.

А вот и ответ нейросетки:

ответ нейросети на первый запрос
ответ нейросети на первый запрос

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

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

Но вот какой результат был получен:

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

Ключи явно не те, что требовались, а ведь результирующий пример нейросеть приводила с совсем другим результатом. Похоже обманула! Но ведь и Джуны обманывают, они ведь люди, иногда и просто по незнанию.

Что ж, какое-то время уже затрачено, с отрицательным результатом. Смотрим дальше на ответы нейросети:

ответ нейросети -  сам дурак, использовал обозначенную функцию
ответ нейросети - сам дурак, использовал обозначенную функцию

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

уточнение для нейросети, вводим название итогового массива
уточнение для нейросети, вводим название итогового массива

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

уточнение запроса для нейросети
уточнение запроса для нейросети

Код не уменьшился в размере, вероятно не дошел мой наводящий вопрос, попробуем по-другому:

еще одно уточнение
еще одно уточнение

Нейросеть это понимает, но почему то в своем решении предлагала не простое присвоение, а перебор элементов первого массива. Уточним ей задачу:

итоговый приемлемый результат выделен красным
итоговый приемлемый результат выделен красным

Вот, вроде и доползли до простенького решения.

ВЫВОД:

Для Джуна написание такого кода должно было занять минут 15, с учетом размышлений и осмыслений, если не тупой конечно 🤨. Нейросеть же сначала обманула, подсунула решение, которое оказалось неверным. Потом обвинила меня в неверном выборе решения 😣. Далее предложила неоптимальное решение – много кода и итераций. И только после ряда уточнений (часть была мной пропущена) смогла выдать приемлемый результат. А если бы я был тем самым Джуном, и не понимал нюансы языка? 😟

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

А как тогда быть со сложными задачами? Уровень компетенций проверяющего код после нейронки должен быть еще выше – профессор или академик?

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