При использовании ИИ-инструментов для написания кода неизбежно возникает вопрос: а какая модель лучше? Часто синтетические бенчмарки не отражают реальной картинПри использовании ИИ-инструментов для написания кода неизбежно возникает вопрос: а какая модель лучше? Часто синтетические бенчмарки не отражают реальной картин

Какая ИИ-модель лучше пишет код? Тестирую 8 популярных моделей на реальной задаче в opensource-проекте

2026/03/13 16:22
16м. чтение
Для обратной связи или замечаний по поводу данного контента, свяжитесь с нами по адресу crypto.news@mexc.com

При использовании ИИ-инструментов для написания кода неизбежно возникает вопрос: а какая модель лучше? Часто синтетические бенчмарки не отражают реальной картины, модели при их обучении могут специально натаскиваться на прохождение этих бенчмарков. А между решением изолированных задач и работой с реальной кодовой базой есть существенная разница. Модель должна понять требования, разобраться в архитектуре проекта, корректно встроить новую функциональность и ничего не сломать.

Выходят недорогие открытые китайские модели, которые по бенчмаркам приближаются к проприетарным, действительно ли это так? И действительно ли флагманские модели от OpenAI, Anthropic и Google так хороши? Чтобы ответить для себя на эти вопросы, я решил провести эксперимент и сравнить 8 популярных моделей в работе над реальной задачей в open-source-проекте.

Задача

В свободное от работы время я развиваю небольшой open-source-проект — телеграм-бот для opencode, который позволяет почти полноценно использовать возможности Opencode через Telegram. Проект написан на TypeScript и использует библиотеку grammy для работы с Telegram Bot API, в проекте есть поддержка i18n и небольшой уровень покрытия тестами. Для разработки использую Opencode, а иногда и этого же бота, которого разрабатываю.

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

zhtmas6iqdxdnd7mhclctw8eunm.png

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

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

Участники

Были выбраны 8 наиболее популярных на момент написания статьи моделей, которые используются для разработки. В качестве провайдера моделей использовался Opencode Zen — провайдер от создателей Opencode, где все модели тестируются на совместимость с данным инструментом. Ниже представлен список тестируемых моделей их цены за API, а также для ориентира результаты бенчмарков по ним.

Модель

Input ($/1M)

Output ($/1M)

Coding Index*

Agentic Index*

Claude 4.6 Sonnet

$3.00

$15.00

51

63

Claude 4.6 Opus

$5.00

$25.00

56

68

GLM 5

$1.00

$3.20

53

63

Kimi K2.5

$0.60

$3.00

40

59

MiniMax M2.5

$0.30

$1.20

37

56

GPT 5.3 Codex (high)

$1.75

$14.00

48

62

GPT 5.4 (high)

$2.50

$15.00

57

69

Gemini 3.1 Pro (high)

$2.00

$12.00

44

59

* Данные взяты с сайта Artificial Analysis

Все модели использовались в «думающем» режиме (с включённым reasoning). Там, где предусмотрено несколько уровней рассуждения, в скобках указан выбранный уровень.

Методика оценки

Будем оценивать работу моделей над задачей по следующим критериям:

  • Стоимость API-вызовов ($) — стоимость всех запросов к API, которые были сделаны в процессе работы над задачей, в том числе стоимость работы сабагентов, если они были запущены

  • Время выполнения (мм:сс) — общее время работы модели над задачей

  • Корректность реализации (0–10) — насколько поведение соответствует требованиям и учтены все сценарии

  • Качество технической реализации (0–10) — насколько качественно с технической точки зрения реализована задача

Для оценки корректности реализации и качества технической реализации я также использовал Opencode. Сначала по существующей реализации команды /rename в кодовой базе бота я попросил модель выписать все требования к реализации этой фичи, а затем попросил на основе этих требований сделать критерии 2 оценок по 10-балльной шкале. Далее после того как модель реализовывала фичу, я коммитил изменения и просил оценить их по получившемуся промту. Для оценки использовал модель GPT-5.3 Codex. Пробовал прогонять несколько раз оценку для одних и тех же изменений — результаты отличались несильно, в пределах 0.5 балла.

Критерии оценки команды `/rename`

Критерии оценки реализации фичи /rename

Как оценивать

Нужно ставить две независимые оценки по шкале 0-10:

  1. Корректность реализации - насколько поведение соответствует требуемому функционалу.

  2. Качество технической реализации - насколько качественно это сделано инженерно.

Каждая оценка должна выставляться с шагом 0.5 (например: 6.0, 6.5, 7.0, 7.5).

Оценки не нужно автоматически усреднять: они отражают разные аспекты.

Формат вывода результата

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

  1. Оценка за корректность реализации (X/10, где X кратно 0.5).

  2. Детали по корректности - 3-5 кратких пунктов.

  3. Оценка за качество технической реализации (Y/10, где Y кратно 0.5).

  4. Детали по техкачеству - 3-5 кратких пунктов.


1) Корректность реализации (0-10)

Оценивается соответствие целевому поведению фичи /rename (эталон: ожидаемая рабочая реализация), включая покрытие сценариев, локализацию, тесты и актуальность документации.

Что должно быть учтено

  • Команда /rename доступна пользователю и корректно подключена в боте.

  • Базовый пользовательский поток переименования работает от начала до успешного завершения.

  • Учтены ключевые пользовательские и граничные сценарии (например, невозможность выполнить действие, невалидный ввод, отмена интерактивного шага).

  • Поведение встроено в общую систему интерактивных состояний бота и не ломает другие сценарии.

  • Есть необходимые ключи переводов для поддерживаемых языков.

  • Документация обновлена и отражает наличие команды: README.md и PRODUCT.md

Разбивка баллов

  • 2.0 Подключение команды и входные точки (регистрация, доступность, отображение в справке/командах).

  • 2.5 Корректность основного потока переименования.

  • 2.0 Обработка ошибок и граничных сценариев.

  • 1.5 Корректная работа отмены и устойчивость к неактуальным интеракциям.

  • 1.0 Интеграция с interaction guard/cleanup.

  • 1.0 Полнота i18n и документации.

Интерпретация оценки

  • 10: Полное соответствие требованиям, все важные сценарии закрыты.

  • 8-9: Почти полное соответствие, только мелкие некритичные пробелы.

  • 6-7: Рабочее ядро есть, но заметно не хватает части сценариев/артефактов.

  • 4-5: Частичная реализация с функциональными дырами.

  • 2-3: Существенные проблемы в поведении.

  • 0-1: Фича фактически не реализована.


2) Качество технической реализации (0-10)

Оценивается инженерное качество решения: архитектура, читаемость и поддерживаемость кода, надежность состояния, тестовая стратегия и отсутствие технического долга.

Важно: здесь ориентируемся не на «как было раньше», а на то, как должно быть сделано хорошо.

Разбивка баллов

  • 2.0 Архитектура и границы ответственности

    • Четко разделены команда, состояние интеракции, интеграция с API и инфраструктурные части.

    • Нет избыточного дублирования логики.

  • 2.0 Качество кода и безопасность изменений

    • Чистый TypeScript strict-стиль, понятные имена, небольшие функции.

    • Предсказуемая обработка ошибок, корректные логи, отсутствие хрупких решений.

  • 2.0 Консистентность состояния и надежность

    • Нет зависающих/битых состояний после ошибки, отмены, прерывания.

    • Корректная очистка и устойчивость к устаревшим callback-событиям.

  • 2.0 Качество тестов

    • Тесты покрывают основные и критичные негативные сценарии.

    • Тесты детерминированные, без флаки-поведения.

    • Проверяется поведение, а не случайные детали реализации.

  • 1.0 Качество i18n и документации

    • Ключи локализации целостные и согласованные.

    • Документация актуальна и не противоречит реальному поведению.

  • 1.0 Управление техдолгом

    • Нет мертвого кода, временных заглушек и «быстрых костылей».

    • Решение расширяемо для будущих интерактивных фич.

Типовые штрафы (внутри шкалы 0-10)

  • -1..-2: дублирование состояния/логики между несколькими слоями без явного владельца.

  • -1: отсутствие защиты от устаревших callback-событий.

  • -1: неполная очистка состояния (залипающие интеракции).

  • -1: слабые или хрупкие тесты.

  • -1: рассинхрон между кодом, переводами и документацией.

Интерпретация оценки

  • 10: Production-grade решение, архитектурно чистое и надежное.

  • 8-9: Высокое качество, только небольшие замечания.

  • 6-7: Приемлемо, но есть заметные инженерные слабые места.

  • 4-5: Работает, но технический долг уже существенный.

  • 2-3: Низкое качество, высокий риск сопровождения.

  • 0-1: Критически слабая реализация.


Рекомендованный процесс выставления оценок

  1. Проверить сборку/линт/тесты.

  2. Пройтись по ключевым пользовательским сценариям /rename.

  3. Выставить две отдельные оценки (корректность и техкачество).

  4. Для каждой оценки дать короткое обоснование (3-8 пунктов).

Также еще приведу фрагмент файла AGENTS.md для понимания, какие инструкции давались моделям для работы с проектом

Результаты по моделям

Переходим к результатам. Сразу отмечу: ни одна модель не справилась идеально, везде потребовались бы доработки, прежде чем можно было бы слить код в основную ветку. Тем не менее разброс по качеству значительный.

Claude 4.6 Sonnet

Цена: $2.43
Время: 10 мин 15 сек
Корректность: 8.5
Техкачество: 5.5

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

Детали оценки

Корректность: 8.5/10

  • /rename подключен и доступен пользователю, интеграция в команды/роутинг корректная.

  • Основной flow работает: запрос имени → следующее текстовое сообщение → rename → подтверждение.

  • Обработаны базовые edge-cases: нет сессии, пустой ввод, ошибка API.

  • Во flow разрешен только /stop, и cancel не проверяет messageId — риск stale callback.

  • i18n покрыт, но README.md и PRODUCT.md не обновлены.

Техкачество: 5.5/10

  • Архитектурно решение чистое: отдельный модуль команды, нормальная интеграция с interaction/state слоем.

  • Код читаемый, в целом соответствует стилю проекта, ошибки и логи обрабатываются неплохо.

  • Надежность состояния проседает из-за отсутствия защиты от устаревших callback по messageId.

  • Тестов по фиче нет (happy-path/empty/cancel/stale).

  • По наблюдаемости есть частичное покрытие логами, но не на уровне "отлично".


Claude 4.6 Opus

Цена: $4.41
Время: 10 мин 08 сек
Корректность: 9.0
Техкачество: 7.5

Флагман от Anthropic справился примерно за то же время, что и Sonnet, при стоимости почти в 2 раза дороже. Учел все сценарии и с точки зрения архитектуры и качества кода сделал все на отлично. Оценки не максимальные из-за отсутствия тестов и не обновленной документации.

Детали оценки

Корректность: 9.0/10

  • Команда корректно подключена в точки входа бота.

  • Базовый сценарий работает: бот запрашивает новое имя, показывает inline-кнопку отмены и принимает новое название следующим текстовым сообщением.

  • Граничные случаи закрыты: нет активной сессии, пустой ввод, ошибка API, успех с подтверждением.

  • Отмена и защита от устаревших callback реализованы через проверку messageId + inactive_callback.

  • i18n добавлен полноценно, но документация не обновлена: нет /rename в README.md и PRODUCT.md.

Техкачество: 7.5/10

  • Архитектурно фича встроена чисто: отдельный модуль с разделением на command/callback/text-handler, без ломки существующего роутинга.

  • Состояние интеракции надежное: явный start, очистка на cancel/success/error, проверка актуальности callback.

  • Код читаемый и типобезопасный (typed metadata + аккуратные guard-проверки).

  • Небольшой техдолг: локальное дублирование утилитарных паттернов между несколькими flow.

  • Основной минус: нет тестов на критичные сценарии — это главный источник риска регрессий.


GLM 5

Цена: $0.89
Время: 12 мин 34 сек
Корректность: 8.0
Техкачество: 6.0

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

Детали оценки

Корректность: 8.0/10

  • Команда корректно подключена в централизованные определения и роутинг бота.

  • Основной UX-поток реализован: запрос нового названия + inline-кнопка отмены + обработка текстового ответа.

  • Закрыты важные граничные сценарии: нет активной сессии, пустой ввод, неактивный callback, ошибка API.

  • UX-дырка: после /stop интеракция очищается, но rename-состояние остается, и следующий текст может всё равно уйти в rename-сценарий.

  • i18n добавлен во все локали, но документация не обновлена.

Техкачество: 6.0/10

  • Структура в целом читаемая (отдельные command/handler/manager), логирование есть в ключевых ветках.

  • Дублирование состояния между renameManager и interactionManager (два источника истины) — риск рассинхронизации.

  • Общий cleanup не знает о rename-state, возможны "залипшие" состояния.

  • Нет тестов на фичу /rename.

  • Очистка интеракции завязана на kind === "custom" без явной проверки flow в rename-обработчике.


Kimi K2.5

Цена: $0.33
Время: 5 мин 00 сек
Корректность: 9.0
Техкачество: 5.5

Модель от Moonshot AI выдала быстро и дешево работоспособный результат. Однако техническое качество оставляет желать лучшего. По поведению модель очень похожа на Sonnet, да и по оценкам видим примерно такую же картину.

Детали оценки

Корректность: 9.0/10

  • Команда подключена корректно, есть в definitions.ts, зарегистрирована в index.ts, доступна в /help.

  • Основной флоу выполнен: /rename просит новое имя следующим сообщением и показывает inline-кнопку отмены.

  • Граничные сценарии закрыты: нет активной сессии, пустой ввод, ошибка API и неожиданные ошибки.

  • Отмена реализована с защитой от устаревших callback по message_id.

  • i18n добавлен во все локали, но документация не обновлена: в README.md и PRODUCT.md команды /rename нет.

Техкачество: 5.5/10

  • Есть хорошая базовая инженерия: разнесены обработчики, есть try/catch и логирование.

  • Состояние продублировано между interactionManager и renameManager — риск рассинхронизации.

  • Очистка состояния неполная: clearAllInteractionState не чистит renameManager, а renameManager.cancel() сбрасывает только sessionId, оставляя messageId/directory.

  • Тесты для /rename отсутствуют полностью.

  • Нет единого централизованного lifecycle rename-флоу с гарантированной полной очисткой.


MiniMax M2.5

Цена: $0.41
Время: 8 мин 17 сек
Корректность: 8.5
Техкачество: 6.0

Самая маленькая и дешёвая модель из тестируемых, не смогла сделать быстрее и дешевле, чем Kimi K2.5. Долго-долго не могла добиться компилирующегося кода, потом чинила тесты. Хотя модель добилась примерно таких же результатов, как Sonnet 4.6 и Kimi K2.5, она оставила не очень приятные впечатления: писала текст на русском вперемешку с английским и постоянно путалась с инструментами.

Детали оценки

Корректность: 8.5/10

  • Команда корректно подключена в точки входа: добавлена в список команд и зарегистрирована в боте.

  • Базовый сценарий работает: при /rename бот просит новое имя и показывает inline-кнопку отмены.

  • Ключевые ветки покрыты: нет активной сессии, пустой ввод, успешное переименование, ошибка API.

  • Отмена и устаревшие callback обрабатываются корректно через общий interaction-flow (expectedInput: "mixed").

  • Не обновлена документация: /rename отсутствует в README.md и PRODUCT.md.

Техкачество: 6.0/10

  • Реализация вынесена в отдельный модуль и аккуратно встроена в callback/text routing без ломки существующей структуры.

  • Состояние интеракции в целом надежно: есть проверка messageId и явная очистка на cancel/submit.

  • Нет тестов на новую функциональность.

  • Наблюдаемость средняя: в error-ветках не всегда хватает контекста (chat/session metadata).

  • Небольшой техдолг: часть утилит дублируется относительно других командных модулей.


GPT 5.3 Codex (high)

Цена: $2.87
Время: 9 мин 54 сек
Корректность: 9.0
Техкачество: 8.5

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

Детали оценки

Корректность: 9.0/10

  • Команда корректно подключена в боте и в списке команд.

  • Базовый флоу выполнен: запрос нового названия, inline-кнопка отмены, успешный апдейт с подтверждением.

  • Ключевые негативные сценарии покрыты: нет активной сессии, пустой title, неактуальный callback, потеря текущей сессии во время шага переименования.

  • UX во время ожидания согласован с текущей моделью интеракций через interactionManager/guard (режим mixed, разрешенные команды, блокировка нерелевантного ввода).

  • Не обновлены продуктовые документы (/rename отсутствует в README.md, PRODUCT.md).

Техкачество: 8.5/10

  • Реализация структурно чистая: отдельный модуль команды, явная типизация metadata, защита от stale callback по messageId.

  • Управление состоянием надежное: старт/очистка интеракции на success/cancel, безопасные catch при удалении сообщений.

  • Тесты хорошие для unit-уровня: happy path + ошибки + cancel + stale callback.

  • Недостает интеграционных проверок роутинга в bot/index и взаимодействия с guard/другими active flow.

  • Диагностируемость можно усилить: в ошибке rename лог не содержит контекст sessionID/directory.


GPT 5.4 (high)

Цена: $4.71
Время: 17 мин 15 сек
Корректность: 9.5
Техкачество: 8.5

Флагман от OpenAI работал сильно дольше всех остальных моделей и цена получилась на уровне Opus 4.6. Но на выходе получилась самая качественная реализация. Единственная модель, которая обновила документацию.

Детали оценки

Корректность: 9.5/10

  • /rename корректно подключена в боте и в списке команд, команда доступна пользователю.

  • Базовый сценарий реализован полностью: запрос нового названия следующим текстом, inline-кнопка отмены, успешный rename через API, подтверждение пользователю.

  • Граничные случаи закрыты: нет активной сессии, пустой/пробельный ввод, ошибка API, неактуальный callback с понятным сообщением.

  • UX во время ожидания согласован с существующей моделью интеракций: используется interactionManager с expectedInput: "mixed", через общий guard-механизм.

  • Локализация и документация обновлены: добавлены i18n-ключи во все языки, обновлены README.md и PRODUCT.md.

  • Небольшой минус: аргументы в /rename явно не валидируются и не отклоняются отдельно.

Техкачество: 8.5/10

  • Хорошее разделение ответственности: отдельный модуль команды, явный парсинг/валидация metadata, отдельное обновление title в session manager.

  • Надежность состояния: защита от stale callback по messageId, корректная очистка на cancel/success/error, удаление prompt-сообщения.

  • Ошибки обработаны предсказуемо: пользователю отдается безопасный текст, сбой pinned update изолирован и не ломает основной поток.

  • Тесты сильные для unit-уровня: покрыты ключевые позитивные и негативные сценарии.

  • Мало диагностических логов по жизненному циклу rename, нет интеграционных тестов роутинга.


Gemini 3.1 Pro (high)

Цена: $2.96
Время: 10 мин 39 сек
Корректность: 8.5
Техкачество: 6.5

Модель от Google в целом справилась с задачей и показала средний результат по всем параметрам.

Детали оценки

Корректность: 8.5/10

  • Команда подключена корректно, основной флоу реализован полностью: запрос нового имени, inline-кнопка отмены, прием следующего сообщения, подтверждение и обработка ошибки.

  • Граничные сценарии закрыты: нет активной сессии, пустой/пробельный ввод, неактуальный callback.

  • UX во время ожидания встроен в общий interaction flow через expectedInput: "mixed" и guard-мидлварь.

  • Не обновлена документация: /rename отсутствует в README.md и PRODUCT.md.

Техкачество: 6.5/10

  • Хорошее разделение ответственности: логика вынесена в отдельный модуль с явными helper-функциями.

  • Есть защита от устаревших callback-событий по messageId и корректная очистка interaction state.

  • Нет тестов на новую функциональность (ни unit, ни интеграционных).

  • Потенциальный технический риск: при rename вызывается pinnedMessageManager.onSessionChange(), который сбрасывает контекст/диффы и пересоздает pinned message — делает больше, чем обновление title.

  • В ошибках не хватает диагностического контекста (sessionId, directory) для runtime-разбора.

Сравнение результатов

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

Модель

Цена ($)

Время (мм:сс)

Корректность (0–10)

Техкачество (0–10)

Gemini 3.1 Pro (high)

2.96

10:39

8.5

6.5

GLM 5

0.89

12:34

8.0

6.0

GPT 5.3 Codex (high)

2.87

9:54

9.0

8.5

GPT 5.4 (high)

4.71

17:15

9.5

8.5

Kimi K2.5

0.33

5:00

9.0

5.5

minimax M2.5

0.41

8:17

8.5

6.0

Opus 4.6

4.41

10:08

9.0

7.5

Sonnet 4.6

2.43

10:15

8.5

5.5

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

cfpmnqu-g2imzimeckpwxmo6e8k.png

Итоги

Проведённое сравнение позволило оценить реальную стоимость реализации одной небольшой фичи в реальном проекте, если платить за API. Как мы видим, при использовании топовых проприетарных моделей цена приближается к $5 при времени работы около 10–15 минут. Если же использовать открытые модели, то цена снижается до $0,5–1.

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

Качество работы открытых моделей (GLM 5, Kimi K2.5, MiniMax M2.5) заметно уступает флагманским моделям от западных вендоров (Claude 4.6 Opus, GPT-5.4), несмотря на то что по синтетическим бенчмаркам они находятся достаточно близко к лидерам. Тем не менее, если требуется более дешёвая альтернатива Claude 4.6 Sonnet, стоит обратить внимание на Kimi K2.5, который показал сопоставимые результаты при гораздо более низкой стоимости.

Только модели от OpenAI (GPT-5.3 Codex и GPT-5.4) написали тесты. При этом инструкция писать тесты явно присутствует в файле AGENTS.md проекта, а в кодовой базе уже существует значительное количество тестов, на которые можно ориентироваться. Остальные шесть моделей этот пункт проигнорировали. На самом деле, я наблюдал подобную ситуацию и ранее: модели часто игнорируют инструкции, стараясь сэкономить токены. Хотя, конечно, такие вещи решаются дополнительным промтом и требованиями к покрытию.

Claude 4.6 Opus продемонстрировал лучшее техническое решение и отработал достаточно быстро. Единственный минус — он не написал тесты и не обновил документацию. Неоднократно встречал мнения, что Opus хорош во всём, но склонен игнорировать инструкции, и в этом модели от OpenAI выглядят сильнее.

По совокупности параметров — стоимость, скорость, корректность и техническое качество лучше всех выглядит GPT 5.3 Codex. Что в принципе совпадает с моими ощущениями.

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

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

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

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу crypto.news@mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

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