
Две сильные модели могут одинаково хорошо решить простую задачу. Но из этого не следует, что они напишут одинаковый код — или одинаково справятся с большим проектом. Разбираемся на двух понятных примерах.
«Что лучше для программирования: ChatGPT или Claude?» Вопрос кажется простым. Хочется получить одно название, открыть нужное приложение и больше не сомневаться.
Однако ответ зависит от работы, которую вы собираетесь поручить ИИ. Написать небольшую функцию, найти ошибку в незнакомом проекте и изменить архитектуру приложения — три разных испытания. Одной демонстрацией на десять строк их не сравнить.
Есть более полезная отправная точка: сначала определить задачу и признаки правильного результата, затем выбирать инструмент под эту работу.
В повседневной разработке много знакомых операций: проверить условие, отфильтровать список, преобразовать данные, обработать нажатие. Для них существуют стандартные приёмы и готовые библиотеки.
Если задача короткая и условия понятны, несколько сильных моделей вполне могут предложить подходящие решения. В таком случае на выбор влияют удобство работы, скорость ответа и доступные инструменты.
Но фраза «99% функций одинаковы» требует доказательств, которых у нас нет. Повторяемость отдельных приёмов не означает одинаковой сложности программ. Из знакомых деталей можно собрать системы с очень разными требованиями.
Даже команда «переставь кружку» предполагает условия: куда поставить, свободно ли место, нужно ли сохранить содержимое. В программе тоже важны входные данные, ограничения и последствия каждого действия.

Поставим конкретную задачу:
Напиши на Python функцию, которая принимает список целых чисел и возвращает новый список без повторов. Сохрани порядок первого появления чисел. Исходный список не изменяй.
Один способ — собрать результат поэлементно:
def unique_a(numbers):
result = []
for number in numbers:
if number not in result:
result.append(number)
return result
Другой — использовать словарь, который в современных версиях Python сохраняет порядок добавления ключей:
def unique_b(numbers):
return list(dict.fromkeys(numbers))
В обоих случаях:
Вход: [3, 1, 3, 2, 1]
Выход: [3, 1, 2]
Текст кода различается. По заданным условиям обе функции дают правильный результат. Для проверки мы также использовали пустой список, отрицательные числа и другие случаи.
При этом реализации не равноценны во всех отношениях. Первый вариант каждый раз ищет число в уже собранном списке; при большом количестве разных значений это требует всё больше сравнений. Второй вариант обычно лучше масштабируется благодаря поиску по ключам словаря.
Одинаковое поведение по условиям, одинаковый текст кода и одинаковое качество решения — разные вещи. Короткий код сам по себе не доказывает качество, а совпавший ответ на одном примере не доказывает равенство моделей.
Теперь попросим: «Удали повторяющиеся имена».
names = [" Анна ", "анна", "АННА", "Борис"]
Если сравнивать строки буквально, здесь четыре разных значения. Различаются пробелы и регистр букв. Но человек мог ожидать всего два имени:
["Анна", "Борис"]
Чтобы получить именно такое поведение, уточним условия:
Удали пробелы по краям каждого имени. Сравнивай имена без учёта регистра. Сохрани порядок первого появления и написание первого имени после удаления пробелов. Пустые после очистки строки пропускай. На входе всегда список строк.
Тогда одна из реализаций выглядит так:
def unique_names(names):
result = []
seen = set()
for raw in names:
name = raw.strip()
key = name.casefold()
if name and key not in seen:
seen.add(key)
result.append(name)
return result
Мы не нашли «волшебные слова» для ИИ. Мы определили, что считать повтором и какой результат нужен. Это решение о смысле данных, от которого зависит реализация.
Важная граница: одинаковое имя ещё не означает одного человека. Для объединения записей о клиентах понадобятся другие признаки. Нормализация строк решает только задачу сравнения текста.

Оба примера учебные и проверены локально. Это не результаты парного запуска ChatGPT и Claude; мы не приписываем этим моделям показанные реализации.
Умение сформулировать цель полезно с любым инструментом. Но оно не гарантирует, что любая модель выполнит задачу.
Более того, хороший помощник должен помогать уточнять требования. Пользователь не обязан заранее знать все технические подробности. Способность заметить недостающую информацию, задать уместный вопрос и правильно использовать ответ — тоже часть качества ИИ.
Это видно в исследовании LHAW, опубликованном Scale в феврале 2026 года. Авторы создали 285 вариантов многошаговых заданий, намеренно убирая часть важных условий. Возможность уточнять их у симулированного пользователя восстанавливала значительную часть потерянного качества. При этом модели различались по полезности вопросов, избыточным уточнениям и пониманию ответов. Исследование и методика.
Эксперимент не доказывает, что «хороший промпт всегда важнее модели»: задания изменялись искусственно, а пользователь был симулированным. Он показывает более узкую и полезную вещь: недостающие условия и качество их уточнения могут существенно влиять на выполнение задачи.
Сами производители тоже рекомендуют начинать с критериев успеха. В документации Anthropic рядом с ясным определением результата стоит требование иметь способ его проверить. В рекомендациях OpenAI для GPT‑5.5 — описывать ожидаемый результат и ограничения, не расписывая каждый шаг без необходимости. Anthropic, OpenAI.
Чат, куда вы вставили кусок кода, и агент с доступом к проекту, терминалу и тестам работают в разных условиях. Во втором случае помощник может сам найти связанный файл, воспроизвести ошибку и проверить изменение.
В эксперименте Anthropic на Terminal-Bench 2.0 сохранялись модель, задания и управляющая программа, но менялись доступные вычислительные ресурсы. Между крайними конфигурациями разница успешности достигла 6 процентных пунктов. Это эффект условий выполнения в конкретном эксперименте, а не прибавка от более удачной формулировки запроса. Разбор эксперимента.
Поэтому полезный вопрос звучит конкретнее: какая модель, с какими инструментами и за какое время доводит мои задачи до проверенного результата?
Пяти коротких пунктов часто достаточно, чтобы убрать основные недоразумения:
Если вы не знаете, какие ограничения существенны, начните с цели и попросите помочь выявить недостающие условия. Точность не требует длинного запроса. Она требует полезной информации и готовности уточнять её по ходу работы.
Возьмите несколько характерных заданий: небольшую функцию, задачу с неоднозначными условиями и исправление ошибки в проекте. Зафиксируйте версии моделей, предоставленные файлы и доступ к инструментам. Заранее определите проверки результата и дайте каждой модели несколько попыток при сопоставимых ограничениях.
Сравнивайте корректность, число необходимых исправлений, время и затраты. Отдельно попробуйте исходный короткий запрос и уточнённую версию. Учитывайте также время человека на подготовку условий и проверку ответа.
Такое сравнение покажет, что помогает именно в вашей работе. Несколько выбранных примеров всё равно не станут универсальным рейтингом, но дадут более полезную основу для выбора.
Навык ясно ставить задачу, предоставлять контекст и проверять результат пригодится с любой сильной моделью. А возможности самой модели определяют, насколько далеко удастся продвинуться с её помощью.
А у вас что чаще меняло результат: переход на другую модель или уточнение задачи? Расскажите на конкретном примере — с условием, ожидаемым результатом и тем, что получилось.
Материал XC7 подготовлен с помощью ИИ. Примеры кода проверены локально; собственное сравнительное испытание ChatGPT и Claude в рамках этого материала не проводилось. Источники проверены 11 сентября 2026 года. Исследования относятся к указанным в них моделям и условиям.
Комментариев пока нет