И снова пишем программы с ИИ
От: temnik  
Дата: 21.02.25 21:06
Оценка: 14 (2) +1 :)
Хочу поделиться опытом. Написал программу с помощью Qwen. На это ушло 2 дня, но не совсем.

Она довольно неплохо справляется практически со всеми типами задач из всего, что пробовал. DeepSeek неплохо работает с текстом, лучше Qwen, но уж больно часто уходит в даун, работать с ним невозможно. Субъективно, эти модели очень похожи, Qwen немного попроще, но зато работает стабильнее. Кстати, Qwen неплохо рисует иконки (и картинки и даже с текстом).

Так вот, потребовалось мне обрабатывать и модифицировать определенные json файлы большого объема (десятки Мб). Проблема в том, что надо находить в них определенную информацию и при соблюдении нескольких определенных условий копировать в другое место, и всё это надо собирать в разных ветвях json. Сначала я стал писать на php — изложил ТЗ, приложил примеры. Примерно пол дня ушло на php. Но для простоты я давал для тестов маленький файл, а на большом php зависал. Qwen предлагал использовать разные библиотеки для потоковой обработки, но ничего не получилось.

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

Кстати, писал я по-русски, Qwen прекрасно понимает. Может, я и сам бы написал, но это было бы сложнее и дольше, так как я не очень шарю в дженериках, в работе с json в Delphi. Но совершенно точно, если б я не был программистом, ничего бы не вышло и с ИИ, так как все равно приходится разбираться в ошибках и предлагать алгоритмы.

В итоге получилась консольная программа на 294 строки из 5 функций. Получает файл параметром, обрабатывает, выдает в консоль лог, сохраняет результат. На нее ушло где-то полтора дня с перерывами на другие дела. Сам я в этой программе не написал ни строчки кода.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Отредактировано 21.02.2025 21:12 temnik . Предыдущая версия . Еще …
Отредактировано 21.02.2025 21:10 temnik . Предыдущая версия .
Отредактировано 21.02.2025 21:08 temnik . Предыдущая версия .
Re: И снова пишем программы с ИИ
От: icezone  
Дата: 21.02.25 23:31
Оценка: +1
Здравствуйте, temnik, Вы писали:

T>Хочу поделиться опытом. Написал программу с помощью Qwen. На это ушло 2 дня, но не совсем.


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

попробовал совсем примитивные функции — косячат на ровном месте, портят память

я быстрее руками напишу код, чем буду этих савантов мучать
Re: И снова пишем программы с ИИ
От: Философ Ад http://vk.com/id10256428
Дата: 22.02.25 03:09
Оценка:
Здравствуйте, temnik, Вы писали:

T>...обрабатывать и модифицировать определенные json файлы большого объема (десятки Мб)....

T>...консольная программа на 294 строки из 5 функций. Получает файл параметром, обрабатывает, выдает в консоль лог, сохраняет результат...полтора дня...

Ну хз, на подобных задачах (перекладывал json'ы из угла в угол часто и много) это моя средняя производительность на шарпе и чуть выше средней на гошке — это если "с листа" писать, без копипасты из SO. Притом это с учётом того, что весь код должен быть покрыт тестами — функции прицельно под тестирование пишутся.
С учётом этих вводных ИИ выглядит лишним.
Всё сказанное выше — личное мнение, если не указано обратное.
Re: И снова пишем программы с ИИ
От: dmitry251  
Дата: 22.02.25 05:09
Оценка: 7 (1) :)
Здравствуйте, temnik, Вы писали:

Почему выбрали Qwen и Deepseek?

я экспериментировал с ChatGpt и сделал вывод что 4o сильно лучше чем mini.
Я совсем не шарю в javascript но за полдня оно сделало мне мини-сервис который давно хотел.
Сделал вывод что это х10 дешевле чем программист с фриланса, плюс все-таки худо-бедно вникаешь в язык, для себя полезно тоже.
Отредактировано 22.02.2025 6:25 dmitry251 . Предыдущая версия .
Re: И снова пишем программы с ИИ
От: falcoware Россия https://falcoware.com/rus/
Дата: 22.02.25 06:50
Оценка:
Здравствуйте, temnik, Вы писали:

T>Хочу поделиться опытом. Написал программу с помощью Qwen. На это ушло 2 дня, но не совсем.


NEVER EVER will you be replaced Valeriy!
Most certainly not by some crazy AI that permutates stuff that already has been made/coded/written for issues that we already know how to solve.

YOUR programming is more like art, thinking and creating code to realize what I (try to) describe that is not yet made/coded/written!

So, ChatGPT based coding is for the ignorant.

https://falcoware.com/rus/ — Бесплатные Игры!!!
Re[2]: И снова пишем программы с ИИ
От: temnik  
Дата: 22.02.25 10:08
Оценка:
Ф>С учётом этих вводных ИИ выглядит лишним.

Возможно, но я же написал, что не шарю в обработке json на паскале.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Re[2]: И снова пишем программы с ИИ
От: temnik  
Дата: 22.02.25 10:14
Оценка:
D>Почему выбрали Qwen и Deepseek?

Потому, что без VPN и бесплатно.

А еще потому, что на самом деле это 2й эксперимент. В первом я написал с Qwen тоже простой, но полностью функциональный компонент для Джумлы. Он показывает в админке таблицу обновлений софта из БД с возможностью фильтрации и рисует график. Компонент полностью написан ИИ, дана структура, файлы, их содержимое. Копипаст — создание файлов, и готово. Ушло полдня где-то. Если б это была 3я Джумла, я бы сам написал, но это была 5я, лень было изучать доки.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Re[2]: И снова пишем программы с ИИ
От: temnik  
Дата: 22.02.25 10:22
Оценка:
I>вот прямо сейчас занимался аналогичной задачей — полное фиаско как deepseek, так и qwen

Да ты просто не умеешь его готовить
ИИ может давать неверные решения, и в моем случае в начале так и было, потом совместными усилиями решение нашлось. Удачные решения надо фиксировать, говорить типа — "вот этот код работает почти правильно, запомни это, но нужно исправить вот это".
Ну и все-таки у меня простая консольная программа из одного файла. Но то что ИИ может сейчас говорит о том, что через пару лет он будет легко писать и сложные программы.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Re[2]: И снова пишем программы с ИИ
От: temnik  
Дата: 22.02.25 10:24
Оценка:
Здравствуйте, falcoware, Вы писали:

F>

F>So, ChatGPT based coding is for the ignorant.


Если рассматривать ИИ просто как IDE нового типа, то не всё так однозначно.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Re[3]: И снова пишем программы с ИИ
От: Философ Ад http://vk.com/id10256428
Дата: 22.02.25 11:35
Оценка:
Здравствуйте, temnik, Вы писали:


Ф>>С учётом этих вводных ИИ выглядит лишним.

T>Возможно, но я же написал, что не шарю в обработке json на паскале.

А зачем тогда на паскале? Я так понял, что основной язык — php. Что такого есть в паскале, чего нет в php? Я не стебусь — про php знаю только его название. Вопрос также возник потому, что для меня эти оба языка — императивные общего назначения, т.е. на них обоих можно реализовать любые структуры и алгоритмы. Я не прав?
Всё сказанное выше — личное мнение, если не указано обратное.
Re[3]: И снова пишем программы с ИИ
От: icezone  
Дата: 22.02.25 12:13
Оценка:
Здравствуйте, temnik, Вы писали:

T>Да ты просто не умеешь его готовить


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

самая коварная подстава — он поменял строки и столбцы, т.е. реально num_rows у него стала количеством стобцов во время расчетов
Re[4]: И снова пишем программы с ИИ
От: temnik  
Дата: 22.02.25 12:40
Оценка:
Ф>>>С учётом этих вводных ИИ выглядит лишним.
T>>Возможно, но я же написал, что не шарю в обработке json на паскале.

Ф>А зачем тогда на паскале? Я так понял, что основной язык — php. Что такого есть в паскале, чего нет в php? Я не стебусь — про php знаю только его название. Вопрос также возник потому, что для меня эти оба языка — императивные общего назначения, т.е. на них обоих можно реализовать любые структуры и алгоритмы. Я не прав?


Я думал на php будет быстрее. Но там потребовались внешние библиотеки для обработки больших файлов. Меня это не устроило. К тому же для запуска php нужен сервер, экзешник же более универсален, для него кроме ОС ничего не требуется. Языки не одинаковые. Php однопоточный, для многопоточности надо много чего городить. Ну и в целом, требуется большое окружение. Дельфи удобнее. Выбор между ними двумя просто потому, что их оба знаю.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Re[4]: И снова пишем программы с ИИ
От: temnik  
Дата: 22.02.25 12:45
Оценка:
Здравствуйте, icezone, Вы писали:

I>Здравствуйте, temnik, Вы писали:


T>>Да ты просто не умеешь его готовить


I>как готовить то, что не понимает базовых правил?

I>особождает память повторно после realloc

I>самая коварная подстава — он поменял строки и столбцы, т.е. реально num_rows у него стала количеством стобцов во время расчетов


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

Видимо, задача была сформулирована недостаточно четко. Можно сказать ему, чтобы не писал код, а сначала объяснил, что он понял из ТЗ, что именно нужно сделать. Явно указать6 что именно содержится в num_rows и др. полях. Добиться того, чтобы он сам правильно формулировал, а потом уже писать код.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Re[5]: И снова пишем программы с ИИ
От: icezone  
Дата: 22.02.25 13:51
Оценка:
Здравствуйте, temnik, Вы писали:

T>Видимо, задача была сформулирована недостаточно четко. Можно сказать ему, чтобы не писал код, а сначала объяснил, что он понял из ТЗ, что именно нужно сделать. Явно указать6 что именно содержится в num_rows и др. полях. Добиться того, чтобы он сам правильно формулировал, а потом уже писать код.


а этот дебил сам названия переменных выбрал и даже пояснил, но потом что-то пошло не так

ну а память освобождать после realloc он нафига начал?
Re: И снова пишем программы с ИИ
От: CRT  
Дата: 24.02.25 19:26
Оценка: :)
Здравствуйте, temnik, Вы писали:

T> Qwen предлагал


то он

T>Qwen их исправляла


то она
Re[2]: И снова пишем программы с ИИ
От: temnik  
Дата: 24.02.25 20:14
Оценка:
Здравствуйте, CRT, Вы писали:

CRT>Здравствуйте, temnik, Вы писали:


T>> Qwen предлагал


CRT>то он


T>>Qwen их исправляла


CRT>то она


Это всё, что есть сказать? Не густо...

Искусственный интеллект — это он, а нейросеть — это она.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Re: И снова пишем программы с ИИ
От: icezone  
Дата: 24.02.25 22:41
Оценка:
Здравствуйте, temnik, Вы писали:

попробовал совсем примитивные функции попросить — можете сами оценить работу с памятью


float* filtered_result = (float*)realloc(result, (end_index — start_index) * sizeof(float));

if (filtered_result == NULL) {
free(result);
printf("Memory reallocation failed.\n");
return NULL;
}

//Copy the filtered results into the new array

for (int i = 0; i < end_index — start_index; i++) {
filtered_result[i] = result[start_index + i];
}

free(result); // Free the original array
Re[2]: И снова пишем программы с ИИ
От: falcoware Россия https://falcoware.com/rus/
Дата: 25.02.25 01:33
Оценка:
Здравствуйте, icezone, Вы писали:

I>free(result); // Free the original array


realloc

Learn Microsoft
https://learn.microsoft.com › cpp
·
Translate this page
Dec 10, 2023 — Новый размер в байтах. Возвращаемое значение. realloc возвращает указатель void в перераспределенном (и, возможно, перемещенном) блоке памяти.

https://falcoware.com/rus/ — Бесплатные Игры!!!
Re[3]: И снова пишем программы с ИИ
От: icezone  
Дата: 25.02.25 02:23
Оценка:
Здравствуйте, falcoware, Вы писали:

F>Dec 10, 2023 — Новый размер в байтах. Возвращаемое значение. realloc возвращает указатель void в перераспределенном (и, возможно, перемещенном) блоке памяти.


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

и это не случайная ошибка — ими весь код усеян
хорошо что я это понимаю, а если бы это был незнакомый мне язык?
Re[4]: И снова пишем программы с ИИ
От: temnik  
Дата: 25.02.25 08:36
Оценка:
Здравствуйте, icezone, Вы писали:

I>Здравствуйте, falcoware, Вы писали:


F>>Dec 10, 2023 — Новый размер в байтах. Возвращаемое значение. realloc возвращает указатель void в перераспределенном (и, возможно, перемещенном) блоке памяти.


I>до этой строчки не дойдет, потому что он после ресайза еще и копирование запустил


I>и это не случайная ошибка — ими весь код усеян

I>хорошо что я это понимаю, а если бы это был незнакомый мне язык?

Мы же не знаем, что и как ты попросил ее сделать. Я попросил проанализировать Qwen этот код на ошибки, она среди прочего нашла такие —

Утечка памяти при ошибке realloc:
Если realloc возвращает NULL, старый массив result все еще остается доступным, но после вызова free(result) он удаляется.
Однако, если realloc успешен, адрес старого массива заменяется новым адресом, и старая память автоматически освобождается.
Чтобы избежать путаницы, можно сохранить старый адрес перед вызовом realloc:

float* temp = (float*)realloc(result, (end_index — start_index) * sizeof(float));
if (temp == NULL) {
printf("Memory reallocation failed.\n");
return NULL; // Старый массив остается нетронутым
}
filtered_result = temp;

Необходимость явного указания размера массива result:
В коде не указано, как определить размер массива result. Это может привести к проблемам, если start_index или end_index выходят за пределы массива.
Рекомендуется передавать размер массива как дополнительный параметр функции.

Использование realloc вместо malloc:
Если result был создан не с помощью malloc или calloc, а, например, как локальный массив, использование realloc может привести к ошибке.

Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Отредактировано 25.02.2025 8:37 temnik . Предыдущая версия .
Re[5]: И снова пишем программы с ИИ
От: icezone  
Дата: 25.02.25 15:15
Оценка:
Здравствуйте, temnik, Вы писали:

T>Мы же не знаем, что и как ты попросил ее сделать. Я попросил проанализировать Qwen этот код на ошибки, она среди прочего нашла такие —


я, по-твоему, просил ошибки специально добавить?

видно же что функция из массива берет кусок с заданными границами
Re[5]: И снова пишем программы с ИИ
От: Stanislaw K СССР  
Дата: 26.02.25 07:28
Оценка:
Здравствуйте, temnik, Вы писали:


T>Я думал на php будет быстрее. Но там потребовались внешние библиотеки для обработки больших файлов.


Для десятка мегабайт? при соответствующих лимитах двухгиговые файлы обрабатываются без внешних библиотек.
Больше похоже на ограничения сервера (upload body size) или в конфиге php.ini (max_size=2M memory_limit=8M)


T>Меня это не устроило. К тому же для запуска php нужен сервер,


для консоли есть же php-cli ? он и вызывается. если из командной строки запускать php scriptname.php

кстати, у него свой конфиг в /etc/php/ver/cli/php.ini, отличающийся от серверного /etc/php/ver/fpm/php.ini, и соответственно с отличающимися лимитами.
Все проблемы от жадности и глупости
Re[6]: И снова пишем программы с ИИ
От: temnik  
Дата: 26.02.25 09:49
Оценка:
T>>Я думал на php будет быстрее. Но там потребовались внешние библиотеки для обработки больших файлов.

SK>Для десятка мегабайт? при соответствующих лимитах двухгиговые файлы обрабатываются без внешних библиотек.

SK>Больше похоже на ограничения сервера (upload body size) или в конфиге php.ini (max_size=2M memory_limit=8M)

T>>Меня это не устроило. К тому же для запуска php нужен сервер,


SK>для консоли есть же php-cli ? он и вызывается. если из командной строки запускать php scriptname.php


Он в вакууме работает, или все-таки в окружении сервера? В окружении. Допустим, завтра мне потребуется запустить скрипт на другом компьютере — мне там сервер настраивать?

По-любому вопрос решен, программа для меня удобнее, да и интереснее.

Собственно, я предлагал обсудить применение ИИ для программирования, а не настройку php.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
Re[7]: И снова пишем программы с ИИ
От: Stanislaw K СССР  
Дата: 26.02.25 10:38
Оценка:
Здравствуйте, temnik, Вы писали:


SK>>для консоли есть же php-cli ? он и вызывается. если из командной строки запускать php scriptname.php


T>Он в вакууме работает, или все-таки в окружении сервера? В окружении.


В окружении OS.

T>Допустим, завтра мне потребуется запустить скрипт на другом компьютере — мне там сервер настраивать?


Сервер (очевидно httpd) не обязателен. Конечно, мало кто ставит php standalone, но это вполне нормальная конфигурация.

httpd при этом может быть на другом хосте, SQL db на третьем, а сами файлы на четвертом.

T>Собственно, я предлагал обсудить применение ИИ для программирования, а не настройку php.


Это просто полезная информация "для общего развития".
Все проблемы от жадности и глупости
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.