DEV Community

ChatGPT vs Claude для кода: честное сравнение от практика

Я пользуюсь и ChatGPT, и Claude каждый день. Не для прикола, а для реальной работы. Пишу на Swift, Python, JavaScript, иногда лезу в Go. И у меня сформировалось довольно чёткое мнение о том, когда какой инструмент лучше.

Это не "объективный обзор" в стиле "мы протестировали на 10 бенчмарках." Это практический опыт разработчика, который реально использует оба инструмента в продакшене. С конкретными примерами и конкретными выводами.

Модели, которые я сравниваю

Давайте сразу определимся. На март 2026 года:

  • ChatGPT: GPT-4o, GPT-4.5, o1, o3-mini (через API и чат)
  • Claude: Claude Opus 4, Claude Sonnet 4, Claude Haiku (через API и чат)

Я плачу за оба сервиса. ChatGPT Plus и Claude Pro. Так что сравнение честное, без ограничений бесплатных тарифов.

Генерация кода: кто пишет лучше

Простые задачи

Для простых задач вроде "напиши функцию сортировки" или "сделай HTTP запрос" -- разницы практически нет. Оба справляются отлично. Оба дают рабочий код с первого раза в 90%+ случаев.

Средние задачи

Вот тут начинаются различия. Допустим, я прошу написать SwiftUI компонент с кастомной анимацией и обработкой жестов.

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

// ChatGPT стиль: работает, но многословно
struct AnimatedCard: View {
    @State private var offset: CGSize = .zero
    @State private var isDragging: Bool = false
    @GestureState private var dragState = DragState.inactive

    enum DragState {
        case inactive
        case dragging(translation: CGSize)

        var translation: CGSize {
            switch self {
            case .inactive: return .zero
            case .dragging(let t): return t
            }
        }

        var isActive: Bool {
            switch self {
            case .inactive: return false
            case .dragging: return true
            }
        }
    }
    // ... ещё 50 строк
}
Enter fullscreen mode Exit fullscreen mode

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

// Claude стиль: компактно и читаемо
struct AnimatedCard: View {
    @State private var offset: CGSize = .zero

    var body: some View {
        CardContent()
            .offset(offset)
            .gesture(
                DragGesture()
                    .onChanged { offset = $0.translation }
                    .onEnded { _ in
                        withAnimation(.spring()) { offset = .zero }
                    }
            )
    }
}
Enter fullscreen mode Exit fullscreen mode

Конечно, это упрощённый пример. Но паттерн я замечаю постоянно: Claude пишет более лаконичный и идиоматичный код, ChatGPT -- более "академический" и многословный.

Счёт: Claude 1 - ChatGPT 0

Сложные задачи

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

ChatGPT o1/o3 реально хорош для задач, требующих рассуждений. Когда нужно продумать архитектуру, найти edge cases, или разобраться в сложном алгоритме. Режим "chain of thought" работает.

Claude Opus тоже отлично справляется со сложными задачами, и при этом даёт более развёрнутые объяснения. Claude лучше "понимает" контекст проекта, если загрузить ему несколько файлов.

Счёт: 1 - 1. Зависит от конкретной задачи.

Работа с контекстом

Вот тут Claude побеждает с большим отрывом.

Claude может работать с контекстом до 200K токенов (а Opus 4 ещё больше). ChatGPT -- 128K у GPT-4o. Но дело даже не в числах. Дело в том, как модели используют этот контекст.

Я часто загружаю целый проект в Claude и прошу: "Посмотри на архитектуру и найди потенциальные проблемы." Claude реально читает весь код и даёт релевантные комментарии. Не общие фразы вроде "используйте dependency injection," а конкретные: "В файле UserService.swift на строке 45 вы создаёте новый URLSession каждый раз. Лучше сделать его shared."

ChatGPT в аналогичной ситуации чаще "забывает" детали из начала контекста. Если загрузить 10 файлов, он может отлично работать с последними 3-4, но потерять нюансы из первых.

Для Claude Code (CLI инструмент) это вообще киллер-фича. Он может работать с целым репозиторием и вносить изменения в несколько файлов одновременно, сохраняя контекст всего проекта.

Счёт: Claude 2 - ChatGPT 0

Объяснение кода

Обе модели хорошо объясняют код, но делают это по-разному.

ChatGPT объясняет как учебник. Структурированно, с определениями, иногда избыточно. Хорошо для новичков, которым нужна полная картина.

Claude объясняет как коллега. Более разговорный стиль, фокус на "почему," а не на "что." Лучше для тех, кто уже понимает основы и хочет разобраться в нюансах.

Пример. Я спрашиваю: "Зачем тут используется weak self?"

ChatGPT: "Ключевое слово weak используется для предотвращения retain cycle (циклической ссылки). Retain cycle возникает, когда два объекта держат strong reference друг на друга, что приводит к утечке памяти. В контексте замыканий (closures), если замыкание захватывает self по сильной ссылке, а self держит ссылку на объект, содержащий замыкание..."

Claude: "Потому что без weak self у вас утечка памяти. Замыкание держит ViewController, ViewController держит замыкание -- классический retain cycle. Конкретно в вашем коде: сетевой запрос может завершиться после того, как пользователь ушёл с экрана. Без weak self ViewController останется в памяти, ожидая завершения запроса, который пользователю уже не нужен."

Оба ответа правильные. Но второй полезнее для практической работы.

Счёт: Claude 3 - ChatGPT 0 (субъективно, кому-то стиль ChatGPT ближе)

Рефакторинг

Тут Claude побеждает однозначно. Когда я прошу отрефакторить кусок кода, Claude обычно:

  1. Объясняет, что не так с текущим кодом
  2. Предлагает конкретные улучшения с обоснованием
  3. Показывает рефакторенный код
  4. Отмечает, что он изменил и почему

ChatGPT часто просто переписывает код без подробного объяснения, зачем именно такие изменения. Или, наоборот, даёт слишком общие рекомендации без конкретного кода.

Счёт: Claude 4 - ChatGPT 0

Где ChatGPT лучше

Ладно, я не хочу, чтобы это выглядело как реклама Claude. Есть области, где ChatGPT реально лучше.

Плагины и интеграции

ChatGPT имеет огромную экосистему. Browsing, DALL-E, Code Interpreter, GPTs. Если мне нужно быстро проанализировать CSV файл, нарисовать график, или поискать что-то в интернете -- ChatGPT удобнее.

Мультимодальность

GPT-4o лучше работает с изображениями. Если я скидываю скриншот UI и прошу написать код, ChatGPT чаще даёт точный результат.

Скорость

ChatGPT (особенно GPT-4o) обычно отвечает быстрее, чем Claude Opus. Для быстрых вопросов это имеет значение.

Работа с популярными фреймворками

Для React, Next.js, Python -- ChatGPT часто даёт чуть более актуальные ответы. Просто потому, что тренировочные данные включают больше примеров на этих стеках.

Обновлённый счёт: Claude 4 - ChatGPT 4

Мой рабочий процесс

Вот как я реально использую оба инструмента в работе:

Claude -- основной инструмент для:

  • Написания и рефакторинга Swift/SwiftUI кода
  • Code review и поиска багов
  • Работы с большими кодовыми базами (через Claude Code)
  • Сложных архитектурных вопросов
  • Написания документации

ChatGPT -- использую для:

  • Быстрых вопросов, когда нужен мгновенный ответ
  • Анализа данных через Code Interpreter
  • Работы с изображениями (скриншоты дизайна в код)
  • Поиска информации (с browsing)
  • Генерации идей и брейнсторминга

Цены

Обе подписки стоят $20/месяц для Pro плана. За Claude можно заплатить $100/месяц за увеличенные лимиты (Opus без ограничений). ChatGPT тоже имеет Pro план за $200/месяц.

Для API цены варьируются. Claude Sonnet дешевле GPT-4o для большинства задач. Claude Opus дороже, но и контекстное окно больше.

Если бюджет ограничен и нужно выбрать одну подписку -- зависит от ваших задач. Для кодинга я бы выбрал Claude. Для универсального использования -- ChatGPT.

Итоговый вердикт

Нет однозначного победителя. Правда. Оба инструмента потрясающие, и мы живём в невероятное время, когда за $20/месяц можно получить AI-помощника, который реально ускоряет работу в 2-3 раза.

Но если бы мне пришлось выбрать только один инструмент для программирования -- я бы выбрал Claude. Чище код, лучше контекст, более полезные объяснения.

Для всего остального -- ChatGPT пока впереди по экосистеме и возможностям.

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

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


If you found this useful, I share more stuff like this on Telegram and sell developer toolkits on Boosty.

Top comments (0)