Генератор кода vs ChatGPT 5.3 Codex — тестируем кто пишет код лучше

Страницы:  1

Ответить
 

Professor Seleznov


Ещё три года назад идея попросить нейросеть написать рабочий код казалась экспериментом для энтузиастов. Сейчас это обычная рабочая практика. Разработчики используют ИИ чтобы закрывать рутинные задачи быстрее, а люди без технического образования — чтобы решать задачи которые раньше требовали нанять специалиста.
Вопрос уже не «умеет ли нейросеть писать код». Вопрос — какая справляется лучше и в чём разница.
Взяли два инструмента с Study AI — [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/code_generator]Генератор кода[/url] и [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/chatgpt_codex]ChatGPT 5.3 Codex[/url]— и прогнали через два теста: написать код с нуля и найти ошибку в готовом. Смотрим что вышло.
pic
Генератор кода vs ChatGPT 5.3 Codex
Участники тестирования
Генератор кода
[url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/code_generator]Генератор кода[/url] - специализированная модель заточенная именно под работу с кодом. В отличие от универсальных языковых моделей, она обучена преимущественно на репозиториях, технической документации и задачах программирования. Понимает контекст кода глубже — видит не просто синтаксис, а логику и архитектуру.
Хорошо справляется с генерацией с нуля, рефакторингом, поиском ошибок и объяснением чужого кода. Отвечает лаконично — без лишних слов вокруг кода.
pic
Генератор кода
ChatGPT 5.3 Codex
[url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/chatgpt_codex]ChatGPT 5.3 Codex[/url] - это версия GPT специально оптимизированная для задач программирования. Умеет работать с кодом в широком контексте — понимает не только что написано, но и зачем, предлагает альтернативные подходы, объясняет решения развёрнуто.
Сильная сторона — работа с многоязычными проектами и нестандартными задачами где нужна не просто генерация, а рассуждение над архитектурой.
pic
ChatGPT 5.3 Codex
Оба инструмента доступны на [url=https://eduforms.org СПАМ AI[/url] без VPN и лишних регистраций.
Тест 1: написать код с нуля
Задание
Написать на Python функцию которая переводит текст в азбуку Морзе. На вход — строка, на выходе — строка с точками и тире. Должна обрабатывать буквы, цифры и пробелы. Если символ не поддерживается — пропускать его.
Небольшое, понятное, с чётким ожидаемым результатом — хорошо подходит для сравнения.
Промт для обеих нейросетей
Напиши функцию на Python которая переводит текст в азбуку Морзе.
Вход: строка с текстом (буквы, цифры, пробелы).
Выход: строка с кодом Морзе, символы разделены пробелом,
слова разделены " / ".
Неподдерживаемые символы — пропускать без ошибки.
В конце покажи пример использования с выводом.
Генератор кода — результат
from typing import Dict
# International Morse code mapping for Russian English letters and digits
MORSE_MAP: Dict[str, str] = {
# Russian letters
"а": ".-", "б": "-...", "в": ".--", "г": "--.", "д": "-..", "е": ".",
"ё": ".", "ж": "...-", "з": "--..", "и": "..", "й": ".---", "к": "-.-",
"л": ".-..", "м": "--", "н": "-.", "о": "---", "п": ".--.", "р": ".-.",
"с": "...", "т": "-", "у": "..-", "ф": "..-.", "х": "....", "ц": "-.-.",
"ч": "---.", "ш": "----", "щ": "--.-", "ъ": "--.--", "ы": "-.--", "ь": "-..-",
"э": "..-..", "ю": "..--", "я": ".-.-",
# English letters
"a": ".-", "b": "-...", "c": "-.-.", "d": "-..", "e": ".", "f": "..-.",
"g": "--.", "h": "....", "i": "..", "j": ".---", "k": "-.-", "l": ".-..",
"m": "--", "n": "-.", "o": "---", "p": ".--.", "q": "--.-", "r": ".-.",
"s": "...", "t": "-", "u": "..-", "v": "...-", "w": ".--", "x": "-..-",
"y": "-.--", "z": "--..",
# Digits
"0": "-----", "1": ".----", "2": "..---", "3": "...--", "4": "....-",
"5": ".....", "6": "-....", "7": "--...", "8": "---..", "9": "----.",
}
def text_to_morse(text: str) -> str:
"""Convert text to Morse code.
Rules:
- letters/digits are separated by a single space
- words are separated by " / "
- unsupported characters are skipped without error
"""
words = text.lower().split()
encoded_words = []
for word in words:
encoded_symbols = []
for ch in word:
morse = MORSE_MAP.get(ch)
if morse is not None:
encoded_symbols.append(morse)
if encoded_symbols:
encoded_words.append(" ".join(encoded_symbols))
return " / ".join(encoded_words)
if __name__ == "__main__":
sample_text = "Привет, World 123 !"
result = text_to_morse(sample_text)
print("Input:", sample_text)
print("Morse:", result)
Вывод:
Input: Привет, World 123 !
Morse: .--. .-. .. .-- . - / .-- --- .-. .-.. -.. / .---- ..--- ...--
Сразу бросается в глаза: [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/code_generator]Генератор кода[/url] добавил полную поддержку русского алфавита — без дополнительного запроса. Все 33 буквы, включая ё, ъ, ы. Кроме того — аннотация типов через Dict[str, str], docstring с чёткими правилами, обработка регистра через .lower().
pic
Результат генератора кода
ChatGPT 5.3 Codex — результат
def text_to_morse(text: str) -> str:
"""
Преобразует текст в азбуку Морзе.
Правила:
- Поддерживаются буквы (латиница), цифры и пробелы.
- Символы в Морзе разделяются пробелом.
- Слова разделяются " / ".
- Неподдерживаемые символы пропускаются без ошибки.
"""
morse_map = {
# Буквы A-Z
'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.',
'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---',
'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---',
'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-',
'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--',
'Z': '--..',
# Цифры 0-9
'0': '-----', '1': '.----', '2': '..---', '3': '...--',
'4': '....-', '5': '.....', '6': '-....', '7': '--...',
'8': '---..', '9': '----.'
}
encoded_words = []
# Разделяем по пробелам: каждое слово кодируем отдельно,
# между словами затем ставим " / "
for word in text.upper().split():
encoded_chars = []
for ch in word:
code = morse_map.get(ch)
if code is not None: # неподдерживаемые символы пропускаем
encoded_chars.append(code)
if encoded_chars: # добавляем только непустые слова
encoded_words.append(' '.join(encoded_chars))
return ' / '.join(encoded_words)
# Пример использования
input_text = "Hello 123 world!"
result = text_to_morse(input_text)
print("Вход:", input_text)
print("Выход:", result)
Вывод:
Вход: Hello 123 world!
Выход: .... . .-.. .-.. --- / .---- ..--- ...-- / .-- --- .-. .-.. -..
[url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/chatgpt_codex]Codex[/url] поместил словарь прямо внутрь функции и добавил подробный docstring на русском. Код компактнее и читается как единое целое — всё в одном месте, ничего лишнего снаружи. Из минусов: только латиница, русский алфавит не поддерживается.
pic
Результат ChatGPT 5.3 Codex
Итог теста 1
Оба написали рабочий код. [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/code_generator]Генератор кода[/url] пошёл дальше задания — добавил русский алфавит и вынес словарь на уровень модуля, что удобно если функция будет вызываться много раз. [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/chatgpt_codex]Codex[/url] придерживался задания точнее: только латиница, структура проще. Для быстрого прототипа подойдёт любой. Для кода который должен работать с русским текстом — однозначно первый.
-
Тест 2: найти и исправить ошибку
Код с ошибкой
Вот небольшая функция на Python. Она должна находить самый частый элемент в списке. Код выглядит правдоподобно — но в нём есть ошибка.
def most_frequent(numbers):
counts = {}
for num in numbers:
if num in counts:
counts[num] = 1
else:
counts[num] = 0 # <- вот здесь
return max(counts, key=counts.get)
print(most_frequent([1, 2, 2, 3, 3, 3, 4]))
Где ошибка: в строке counts[num] = 0. Когда элемент встречается впервые, его счётчик устанавливается в 0 вместо 1. В итоге все элементы которые встречаются ровно один раз получают счётчик 0, а те что встречаются дважды — счётчик 1 (а не 2). Функция возвращает неправильный результат — в данном случае выдаст 2 вместо 3.
Промт для обеих нейросетей
Найди ошибку в этом Python-коде и исправь её.
Объясни что именно было не так.
[код вставляется полностью]
Генератор кода — результат
Нашёл ошибку сразу и точно:
Когда число встречается впервые, ты ставишь счётчик в 0, хотя первая встреча уже произошла. Из-за этого все частоты занижены на 1.
Исправленный код:
def most_frequent(numbers):
if not numbers:
raise ValueError("numbers must not be empty")
counts = {}
for num in numbers:
if num in counts:
counts[num] = 1
else:
counts[num] = 1 # первая встреча = 1
return max(counts, key=counts.get)
if __name__ == "__main__":
print(most_frequent([1, 2, 2, 3, 3, 3, 4])) # 3
Помимо основного исправления добавил проверку на пустой список — чтобы max() не падал с неочевидной ошибкой. Лаконично и по делу.
pic
Исправление ошибки в Генераторе кода
ChatGPT 5.3 Codex — результат
Тоже нашёл ошибку, объяснил чуть подробнее:
Ошибка в строке инициализации счётчика: было counts[num] = 0, должно быть counts[num] = 1. Когда число встречается впервые, его частота уже равна 1. Если поставить 0, все частоты будут занижены на 1. В этом примере итог часто получается правильным — потому что относительный порядок частот сохраняется — но это логически неверный подсчёт и может привести к проблемам при дальнейшей обработке частот.
Исправленный код:
def most_frequent(numbers):
if not numbers:
raise ValueError("Список numbers не должен быть пустым")
counts = {}
for num in numbers:
if num in counts:
counts[num] = 1
else:
counts[num] = 1 # исправлено: первая встреча = 1, а не 0
return max(counts, key=counts.get)
print(most_frequent([1, 2, 2, 3, 3, 3, 4])) # 3
Тоже добавил проверку на пустой список — независимо от первого.
pic
Исправление ошибок в ChatGPT 5.3 Codex
Итог теста 2
Оба нашли ошибку правильно и оба самостоятельно добавили проверку на пустой список — без запроса. Разница в подаче: [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/code_generator]Генератор кода[/url] — коротко, с пояснением. [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/chatgpt_codex]Codex[/url]— чуть подробнее, отдельно объясняет почему на конкретном примере результат всё равно иногда выходит верным — и это полезно если важно понять суть, а не просто получить фикс.
pic
Вопросы и ответы
Подходит ли это для людей без опыта программирования? Да. Для простых задач — написать скрипт, автоматизировать таблицу, собрать парсер — опыт не нужен. Главное чётко описать что должна делать программа. Чем конкретнее описание, тем точнее результат.
Можно ли доверять коду нейросети в продакшн? Простые функции — как правило да, после проверки. Сложную архитектуру, код с доступом к базам данных или финансовыми операциями — лучше проверять с разработчиком. Нейросеть может написать код который работает, но не оптимально или небезопасно.
На каком языке программирования лучше работают? Python — лучше всего, он был в обучающих данных больше всего. JavaScript, TypeScript, Go, Rust — тоже хорошо. Редкие или специфические языки — хуже, возможны ошибки.
Что лучше — Генератор кода или Codex? Зависит от задачи. [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/code_generator]Генератор кода[/url] — когда нужно быстро сделать или исправить. [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/chatgpt_codex]Codex[/url] — когда важно понять логику и получить подробное объяснение. Попробовать оба на своей задаче можно на [url=https://eduforms.org СПАМ AI[/url].
Как правильно описывать задачу для лучшего результата? Указывайте язык, входные данные и ожидаемый результат. Если есть ограничения — напишите их сразу. «Напиши функцию на Python, вход — список чисел, выход — число, без использования сторонних библиотек» — это хороший промт.
Заключение
Обе нейросети справились с задачами уверенно. Рабочий код с нуля, найденная ошибка с объяснением — без единой подсказки.
Разница между ними не в качестве, а в стиле и глубине. [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/code_generator]Генератор кода[/url] — быстро, компактно. [url=https://eduforms.org СПАМ &ulp=https://study24.ai/chat/chatgpt_codex]ChatGPT 5.3 Codex[/url] — подробно, с комментариями и разбором логики. Для разных ситуаций подходят разные инструменты — и хорошо что они доступны в одном месте.
вњЁ Попробовать написать код в нейросети на Study AI
нейросеть написать код, генератор кода нейросеть, chatgpt codex программирование, нейросеть для разработчиков, написать python код нейросеть, нейросеть найти ошибку в коде, codex vs генератор кода, study ai программирование, нейросеть вместо программиста, как написать код через нейросеть-[url=https://habr.com/ru/companies/studyai/articles/1034246/?utm_source=habrahabr &utm_medium=rss &utm_campaign=1034246]Источник[/url]
 
Loading...
Error