ИИ в IT: выясняем, какая из бесплатных нейросетей лучше пишет код

TechnoLab

visibility
22 Дек 2019
indite.ru
трейдинг с применением искусственного интеллекта AI trading



Вопреки распространенному мнению, использование передовых ИИ-инструментов замедляет работу опытных разработчиков ПО при взаимодействии с известными кодовыми базами, а не ускоряет ее. Об этом свидетельствует новое исследование, которое провела некоммерческая исследовательская организация METR.


Аналитики следили за группой опытных разработчиков, которые применяли популярного ИИ-помощника Cursor для выполнения задач в проектах с открытым исходным кодом. Ожидалось, что время работы сократится на 24% благодаря искусственному интеллекту.


Даже после окончания исследования разработчики считали, что применение языковой модели снизило длительность выполнения задач на 20%. В реальности время выросло на 19%.


Полученные результаты ставят под сомнение распространенное мнение о том, что ИИ всегда значительно повышает продуктивность хороших специалистов. Причина замедления работы — необходимость проверять и исправлять предложения искусственного интеллекта.


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


Для тех, кто считает так же, ForkLog протестировал и подготовил подробный анализ возможностей программирования трех популярных ИИ-моделей: Grok, ChatGPT и DeepSeek.


Спойлер: Grok справился лучше всех.

Кто лучше всех напишет за вас код?


Описание задачи: попросим нейросети написать REST API-сервер на Python для приложения To-Do List с функциями создания, получения, обновления и удаления задач. Данные должны храниться в памяти, без базы. Нейросеть должна написать рабочий код и объяснить его.


API применяют везде — от мобильных приложений до сайтов. Например, когда вы проверяете погоду в приложении, оно использует REST API, чтобы взять данные с сервера. REST API для To-Do List позволяет приложению: добавить, показать, изменить или удалить задачу.


Промпт:

«Напиши REST API-сервер на Python с использованием Flask или FastAPI для приложения To-Do List. Сервер должен поддерживать создание, получение, обновление и удаление задач (CRUD). Сохрани задачи в памяти, без базы данных. Код должен быть читаемым и понятным. Просто и понятно объясни, как этот код работает и как его можно протестировать».

Grok


Фрагмент кода:

# Создаем экземпляр FastAPI приложения


app = FastAPI(title="To-Do List API")


# Модель для задачи (определяет, какие данные должна содержать задача)


class Task(BaseModel):


id: int


title: str


description: str | None = None # Описание необязательное


completed: bool = False # По умолчанию задача не выполнена


# Хранилище задач в памяти (список словарей)


tasks: List[Task] = []

Полный код — 64 строки.


Как это работает

AD_4nXeSgZj7nYNNoNB197CamSoq0sX9Z76Cj74CCiQ9eZzM4znOV-sNOqzXFOoMXIBxo8e-_NBb7BCQvj2c0OW7xqBhB_0r1sXrW8OXvGfCH21kOMdwp1SfWGNzvpgWK-dSqdo0i1cvpg

AD_4nXc7aCaMwQlqTcJVjnSI-R7ovWaQuf3AFdd_MO5xdOmUuDfPl_tyqZWBvBNNo5Fj7aDQSOAcnpl_WIvdf5xZsqmCGeTSCVjri4qWJQHvC0mUlCHrH-iO0TdENhypna_ZJRwiXcIKYQ

Данные: Grok.

Результат: сервер запущен, API работает без нареканий. Отправляем задачу, и она появляется в списке.

AD_4nXcHKXDmq2EZOaI-WfFN5riAMn9TP0dlyWPhy0xpr-9VOyMFNTadzVhNECDwpnCP_vAANSnspxswNsqcW0y1A8QBjlZDLHRli_av7ViAlKdjFmy13m4DvC2Jbcn9tIs6tuQ5h3zjAQ

AD_4nXemnsmWjRW0-CcxevH6TPn8z_LiV1Iu57si4ECizXcdcQOMNb3ZaKcGjFie45zCc8WiHxRCvGSPQOfNdlsDL-HFPcMV8jxEuHJPMIVpRfmKl4GEaXi6_dYuvyHHuH6Eb04hLakEWw

Данные: Антон Тулупников.

Как Grok оценивает собственную работу:

«Код: 8/10 — написал простой, читаемый REST API с CRUD, но можно добавить валидацию (например, для title) и обработку краевых случаев. Объяснение: 9/10 — подробно описал работу кода и тестирование, все структурировано и понятно, но можно чуть короче. Общая оценка: 8,5/10 — задача решена качественно, есть небольшой потенциал для улучшений».

DeepSeek


Фрагмент кода:

# Создаем экземпляр FastAPI приложения


app = FastAPI()


# Класс для описания структуры задачи (модель данных)


class Task(BaseModel):


id: int


title: str


description: Optional[str] = None # Описание необязательное


completed: bool = False # По умолчанию задача не выполнена


# "База данных" в памяти - просто список задач


tasks_db = []


current_id = 1 # Счетчик для генерации уникальных ID

Полный код вышел на 56 строк.


Как это работает

AD_4nXeqN7fVSrhypBMaegrBYssVWXJHuYJ8uIY_L09azwwNBJ_w39-Ki0DFqmsX-p-BM-Cns_Q6H2uxn1ioK6eqjygmFL-s9XFLGp9sZcfemtL0xsKM0Ibgpgl3A9SD-cBRtIZ56Vsccg

Данные: DeepSeek.

Результат: у DeepSeek возникли трудности. При создании задачи произошла ошибка 422 (сервер получил данные, но не смог их обработать из-за несоответствия формату). Дело в том, что в коде прописано, что при создании задачи нужно обязательно указывать id:

# Класс для описания структуры задачи (модель данных)


class Task(BaseModel):


id: int


title: str


description: Optional[str] = None # Описание необязательное


completed: bool = False # По умолчанию задача не выполнена

но по логике id должен генерироваться автоматически (это делает строка task.id = current_id в функции create_task). Со второй попытки нейросеть исправила ошибку, убрав лишнюю строку, и функция заработала корректно:

AD_4nXfYnsiTpzwoD29InEDayf46wJrHC57SdIuGhDLx_A4h5VspC32YM-OLhlx0Ox3yPgOmNlauafR7aFhLmL4WRjRlVmBcXZctMKAvqtAzfpgY8gtUIVGSVFjGJHzaDCknlkFLhPn2

Данные: Антон Тулупников.

Как DeepSeek оценивает свою работу:

«Код: 8/10. Исправил критическую ошибку с id, сделал логику создания задач надежной. Можно улучшить: добавить сохранение задач в файл (чтобы не пропадали после перезапуска). Объяснение: 9/10. Простые, пошаговые инструкции. Можно улучшить: добавить больше примеров ошибок и их визуализацию. Итог: Хорошо справился, но есть куда расти! Спасибо за доверие!»

ChatGPT


Фрагмент кода:

# Временное хранилище задач (в памяти)


tasks: List[Task] = []


# Получить список всех задач


@app.get("/tasks", response_model=List[Task])


def get_tasks():


return tasks


# Получить задачу по ID


@app.get("/tasks/{task_id}", response_model=Task)


def get_task(task_id: int):


for task in tasks:


if task.id == task_id:


return task


raise HTTPException(status_code=404, detail="Задача не найдена")

Полный код от GPT — 57 строк.


Как это работает


Данные: ChatGPT.


Результат: сервер и все функции работают исправно.

AD_4nXfTnUrQ2t651UBgWX2G_r737JGJQHZaCHWSXEF9dXxNobkStoXOYYXpHczjg1q2rFy6LnZ5yJYrALuXaGeVas-s95BMEiq1VHUpNcGCzyugoAaOBdH_oddHBJ3CDTT8Ac6ew6TB3Q

Данные: Антон Тулупников.

Как GPT оценивает свои результаты:

«Код: чистый, простой, соответствует лучшим практикам FastAPI и задачи CRUD. Объяснение: понятное, пошаговое, с примерами и альтернативами (Swagger, curl). Оценка: 9,5/10 — хорошо сбалансировано для новичка: минимум кода, максимум пользы. Если есть, что улучшить — с радостью подскажу или доработаю».

Предварительный итог


Каждая нейросеть смогла написать рабочий код с комментариями и пояснениями. ChatGPT и Grok сделали это с первой попытки, а их китайский конкурент — со второй, потратив немного больше времени. Все ИИ использовали FastAPI, объяснив это тем, что он проще и современнее, чем Flask. И ChatGPT, и Grok, и DeepSeek добавили обработку ошибок, хотя этой задачи не было в промпте.


Каждый «испытуемый» объяснил, как запустить сервер и протестировать его работу. Самым полным и понятным кажется объяснение кода нейросетью Grok — она подробно описала, как работает каждая функция: запуск сервера, FastAPI, хранилище задач, обработка ошибок. DeepSeek была более лаконичной, а ChatGPT уложился в несколько слов.


Оценка по 3-балльной шкале:

НейросетьРаботоспособность кодаПонятность объясненийЧитаемость кода
Grok333
DeepSeek223
ChatGPT313

Код не работает? Не обязательно переделывать его самостоятельно


Описание задачи: проанализировать и исправить плохо написанный JavaScript-код для функции, которая создает простую анимацию на веб-странице (например, движущийся квадрат, меняющий цвет).


Промпт:

«Есть код на JavaScript (приведен выше). Это функция для анимации движущегося квадрата на HTML Canvas. Найди в нем ошибки, объясни, в чем проблема, и напиши исправленную версию кода. Если есть возможность — оптимизируй код, добавь проверку границ canvas, возможность остановки анимации и комментарии. Объясни свои изменения и расскажи, как запустить анимацию».

Фрагмент кода с ошибками:

setInterval(function() {


context.fillStyle = "white";


for (var i = 0; i < snowflakes.length; i++) {


context.beginPath();


context.arc(snowflakes.x, snowflakes.y, 5, 0, Math.PI * 2);


context.fill();


snowflakes.y = snowflakes.y + snowflakes.speed;


if (snowflakes.y > 150) {


snowflakes.y = 0;



Полный код написан без комментариев и содержит ошибки.


Так выглядит анимация:

AD_4nXfjVHqQrYNbWm2v7Mdg7qlytTBRO5rgXPgEnIiFSMSq3LohVJsmMKI9iyyYYnq47vRt4ipUIJK65F-ZS7Fl_fomysX5kyb7JGwJCshHPpavwOoY73fAXqVbaWi_1q6V2b9gNuntVg

Данные: Антон Тулупников.

Grok


Выявление проблем в коде:

AD_4nXd-5z1YRDq0QXDBzzi04dvOfwylVaX74dfTXgt2ZnKlN-tr421-d2LP5HkrfwYOUJ1yrwfgaZW8hlTTIRVHsacNPUlY9NnkF2yqLQmNrvoUH7_6BVMggoWoDlpuZk9p-SgyF0zg

Данные: Grok.

Нейросеть обнаружила в коде десять проблем, включая неоптимальную производительность (использование setInterval вместо requestAnimationFrame), отсутствие проверки скорости снежинок и дублирование отрисовки.


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

AD_4nXdzJxzAAPMayotyLqS-19XHBBdE6xcmjJCg-Fr9D2CiNPLW-YqgMW0uXp_vaTwM7YgHbHVUen_Px6Iu3bJYB65oeFcgzRwU6S8oH_jtJm1cKvp0PNigm8CUt66nnSUsmuUquvqt

Данные: Антон Тулупников.

Единственное нарекание: в коде нет обработки изменения размеров окна — если размер окна браузера изменяется, размеры canvas остаются фиксированными. Это может привести к некорректному отображению анимации на больших экранах. Однако в этом же ответе нейросеть предложила добавить соответствующую функцию, если она нужна.


Комментарий Grok:

«Справился хорошо: выявил все ошибки, предложил оптимизированную версию с новыми функциями и подробными комментариями. Код стал надежнее и гибче».

DeepSeek


Выявление проблем в коде:

AD_4nXeNp_PUXhrXQmHdAmBjdpGfSPmLEdQoz3YdesjRCsgHpTsednEcWVyfYUFKHUux2sqXhqrDbnmM-ss03RrwcfD0tu3R-2LukbDeJGsImfzH6X7xHIJ3WgWUr7q6Kg5TjVmqZHh_Zw

Данные: DeepSeek.

Китайская нейросеть выявила семь ключевых проблем и предложила их решение.


Результат:

AD_4nXeHrpcmc787lUKTjG1Pnvea7PaKBARdI_i5ubO0NvaSIWYFpLgTZ-o2pzdwZPvx_cBvHHFV9HF3LHuJBjncmrfy-XOVSZP0ZEihR68s_z_8dNQU4SVt7zgjK7ZqDioPfDsZxemE

Данные: Антон Тулупников.

Исправленный код в целом функционален, но содержит несколько ошибок.


Код пытается увеличить скорость снежинок в созданном пустом массиве:

for (const flake of snowflakes) {


flake.speed += 0.5;


}

Из-за этого нажатие кнопки «Увеличить скорость» не дает никакого эффекта.


Кнопка «Остановить анимацию» работает: анимация останавливается. Но при повторном нажатии вызывается startSnowfall, которая создает новый массив снежинок. Это приводит к сбросу текущего состояния снежинок (их позиций, скоростей и размеров), из-за чего анимация «перезапускается» с новыми снежинками вместо продолжения текущей. Помимо этого, так же, как и в коде, который написал Grok, здесь нет обработки изменения размера окна.


Комментарий DeepSeek:

«До правок работа была неплохой, но с критическими недочетами. Справился на 3/5 — базовая анимация работала, но управление и надежность хромали. После твоих правок исправил все и вывел на 5/5»

ChatGPT


Выявление проблем в коде:

AD_4nXcA6zLLesL4L4t34Ci-P_b9shE21holx0ufQNKuEZUdMLWQ3JuXF7wrDn7_Yt3N-5rgLWu3Vt2ErbesnQyd31YH22_gO0D2Jv1fKze5et6o6FP4_Fx94NN7b_dzOWJeWjy_ohlM

Данные: ChatGPT.

ChatGPT выявил пять ключевых ошибок в коде и предложил решение.


Результат:

AD_4nXdKMv-CBby6o6vNrOCRudf12g4LOdVY8ar6Upnm1ewfK-LAa15vdevhmXz8qUqi53T8JgTjrMIWQ6w030uaT-J9cyRj_DV6XDeJD2H2zSPWSOqM9x1ICKbyTdq7k-4Grra2BH5TEg

Данные: Антон Тулупников.

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


Комментарий GPT:

«Код оптимизирован, баги устранены, анимация расширена и готова к использованию».

Итоги


С большим или меньшим успехом нейросети выполнили задачу: объяснили основные ошибки в коде, постарались предложить альтернативу и добавили в код комментарии для улучшения читаемости. Лучше всех справился Grok: он нашел 10 ошибок, исправил их и предложил добавить другие улучшения, например, легкое горизонтальное смещение снежинок для имитации ветра. Его «коллеги» справились немного хуже: анимация работает, но с огрехами.


Оценка по 3-балльной шкале:

НейросетьНайдены ли ошибкиКачество исправленийОптимизация
Grok333
DeepSeek221
ChatGPT221

Творческая задача: создание видеоигры


Описание задачи: создать простую видеоигру для ПК, например, «Змейку», «Сапера» или аналогичную. Игра должна иметь минималистичную визуально приятную графику и простое управление через клавиатуру. Нейросети нужно самостоятельно выбрать жанр (аркада, платформер, пазл), язык программирования, объяснить код и рассказать, как запустить игру.


Промпт:

«Придумай и напиши код для простой визуальной 2D-игры, реализуемой за час, с управлением через клавиатуру и визуально приятной графикой. Игра должна быть уникальной. Выбери жанр (например, аркада, головоломка, платформер, пазл и т. д.). Выбери подходящий язык программирования (например, Python с Pygame или JavaScript с HTML5 Canvas и т. д.). Интерфейс игры должен быть на русском языке. Используй минимальные библиотеки, необходимые для графики. Код должен быть читаемым, с комментариями. После написания кода объясни, как работает игра, как ее запустить (включая установку библиотек, если нужно) и почему ты выбрал такую концепцию».

Grok


Результат:

AD_4nXfIoA5WmIGDWBisU7ecTA51PmyU0WfUfxCxW3rFSmpGxRhTom1AZhuheMbv9MKVG2sjm5YDivYTVKrcHISFekL62Ie3A6FC2QG7EGGKlPaRYqMZT-T9ztBfxZN3albZSq9OR9uH

Данные: Антон Тулупников.

Нейросеть от xAI предложила игру под названием Star Collector («Звездный сборщик»).


Описание игры от Grok:

«Это 2D-игра, вдохновленная Pac-Man, но с уникальной механикой. Вы управляете маленьким космическим кораблем (простой спрайт), который летает по экрану. Цель: собирать звезды (яркие, мерцающие объекты), которые появляются случайным образом. На поле летают астероиды (движущиеся враги), столкновение с которыми уменьшает здоровье. Если здоровье (три жизни) заканчивается, игра завершается. Визуальный стиль: яркий космос с черным фоном, мерцающими звездами и анимированными астероидами».

Создание игры заняло около 25 минут. После написания базового кода нейросеть предложила улучшить код, чтобы сделать игру более яркой и увлекательной. Потратив еще 15 минут, Grok добавил на задний план разноцветные планеты, звуки сбора звезд и столкновений с астероидами, а также возможность собирать изредка появляющиеся на поле сердечки (дополнительные жизни).


Для написания кода был выбран язык Python с использованием библиотеки Pygame.

AD_4nXegcDmYeeJhs7ji1wlKP-myZyNBMZtaWZIu01A0noUoq1lA7zYXuzsXKTrysW0haB1oF_qYPAOwAalgVSD9QcrnUUCc57yfE29r9urIT9n2BFPkqSlrhofozHiBLy12w5JaaJEQaA

AD_4nXcZ4sgR8qcr60bpQzvjgGxyMlBK4cjOUBM1oPcSWbVgJGwNxorpK3MvbTQSPbbkVT56NMMt2D7HtMWk3tYz6NG1rp9TI5kIidm73BFETIKugcO9PgFv4KOt_8UCncJX3C7LvjAKMg

Данные: Grok.

Игра получилась действительно увлекательной и визуально приятной, по атмосфере и настроению напоминая классические аркады прошлого века из игровых автоматов.


Оценка от Grok:

«Я справился хорошо: создал простую, увлекательную игру Star Collector на Python с Pygame за час, как ты просил. Она визуально насыщенная (фоновые звезды, шлейф, мерцание), с управлением WASD, бонусами и рекордом. Код понятен новичку, и я подробно объяснил запуск игры. Если что-то нужно доработать, напиши!»

DeepSeek


Результат:

AD_4nXdvGcbpP5VQqcq3ap-xEonTBe_B60cq71b_rInPOgN4fMNg3K5OlxO8VcPT1C1VBZ_BfBlYWZ0RLBVWMZGuQ-DNjQTDBz8G6sy2MLyAsXekgc8JjaJjG4UbGJtXeGVdy9RHZExBdQ

Данные: Антон Тулупников.
AD_4nXeHZxvJLSvOerTsxu8M2TUmp30Pn6KoU5k2b_VHCNqH6YbNm-7JTsgkOH7zXUDBmuECKKgil6e2iEqn0UmrKmQ3i-n2Lim5U36kxmzay5Ssi08jqeArzRvR2k2dnzXV9a9eIXs6Ng

Данные: DeepSeek.

DeepSeek предложил создать игру «Лабиринт сокровищ» в жанре головоломки с исследованием лабиринта.


Описание игры от DeepSeek:

«Игрок управляет искателем сокровищ, который должен собрать все монеты в лабиринте, избегая ловушек».

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


Спустя более чем три часа и множество итераций DeepSeek все же смог исправить большую часть багов и достичь приемлемого качества игры.

AD_4nXfMRh-GkoYCsX2leVfkLM7YmBDHaWii8o1r8GBzTvkiysjXy6_6WKDnvfkED6gYCoi40gWTBWCOPHcnxgmym96O29MPjw77UZ7F2-OkMzxiJN3C3-vf42aEaWp8JFbmua0kqlgYZQ

Данные: Антон Тулупников.

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


Оценка от DeepSeek:

«Отлично! Что получилось хорошо: чистый, читаемый код с комментариями. Простая, но увлекательная механика. Визуально понятный интерфейс на русском. Что можно улучшить: добавить случайные ловушки в лабиринт».

ChatGPT


Результат:

AD_4nXdbh2q4iRV33vpzVaRhkNHQy9AooUQrSx82eS8GYD5zu_mFZ0q9UpmjUshsh15-NmMuOHUCqXtpsHAW70XwjNidY6qWzXf8yonSNvgokYFztJofSIpTyb8w0ZvDsYRHDcEqhcXdxw

Данные: Антон Тулупников.

ChatGPT решил создать простой платформер с элементами аркады.


Описание игры от GPT:

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

Изначально игра была слишком простой — как визуально, так и в плане геймплея, — поэтому было принято решение усложнить и удлинить (радикально):

AD_4nXe8LefF1zbyPxWaWGJpPngqLQfArqxWqKqvCmTntdYtcijh3ZlVI35R4KPb5fUn-tdEwRBysChR6MF5Syx6ZR2fRC2abiGSMZd26Vx0QbAplzvIQCR9robB1ohvU6hzfb3X71fYvQ

Данные: Антон Тулупников.

Спустя час отчаянной борьбы с багами, GPT все же смог сделать рабочую игру про пса, собирающего косточки. Ассеты собаки и косточек нейросеть сгенерировала самостоятельно.

AD_4nXf1rl1cIdbQbpjuIVOwTO2iFtfKocCJoXg1QDMoK4F6kMWkHliZrw2rJtKBegHDYiZvmT9gvpNfaEymFIfNeNaKrKMJRFIrDsXxFA_A8toIAQ8NPpoVXgb87lkhzyz7qjFQQrmG

Данные: Антон Тулупников.

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


Оценка от GPT:

«Думаю, справился хорошо: учел твои пожелания, сделал платформы доступными для прыжков, убрал ручной прыжок. Если еще что — всегда готов помочь!»

Итоги


Мы получили три неплохих визуальных ПК-игры, потратив совсем немного времени. Полностью с поставленной задачей — сделать игру за час — справился только Grok. У GPT на это ушло около двух с половиной часов, а у DeepSeek — более трех.


Оценка по 3-балльной шкале:

НейросетьРаботает ли играПонятность объясненияЗатраченное время
Grok333
DeepSeek321
ChatGPT311

Так кто лучше всех?


Все дело в нюансах и мелочах. Любая нейросеть напишет код быстрее вас и, при достаточном терпении, даст желаемый результат. Все три кандидата на наши рабочие места отлично справились с поставленными задачами, продемонстрировав небольшие отличия в скорости и удобстве. Принципиальны они или нет — решать вам.


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


P.S. Но если вам так надо знать, вот итоговая таблица с баллами (10-балльная шкала):

НейросетьКодированиеРедактирование ошибок и оптимизацияКреативностьДоступность объяснений
Grok9989
DeepSeek9777
ChatGPT8787

Текст: Антон Тулупников