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

ChatGPT 5.2 Pro vs Claude Opus 4.5 vs Gemini 3 Pro: битва титанов в программировании

Доброго времени суток, «Хабр»!

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

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

Сегодня мы сравним ChatGPT 5.2 Pro, Claude Opus 4.5 и Gemini 3 Pro в области программирования. Мне не интересно оценивать лишь написание программ под конкретные задачи, поэтому модели попробуют выявить ошибки в готовых вариантах решений. Принимайте стратегически удобное положение, ну а я приступаю к сравнению.

3bc53036bd10c0c9d979ae26da974b8c.png

Краткий экскурс

Gemini 3 Pro

Gemini 3 Pro - это флагманская LLM от Google, новейшее поколение, объединяющее все возможности поколений 1, 2 и 2.5. Google называет ее самым интеллектуальным и фактологически точным искусственным интеллектом на сегодняшний день. Компания активно продвигает эту модель как новый этап эволюции.

DeepMind характеризует Gemini 3 Pro как значительно превосходящую своего предшественника практически по всем параметрам, доступным для измерения: способность рассуждать, писать код, поддерживать мультимодальные взаимодействия и даже убедительно вести диалоги, демонстрируя убедительность даже в тех случаях, когда это требуется.

GPT 5.2 Pro

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

Модель содержит знания по состоянию на 31 августа 2025 года. Кроме того, OpenAI отмечает улучшенную работу GPT 5.2 Pro в качестве ИИ-агента - нейросеть решает эти задачи успешнее, чем предыдущие модели.

Claude Opus 4.5

Самая мощная модель от Anthropic, уже признанная лидером в сфере программирования. Если нужно решить действительно сложную задачу, написать код или разобраться в запутанной теме - это работа для Claude Opus 4.5.

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


Условия тестирования

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

Каждое задание оценивается по 5-ти балльной шкале (где 0 - полный провал, 5 - модель выполнила все, как задумывалось заданием).

Ниже представлены все задания и предполагаемые на них ответы.

Первое задание

Скрытый текст

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

import json def process_payments(payment_data_list): results = [] for data in payment_data_list: payment = json.loads(data) print(f"Processing payment for {payment['user']}: {payment['amount']}$") if payment['amount'] > 0: payment['status'] = 'approved' else: payment['status'] = 'rejected' results.append(payment) return results payments = [ '{"user": "alice", "amount": 100, "card": "4111-1111-1111-1111"}', '{"user": "bob", "amount": -50}', '{"user": "charlie", "amount": 75}' ] result = process_payments(payments) print("\nFinal results:", result)

Что должны заметить модели:

  1. Уязвимость: json.loads(data). Лучше всего использовать только для доверенных данных или для валидирования схемы.

  2. Вывод с конфиденциальными данными.

  3. Отсутствие проверки наличия ключей у user и amount.

  4. Ошибка в логике платежей (amount == 0 попадает в rejected).

Второе задание

Скрытый текст

Ниже дан код, который анализирует продажи. Он работает правильно, но крайне неэффективен при больших объемах данных. Оптимизируй его по времени выполнения и памяти, сохранив исходную логику.

def analyze_sales(transactions, min_price=100, top_n=5): expensive = [] for t in transactions: if t['price'] >= min_price: expensive.append(t) user_totals = {} for t in expensive: user = t['user_id'] found = False for existing_user in user_totals: if existing_user == user: user_totals[user] += t['price'] found = True break if not found: user_totals[user] = t['price'] sorted_users = [] for user, total in user_totals.items(): sorted_users.append((user, total)) for i in range(len(sorted_users)): for j in range(i + 1, len(sorted_users)): if sorted_users[j][1] > sorted_users[i][1]: sorted_users[i], sorted_users[j] = sorted_users[j], sorted_users[i] return sorted_users[:top_n] transactions = [ {'user_id': 1, 'price': 150, 'item': 'A'}, {'user_id': 2, 'price': 80, 'item': 'B'}, {'user_id': 1, 'price': 300, 'item': 'C'}, {'user_id': 3, 'price': 200, 'item': 'D'}, {'user_id': 2, 'price': 500, 'item': 'E'}, {'user_id': 1, 'price': 50, 'item': 'F'}, ] * 1000 result = analyze_sales(transactions) print("Top buyers:", result)

Что должны подметить модели:

  1. Двойной обход списка expensive.

  2. Квадратичную сложность группировки из-за линейного поиска в словаре.

  3. Самописную пузырьковую сортировку вместо встроенной функции sorted().

  4. Использование списка вместо defaultdict или counter.

Третье задание

Скрытый текст

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

import threading import time import random from collections import defaultdict class ConcurrentDataProcessor: def __init__(self): self.data = {} self.lock = threading.Lock() self.processing = False self.stats = defaultdict(int) def add_data(self, key, value): if key not in self.data: self.data[key] = [] self.data[key].append(value) def process_batch(self, batch_id): if self.processing: return f"Batch {batch_id}: Skipped - already processing" self.processing = True print(f"Batch {batch_id}: Started processing") with self.lock: time.sleep(0.1) result = sum(len(v) for v in self.data.values()) self.stats['processed'] += result self.processing = False return f"Batch {batch_id}: Processed {result} items" def clear_data(self): self.data.clear() def get_stats(self): return dict(self.stats) def worker(processor, worker_id, batches): for i in range(batches): for j in range(random.randint(1, 5)): processor.add_data(f"key_{j}", f"value_{worker_id}_{i}_{j}") result = processor.process_batch(f"W{worker_id}_B{i}") if "Processed" in result: print(f"Worker {worker_id}: {result}") time.sleep(random.uniform(0.01, 0.05)) def test_concurrent_processor(): processor = ConcurrentDataProcessor() threads = [] for i in range(5): t = threading.Thread(target=worker, args=(processor, i, 3)) threads.append(t) t.start() time.sleep(0.5) clear_thread = threading.Thread(target=processor.clear_data) clear_thread.start() for t in threads: t.join() clear_thread.join() stats = processor.get_stats() print(f"\nFinal stats: {stats}") print(f"Data entries: {len(processor.data)}") total_items = sum(len(v) for v in processor.data.values()) print(f"Total items in data: {total_items}") assert stats['processed'] >= 0, print("\nTest completed (but likely with race conditions)") if __name__ == "__main__": test_concurrent_processor()

Проблемы в коде:

  1. Метод app_data не полностью синхронизирован.

  2. Проверка флага self.processing без синхронизации.

  3. Долгая операция под глобальным локом блокирует все другие операции.

  4. Сброс флага self.processing может пересечься с проверкой из другого потока.

  5. Метод clear_data не синхронизирован с другими операциями.

  6. Чтение статистики без синхронизации.

Четвертое задание

Скрытый текст

Создай 2D-гоночную игру на Python с использованием PyGame. Реализуй полноценную гоночную аркаду с графическим интерфейсом и увлекательным геймплеем.

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

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

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

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

Используй объектно-ориентированный подход в разработке, отдели логику игры от графического представления. Реализуй конечный автомат для управления состояниями игры. Убедись, что игра работает плавно с частотой не менее 60 кадров в секунду.


Небольшое отступление

Все модели для сравнения были взяты у агрегатора нейросетей BotHub. Список нейросетей там обширен - от работы с текстом до транскрибации и генерации видео. По специальной ссылке для регистрации можно получить 100 000 капсов для собственных экспериментов.


Сравнение

Первое задание

ChatGPT 5.2 Pro

Скрытый текст

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

Gemini 3 Pro

Скрытый текст

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

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

Claude Opus 4.5

Скрытый текст

Claude, аналогично ChatGPT, выводит последние четыре цифры карты, выполняя при этом все поставленные задания. Хотя в успехе этой модели я и не сомневался, ей - максимальный балл в копилку.

Второе задание

ChatGPT 5.2 Pro

Скрытый текст

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

Gemini 3 Pro

Скрытый текст

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

Claude Opus 4.5

Скрытый текст

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

Третье задание

ChatGPT 5.2 Pro

Скрытый текст

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

Gemini 3 Pro

Скрытый текст

Изначально показалось, что Gemini забил на проблему чтения статистики, но нет - в самом коде он ее исправил и сделал дополнительную пометку. Модель полностью справилась с поставленной задачей.

Claude Opus 4.5

Скрытый текст

И с третьим заданием Claude не испытывает никаких трудностей. Опять же максимальный балл в копилку.


Небольшое отступление

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

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


Четвертое задание

ChatGPT 5.2 Pro

fb1d8f92677ae845a305ffaa672f271b.png85bb4696d541d64729ca050704f2232e.png

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

Поставлю ChatGPT два балла - все-таки какая-то часть задания выполнена моделью на относительно приемлемом уровне

Gemini 3 Pro

a5f691052a590d02757659d05affda2c.png

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

Claude Opus 4.5

26b3bc43e4e6b75c11bfdabf8f92f71a.png8e8c54ec55c88c744cfae522dfcd5e0f.png

Здесь уже без зазрения совести можно поставить четыре балла. Один балл снимаю за баги со звуком, которые появляются при ударе об стенки трассы. Это было бы не так критично, если бы бот не стоял и не шатал стены. В остальном игра далека от идеала, но результат заметно лучше двух предыдущих версий, да и сами детали выполнены значительно качественнее.


Итог

Задание\Модель

ChatGPT 5.2 Pro

Gemini 3 Pro

Claude Opus 4.5

Первое задание

5

4

5

Второе задание

5

5

5

Третье задание

5

5

5

Четвертое задание

2

1

4

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

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

Claude Opus 4.5 ожидаемо сохранил лидерство среди представленных вариантов. Следом неожиданно расположился ChatGPT 5.2 Pro - ожидал увидеть его последним, однако модель проявила себя заметно лучше, чем Gemini.

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

Спасибо за прочтение!

Источник

Возможности рынка
Логотип Propy
Propy Курс (PRO)
$0.3945
$0.3945$0.3945
+0.84%
USD
График цены Propy (PRO) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Nasdaq и CME запустили новый индекс Nasdaq-CME Crypto Index — революция в цифровых активах

Nasdaq и CME запустили новый индекс Nasdaq-CME Crypto Index — революция в цифровых активах

Введение Фондовая биржа Nasdaq и группа Чикагской товарной биржи (CME) объявили о стратегическом партнерстве для унификации их индексации криптовалют
Поделиться
Crypto Breaking News2026/01/10 08:46
Белый дом подготовил запасные планы на случай блокировки судом тарифов Трампа

Белый дом подготовил запасные планы на случай блокировки судом тарифов Трампа

Публикация «Белый дом подготовил запасные планы на случай, если суд заблокирует тарифы Трампа» появилась на BitcoinEthereumNews.com. Высокопоставленные чиновники Белого дома провели вечер четверга
Поделиться
BitcoinEthereumNews2026/01/10 09:36
Закон CLARITY нуждается в двухпартийной поддержке в Банковском комитете Сената: аналитик

Закон CLARITY нуждается в двухпартийной поддержке в Банковском комитете Сената: аналитик

Статья «Закону CLARITY требуется двухпартийная поддержка в Банковском комитете Сената: аналитик» появилась на BitcoinEthereumNews.com. Принятие закона о рынке цифровых активов
Поделиться
BitcoinEthereumNews2026/01/10 09:01