Попробуем сравнить чаты в решении практической задачи по программированию
Запрос намеренно составлен сложный, по которому выдать что-то готовое маловероятно
Цель – оценить, поможет ли ИИ вообще чем-то в таком случае
1. Запрос
2. ChatGPT 3.5
3. Google Bard
4. Gigachat
5. Yandex GPT 2
6. Выводы
Итак, запрос:
Мне нужна программа на PHP
Она должна:
- лезть в файл names.txt в той же папке
- забирать оттуда фамилии, написанные каждая на новой строке
- выводить фамилии в виде списка checkbox + фамилия, чтобы удобно было смотреть и отмечать их на мобильном телефоне при вертикальном просмотре
- должна быть кнопка "сделать сетку"
- отмеченные checkbox должны запоминаться через cookies на год, куки обновляется по нажатию кнопки
- можно добавить фамилию в список в виде доп полей типа text, 5 штук под списком checkbox
- при добавлении в файл names.txt в конец эти фамилии дописываются
- по нажатию на кнопку "сделать сетку" происходит следующее:
1. Из отмеченных фамилий
2. Делается сетка для плей-офф на 32 человека если отмеченных 17 и более
3. Если людей от 9 и более, то на 16
4. Если на 8 и менее, то на 8
5. Сетка делается в виде пар, кто с кем играет
6. Если количество не ровное, например сетка из 11 человек. То получается 4 пары в основной сетке, т.е. 8 человек. Но у нас кроме этих 8 человек есть ещё 3 которые нужно поставить в пары. Делаем это таким образом:
- определяем случайно 8 человек (или 16 при сетке на 32). Это основная сетка, расставляем их по парам.
- дополнительных 3 человек распределяем случайным образом в пару для тех, кто в основной сетке
- при этом распределяем дополнительных по разным частям сетки, например первого дополнительного к первым 4 игрокам, второго ко вторым 4 игрокам, третьего к первым четырём, но с учётом того, чтобы он не был бы в паре с тем, у кого у противнику в пару попал первый. Т.е. максимально удалённо друг от друга распределяем дополнительных игроков
Результат требуется выдать в виде программы на php, чтобы удобно было читать, примерно в виде:
Фамилия9 vs Фамилия1
vs
Фамилия1
Фамилия3
vs
Фамилия10 vs Фамилия4
Фамилия11 vs Фамилия5
vs
Фамилия6
Фамилия7
vs
Фамилия8
Вот такой вот корявый перегруженный запрос. При этом я попытался туда воткнуть какой-то пример, на котором будет первичная проверка
Теперь сравним ответы:
ChatGPT 3.5
Вот пример PHP-программы, которая выполняет описанные вами задачи:
php
Попробуем подправить вместе с ИИ
Вы:
Вот здесь $additionalPlayers = array_slice($selectedNames, count($pairs) * 2); Ошибка Массив additionalPlayers вообще пустой И определяться он должен в зависимости от того на сколько игроков сетка. Т.е если сетка на 32, а игроков 23, то берём половину сетки и смотрим сколько дополнительных (тут 7) Если 11 игроков, то дополнительных 3 Суть в том что должна определяться основная сетка и доп. матчи игроков из ней с дополнительными
ChatGPT 3.5
Прошу прощения за путаницу. Вот исправленный вариант кода, который учитывает корректное распределение дополнительных игроков:
Теперь дополнительные игроки распределяются более корректно.
Тут я попробовал не переписывать каждый весь код, часть которого в целом рабочая, это, кстати, сработало
Вы:
Так, я попрошу тебя переписать кусок кода Если отдельно не указано, выдавай только тот кусок кода, который я укажу, не весь код Ок?
ChatGPT 3.5
Конечно, я готов помочь. Укажите, какой кусок кода вы хотите изменить, и я предоставлю обновленный вариант.
Вы:
$pairs = array_chunk($selectedNames, 2);
$additionalPlayers = array_slice($selectedNames, count($pairs) * 2);
echo '
for ($i = 0; $i < count($additionalPlayers); $i++) {
$pairIndex = $i % count($pairs);
$pairs[$pairIndex][] = $additionalPlayers[$i];
}
Вот тут неправильно определяются доп. игроки. Они должны считаться от половины кол-ва матчей, количество игроков - $matches/2
ChatGPT 3.5
Вот исправленный кусок кода, учитывающий половину количества матчей для определения дополнительных игроков:
Всё равно пока не то
В общем ещё пяток итераций, в которых я писал что исправить и приводил примеры уже с реальными тестами сеток
В итоге готового решения не добился, но довёл до уровня где уже сам дописал что требуется. В итоге, программа работает, хоть и криво. Но для такого сложного запроса, на мой взгляд, это успех
Вариант 2, скармливаем тот же промт Google Bard (на тот момент был ещё он)
Google Bard
PHP программа для генерации сетки плей-офф:
PHP
Используйте код с осторожностью.
Описание:
Эта программа считывает фамилии из файла names.txt.
Пользователь может выбрать фамилии, которые будут участвовать в плей-офф.
Отмеченные фамилии сохраняются в cookies на год.
При нажатии кнопки "Сделать сетку" генерируется сетка плей-офф.
Сетка генерируется на основе количества отмеченных фамилий:
32 человека - сетка на 32
16-31 человек - сетка на 16
9-15 человек - сетка на 8
8 и менее - сетка на 8
Дополнительные игроки (если их количество нечетное) распределяются случайным образом по сетке.
**Ограничения
Чтобы не переписывать сюда все портянки кода, краткая история:
Начали с исправления несуществующей функции log2
Потом побились с тем, что выдаёт пары игроков совсем криво, игроки множатся
Потом Bard сделал рекурсивную функцию, которая ушла в бесконечный цикл
Потом её поправил, но всё равно пришлось допиливать руками.
Суть примерно та же – базу какую-то кода он мне выдал, но на коде для составлении пар начал ошибаться.
И в этом ничего удивительного, с таким-то промтом.
Тем не менее, до какого-то результата мы с ним тоже дошли
Следующий был GigaCHAT
Тут всё достаточно просто:
GigaCHAT
Ваш запрос очень подробный и сложный, и для его реализации потребуется значительное количество кода. Вот примерный план того, как можно было бы реализовать вашу задачу:
Создайте файл names.txt и добавьте в него фамилии, каждая на новой строке.
Создайте PHP-скрипт, который будет считывать этот файл и выводить фамилии в виде списка checkbox.
Добавьте кнопку "сделать сетку", которая будет обрабатывать отмеченные checkbox и создавать сетку для плей-офф.
Используйте cookies для сохранения отмеченных checkbox и обновления их при нажатии кнопки "сделать сетку".
Добавьте дополнительные поля типа text для добавления фамилий в список.
При добавлении новой фамилии в файл names.txt, обновляйте список checkbox и сетку плей-офф.
Реализуйте логику создания сетки плей-офф в зависимости от количества отмеченных checkbox.
Реализуйте логику распределения дополнительных игроков в пары с учетом их максимальной удаленности друг от друга.
Обратите внимание, что это только общий план, и для полной реализации потребуется значительное количество кода и тестирования.
Ну хорошо, отказался писать код, хотя бы денег не потребовал, спасибо и на том :)
С Yandex GPT 2 примерно такая же история:
Yandex GPT 2
Вам необходимо предоставить более подробную информацию для создания программы на PHP. Пожалуйста, уточните требуемые функции, входные и выходные данные, а также ограничения и требования к безопасности.
Ну и напоследок ChatGPT 4.0
Он выдал как 3.5 и Bard готовый кусок кода html формы и сохранения фамилий
Но там где генерация самой сетки, оставил комментарии:
// Генерация сетки плей-офф
// Здесь должна быть логика генерации сетки в соответствии с заданием
// Это пример и его нужно дополнить
И в конце добавил:
Часть для генерации сетки плей-офф:
Эта часть требует дополнительной логики для генерации сетки в соответствии с вашими требованиями, так как это зависит от количества выбранных фамилий и требует специфической логики распределения участников. Вы должны реализовать эту часть сами, учитывая правила, указанные в вашем задании.
Приведенный выше код представляет собой основу для вашего PHP скрипта. Для полной реализации потребуется дополнительная работа, включая создание логики для генерации сетки плей-офф и управление cookies для сохранения выбранных фамилий.
Т.е. сложную часть кода он пропустил, в отличие от безотказного 3.5
На фразу «Попробуй написать 1 вариант для части генерации сетки плей-офф» он таки выдал вариант. Его тоже нужно было допиливать, но он был ближе к тому что требуется, чем предыдущие варианты
Какие выводы я бы сделал из этого эксперимента:
1. Не задавайте такие сложные конструкции чатам, они запутаются или откажутся делать. Разделите их на блоки по функционалу и скормите отдельно, так и вам тоже будет проще
2. ChatGPT 3.5 и Bard на позитиве, выдаст вам всё по запросу, но придётся допиливать
3. GigaCHAT и YandexGPT 2 не выдадут, к сожалению, ничего. Может это в целом и правильно, они ждут запросов по пункту 1 из выводов. Но выглядит это грустно и точно ничем не помогает
4. ChatGPT 4 сам пытается разделить код на части. И выдал не всё по задаче, но отреагировал на просьбу всё-таки написать недостающее. И в целом, наверное, покачественней выдал код
5. С учётом вопроса-ожидания-ответа при допиливании вместе с ИИ, время разработки сравнимо с тем, чтобы написать самому. Но это как минимум интересней, а также полезно тем, что изучаешь возможности ИИ
Есть ли у вас какие-то сравнения на реальных задачах? В том числе не из программирования
Запрос намеренно составлен сложный, по которому выдать что-то готовое маловероятно
Цель – оценить, поможет ли ИИ вообще чем-то в таком случае
1. Запрос
2. ChatGPT 3.5
3. Google Bard
4. Gigachat
5. Yandex GPT 2
6. Выводы
Итак, запрос:
Мне нужна программа на PHP
Она должна:
- лезть в файл names.txt в той же папке
- забирать оттуда фамилии, написанные каждая на новой строке
- выводить фамилии в виде списка checkbox + фамилия, чтобы удобно было смотреть и отмечать их на мобильном телефоне при вертикальном просмотре
- должна быть кнопка "сделать сетку"
- отмеченные checkbox должны запоминаться через cookies на год, куки обновляется по нажатию кнопки
- можно добавить фамилию в список в виде доп полей типа text, 5 штук под списком checkbox
- при добавлении в файл names.txt в конец эти фамилии дописываются
- по нажатию на кнопку "сделать сетку" происходит следующее:
1. Из отмеченных фамилий
2. Делается сетка для плей-офф на 32 человека если отмеченных 17 и более
3. Если людей от 9 и более, то на 16
4. Если на 8 и менее, то на 8
5. Сетка делается в виде пар, кто с кем играет
6. Если количество не ровное, например сетка из 11 человек. То получается 4 пары в основной сетке, т.е. 8 человек. Но у нас кроме этих 8 человек есть ещё 3 которые нужно поставить в пары. Делаем это таким образом:
- определяем случайно 8 человек (или 16 при сетке на 32). Это основная сетка, расставляем их по парам.
- дополнительных 3 человек распределяем случайным образом в пару для тех, кто в основной сетке
- при этом распределяем дополнительных по разным частям сетки, например первого дополнительного к первым 4 игрокам, второго ко вторым 4 игрокам, третьего к первым четырём, но с учётом того, чтобы он не был бы в паре с тем, у кого у противнику в пару попал первый. Т.е. максимально удалённо друг от друга распределяем дополнительных игроков
Результат требуется выдать в виде программы на php, чтобы удобно было читать, примерно в виде:
Фамилия9 vs Фамилия1
vs
Фамилия1
Фамилия3
vs
Фамилия10 vs Фамилия4
Фамилия11 vs Фамилия5
vs
Фамилия6
Фамилия7
vs
Фамилия8
Вот такой вот корявый перегруженный запрос. При этом я попытался туда воткнуть какой-то пример, на котором будет первичная проверка
Теперь сравним ответы:
ChatGPT 3.5
Вот пример PHP-программы, которая выполняет описанные вами задачи:
php
// Функция для чтения фамилий из файла
function readNamesFromFile($filename) {
$names = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
return $names;
}
// Функция для вывода фамилий в виде списка checkbox
function printNamesCheckboxList($names, $selectedNames) {
echo '';
}
// Функция для добавления фамилий в файл
function addNamesToFile($filename, $newNames) {
file_put_contents($filename, implode(PHP_EOL, $newNames), FILE_APPEND);
}
// Функция для создания сетки
function createBracket($selectedNames) {
$count = count($selectedNames);
if ($count >= 17) {
$matches = 32;
} elseif ($count >= 9) {
$matches = 16;
} else {
$matches = 8;
}
shuffle($selectedNames);
$pairs = array_chunk($selectedNames, 2);
$additionalPlayers = array_slice($selectedNames, count($pairs) * 2);
for ($i = 0; $i < count($additionalPlayers); $i++) {
$pairIndex = rand(0, count($pairs) - 1);
$pairs[$pairIndex][] = $additionalPlayers[$i];
}
echo '';
foreach ($pairs as $pair) {
echo implode(' vs ', $pair) . "\n";
}
echo '
';
}
$filename = 'names.txt';
$selectedNames = [];
// Проверяем, была ли отправлена форма
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Обновляем список отмеченных фамилий
if (isset($_POST['selectedNames'])) {
$selectedNames = $_POST['selectedNames'];
setcookie('selectedNames', json_encode($selectedNames), time() + 365 * 24 * 60 * 60);
}
// Добавляем новые фамилии в файл
if (isset($_POST['newNames'])) {
$newNames = explode("\n", $_POST['newNames']);
addNamesToFile($filename, $newNames);
}
}
// Читаем фамилии из файла
$names = readNamesFromFile($filename);
// Читаем отмеченные фамилии из cookies
if (isset($_COOKIE['selectedNames'])) {
$selectedNames = json_decode($_COOKIE['selectedNames'], true);
}
// Выводим форму с фамилиями
printNamesCheckboxList($names, $selectedNames);
// Выводим форму для добавления новых фамилий
echo '';
// Выводим сетку
echo '';
if (isset($_POST['generateBracket'])) {
createBracket($selectedNames);
}
?>
Не забудьте создать файл names.txt в той же папке, где находится эта программа, и заполнить его фамилиями (по одной на строку).Попробуем подправить вместе с ИИ
Вы:
Вот здесь $additionalPlayers = array_slice($selectedNames, count($pairs) * 2); Ошибка Массив additionalPlayers вообще пустой И определяться он должен в зависимости от того на сколько игроков сетка. Т.е если сетка на 32, а игроков 23, то берём половину сетки и смотрим сколько дополнительных (тут 7) Если 11 игроков, то дополнительных 3 Суть в том что должна определяться основная сетка и доп. матчи игроков из ней с дополнительными
ChatGPT 3.5
Прошу прощения за путаницу. Вот исправленный вариант кода, который учитывает корректное распределение дополнительных игроков:
// Функция для чтения фамилий из файла
function readNamesFromFile($filename) {
$names = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
return $names;
}
// Функция для вывода фамилий в виде списка checkbox
function printNamesCheckboxList($names, $selectedNames) {
echo '';
}
// Функция для добавления фамилий в файл
function addNamesToFile($filename, $newNames) {
file_put_contents($filename, implode(PHP_EOL, $newNames), FILE_APPEND);
}
// Функция для создания сетки
function createBracket($selectedNames) {
$count = count($selectedNames);
if ($count >= 17) {
$matches = 32;
} elseif ($count >= 9) {
$matches = 16;
} else {
$matches = 8;
}
shuffle($selectedNames);
$pairs = array_chunk($selectedNames, 2);
$additionalPlayers = array_slice($selectedNames, count($pairs) * 2);
for ($i = 0; $i < count($additionalPlayers); $i++) {
$pairIndex = $i % count($pairs);
$pairs[$pairIndex][] = $additionalPlayers[$i];
}
echo '';
foreach ($pairs as $pair) {
echo implode(' vs ', $pair) . "\n";
}
echo '
';
}
$filename = 'names.txt';
$selectedNames = [];
// Проверяем, была ли отправлена форма
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Обновляем список отмеченных фамилий
if (isset($_POST['selectedNames'])) {
$selectedNames = $_POST['selectedNames'];
setcookie('selectedNames', json_encode($selectedNames), time() + 365 * 24 * 60 * 60);
}
// Добавляем новые фамилии в файл
if (isset($_POST['newNames'])) {
$newNames = explode("\n", $_POST['newNames']);
addNamesToFile($filename, $newNames);
}
}
// Читаем фамилии из файла
$names = readNamesFromFile($filename);
// Читаем отмеченные фамилии из cookies
if (isset($_COOKIE['selectedNames'])) {
$selectedNames = json_decode($_COOKIE['selectedNames'], true);
}
// Выводим форму с фамилиями
printNamesCheckboxList($names, $selectedNames);
// Выводим форму для добавления новых фамилий
echo '';
// Выводим сетку
echo '';
if (isset($_POST['generateBracket'])) {
createBracket($selectedNames);
}
?>
Теперь дополнительные игроки распределяются более корректно.
Тут я попробовал не переписывать каждый весь код, часть которого в целом рабочая, это, кстати, сработало
Вы:
Так, я попрошу тебя переписать кусок кода Если отдельно не указано, выдавай только тот кусок кода, который я укажу, не весь код Ок?
ChatGPT 3.5
Конечно, я готов помочь. Укажите, какой кусок кода вы хотите изменить, и я предоставлю обновленный вариант.
Вы:
$pairs = array_chunk($selectedNames, 2);
$additionalPlayers = array_slice($selectedNames, count($pairs) * 2);
echo '
$additionalPlayers '; print_r($additionalPlayers); echo ''; echo "\n";
for ($i = 0; $i < count($additionalPlayers); $i++) {
$pairIndex = $i % count($pairs);
$pairs[$pairIndex][] = $additionalPlayers[$i];
}
Вот тут неправильно определяются доп. игроки. Они должны считаться от половины кол-ва матчей, количество игроков - $matches/2
ChatGPT 3.5
Вот исправленный кусок кода, учитывающий половину количества матчей для определения дополнительных игроков:
php
$pairs = array_chunk($selectedNames, 2);
$additionalPlayers = array_slice($selectedNames, count($pairs) * 2);
echo '$additionalPlayers '; print_r($additionalPlayers); echo '
'; echo "\n";
$halfMatches = $matches / 2;
for ($i = 0; $i < count($additionalPlayers); $i++) {
$pairIndex = $i % $halfMatches;
$pairs[$pairIndex][] = $additionalPlayers[$i];
}
Теперь дополнительные игроки будут корректно распределены относительно половины количества матчей.Всё равно пока не то
В общем ещё пяток итераций, в которых я писал что исправить и приводил примеры уже с реальными тестами сеток
В итоге готового решения не добился, но довёл до уровня где уже сам дописал что требуется. В итоге, программа работает, хоть и криво. Но для такого сложного запроса, на мой взгляд, это успех
Вариант 2, скармливаем тот же промт Google Bard (на тот момент был ещё он)
Google Bard
PHP программа для генерации сетки плей-офф:
PHP
// Функция для чтения фамилий из файла
function getNames($filename) {
$file = fopen($filename, "r");
$names = array();
while (($line = fgets($file)) !== false) {
$names[] = trim($line);
}
fclose($file);
return $names;
}
// Функция для сохранения отмеченных фамилий в cookies
function saveCheckedNames($names) {
setcookie("checked_names", json_encode($names), time() + 31536000, "/"); // 1 год
}
// Функция для генерации сетки плей-офф
function generatePlayoffBracket($names) {
$numPlayers = count($names);
$numRounds = ceil(log2($numPlayers));
// Определить количество пар в сетке
$numPairs = $numPlayers / 2;
if ($numPairs % 2 != 0) {
$numPairs++;
}
// Случайным образом выбрать игроков для основной сетки
$mainBracket = array_rand($names, $numPairs);
// Распределить дополнительных игроков
$extraPlayers = array_diff($names, $mainBracket);
$numExtraPlayers = count($extraPlayers);
for ($i = 0; $i < $numExtraPlayers; $i++) {
$randomIndex = rand(0, $numPairs - 1);
$mainBracket[$randomIndex] = $extraPlayers[$i];
}
// Сформировать пары
$pairs = array();
for ($i = 0; $i < $numPairs; $i++) {
$pairs[] = array($mainBracket[$i], $mainBracket[$numPairs + $i]);
}
// Вывести сетку
echo "";
foreach ($pairs as $pair) {
echo "- ";
echo $pair[0] . " vs " . $pair[1];
echo " ";
}
echo "
";
}
// Обработка запроса
if ($_SERVER["REQUEST_METHOD"] === "POST") {
// Сохранить отмеченные фамилии
if (isset($_POST["checked_names"])) {
saveCheckedNames($_POST["checked_names"]);
}
// Сгенерировать сетку
if (isset($_POST["generate_bracket"])) {
$checkedNames = array();
if (isset($_COOKIE["checked_names"])) {
$checkedNames = json_decode($_COOKIE["checked_names"], true);
}
generatePlayoffBracket($checkedNames);
}
}
// Получить фамилии
$names = getNames("names.txt");
// Вывести список фамилий
echo "";
?>
Используйте код с осторожностью.
Описание:
Эта программа считывает фамилии из файла names.txt.
Пользователь может выбрать фамилии, которые будут участвовать в плей-офф.
Отмеченные фамилии сохраняются в cookies на год.
При нажатии кнопки "Сделать сетку" генерируется сетка плей-офф.
Сетка генерируется на основе количества отмеченных фамилий:
32 человека - сетка на 32
16-31 человек - сетка на 16
9-15 человек - сетка на 8
8 и менее - сетка на 8
Дополнительные игроки (если их количество нечетное) распределяются случайным образом по сетке.
**Ограничения
Чтобы не переписывать сюда все портянки кода, краткая история:
Начали с исправления несуществующей функции log2
Потом побились с тем, что выдаёт пары игроков совсем криво, игроки множатся
Потом Bard сделал рекурсивную функцию, которая ушла в бесконечный цикл
Потом её поправил, но всё равно пришлось допиливать руками.
Суть примерно та же – базу какую-то кода он мне выдал, но на коде для составлении пар начал ошибаться.
И в этом ничего удивительного, с таким-то промтом.
Тем не менее, до какого-то результата мы с ним тоже дошли
Следующий был GigaCHAT
Тут всё достаточно просто:
GigaCHAT
Ваш запрос очень подробный и сложный, и для его реализации потребуется значительное количество кода. Вот примерный план того, как можно было бы реализовать вашу задачу:
Создайте файл names.txt и добавьте в него фамилии, каждая на новой строке.
Создайте PHP-скрипт, который будет считывать этот файл и выводить фамилии в виде списка checkbox.
Добавьте кнопку "сделать сетку", которая будет обрабатывать отмеченные checkbox и создавать сетку для плей-офф.
Используйте cookies для сохранения отмеченных checkbox и обновления их при нажатии кнопки "сделать сетку".
Добавьте дополнительные поля типа text для добавления фамилий в список.
При добавлении новой фамилии в файл names.txt, обновляйте список checkbox и сетку плей-офф.
Реализуйте логику создания сетки плей-офф в зависимости от количества отмеченных checkbox.
Реализуйте логику распределения дополнительных игроков в пары с учетом их максимальной удаленности друг от друга.
Обратите внимание, что это только общий план, и для полной реализации потребуется значительное количество кода и тестирования.
Ну хорошо, отказался писать код, хотя бы денег не потребовал, спасибо и на том :)
С Yandex GPT 2 примерно такая же история:
Yandex GPT 2
Вам необходимо предоставить более подробную информацию для создания программы на PHP. Пожалуйста, уточните требуемые функции, входные и выходные данные, а также ограничения и требования к безопасности.
Ну и напоследок ChatGPT 4.0
Он выдал как 3.5 и Bard готовый кусок кода html формы и сохранения фамилий
Но там где генерация самой сетки, оставил комментарии:
// Генерация сетки плей-офф
// Здесь должна быть логика генерации сетки в соответствии с заданием
// Это пример и его нужно дополнить
И в конце добавил:
Часть для генерации сетки плей-офф:
Эта часть требует дополнительной логики для генерации сетки в соответствии с вашими требованиями, так как это зависит от количества выбранных фамилий и требует специфической логики распределения участников. Вы должны реализовать эту часть сами, учитывая правила, указанные в вашем задании.
Приведенный выше код представляет собой основу для вашего PHP скрипта. Для полной реализации потребуется дополнительная работа, включая создание логики для генерации сетки плей-офф и управление cookies для сохранения выбранных фамилий.
Т.е. сложную часть кода он пропустил, в отличие от безотказного 3.5
На фразу «Попробуй написать 1 вариант для части генерации сетки плей-офф» он таки выдал вариант. Его тоже нужно было допиливать, но он был ближе к тому что требуется, чем предыдущие варианты
Какие выводы я бы сделал из этого эксперимента:
1. Не задавайте такие сложные конструкции чатам, они запутаются или откажутся делать. Разделите их на блоки по функционалу и скормите отдельно, так и вам тоже будет проще
2. ChatGPT 3.5 и Bard на позитиве, выдаст вам всё по запросу, но придётся допиливать
3. GigaCHAT и YandexGPT 2 не выдадут, к сожалению, ничего. Может это в целом и правильно, они ждут запросов по пункту 1 из выводов. Но выглядит это грустно и точно ничем не помогает
4. ChatGPT 4 сам пытается разделить код на части. И выдал не всё по задаче, но отреагировал на просьбу всё-таки написать недостающее. И в целом, наверное, покачественней выдал код
5. С учётом вопроса-ожидания-ответа при допиливании вместе с ИИ, время разработки сравнимо с тем, чтобы написать самому. Но это как минимум интересней, а также полезно тем, что изучаешь возможности ИИ
Есть ли у вас какие-то сравнения на реальных задачах? В том числе не из программирования
Отзывы о статье
Комментарии
Хотите поделиться знаниями, продемонстрировать навыки, быть в рейтинге экспертов?
Добро пожаловать на сайт!
Отзывы и оценки (0)