Игорь Градов
Игорь Градов
5 мин
ai

Язык программирования Rust стоит ИИ-агенту на 14% больше токенов, но его код проще проверять

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

Почему это важно

Когда код пишет ИИ-агент (программа, которая сама вносит правки в проект по вашему заданию), язык выбирают под удобство проверки, а не под удобство набора. В эксперименте, на который ссылается автор, Rust потребовал от агента на 11% и 14% больше токенов, чем Go.

Поводом стала другая статья на Хабре: в ней намеренную простоту Go подали как решение, которое неожиданно пригодилось при работе с нейросетями. Никита возражает: Rust, язык программирования с непростым стартом, окупается тем, что его код удобнее читать и спокойнее менять. Сейчас код за автора пишет агент, а он читает изменения, просит переделать решения и возвращается к этому коду.

На Rust агент потратил на 14% больше токенов, чем на Go

Автор приводит эксперимент MiniGit: агент писал упрощённый Git (систему учёта версий кода) на разных языках, а потом добавлял новые команды. У модели Opus 4.6 на Rust ушло примерно на 14% больше выходных токенов (кусочков текста, за которые платят при работе с нейросетью), чем на Go. В повторе с GPT-5.4 разница составила 11%, с Python разрыв был заметнее.

Сам автор оговаривает, что это одна небольшая задача. Чтобы снизить расходы, он предлагает присмотреться к китайским моделям: по его данным, GLM-5.3 на отдельных тестах для кода близка к Opus 5. Миллион выходных токенов у GLM-5.3 стоит $4,4, у Opus 5 стоит $25.

Спор о простоте автор разбирает через доклад Роба Пайка, одного из авторов Go, Simplicity is Complicated («Простота сложна») 2015 года. Пайк называет простотой искусство прятать сложность и приводит в пример сборщик мусора (механизм, который сам убирает ненужные данные из памяти). Никита соглашается с такой простотой, но считает, что отсутствие нужной возможности задачу не отменяет.

Показательно, что претензии звучат и внутри сообщества Go. В опросе команды Go за 2025 год 28% ответивших назвали отсутствие нужной возможности из другого языка одним из главных раздражителей. В открытых ответах обсуждали обработку ошибок, перечисления с данными, защиту от пустых значений nil и многословность кода.

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

Что автору нравится в Rust, где компилятор (программа, которая переводит код в рабочую программу и заранее ловит ошибки) многое проверяет сам:

  • переменные по умолчанию нельзя менять, изменяемость пишут явно через mut;
  • перечисления вариантов с данными и match, который требует разобрать все варианты: без общей ветки компилятор покажет, где обработать новый;
  • обычная ссылка не может быть пустой, для значения, которого может не быть, есть Option<T>;
  • Result и ? соединяют операции с ошибками без одинаковых проверок после каждого вызова;
  • итераторы от map, filter, reduce до map_while и try_rfold, которые компилятор часто сводит к обычному циклу;
  • правила безопасного Rust исключают обращение к уже освобождённой памяти, двойное освобождение и гонки данных (когда две части программы одновременно меняют одни данные).

Что понадобится, чтобы писать на Rust вместе с ИИ?

  • ИИ-агент для кода: в эксперименте фигурируют Opus 4.6 и GPT-5.4, по цене выгоднее GLM-5.3.
  • Установленный Rust со штатным инструментом сборки cargo.
  • Время на основы владения и заимствования, без них агент будет латать ошибки наугад.
  • Готовность читать каждое изменение агента на ревью (проверке кода перед принятием).

Пять шагов, после которых код агента на Rust легко проверять

  1. Разберитесь, чего требует borrow checker, проверка заимствований (часть компилятора, которая следит, кто и когда пользуется одними данными). Автор признаёт, что работать стало понятнее, только когда он понял логику этих требований.
  2. Отдавайте агенту ошибки в JSON, машиночитаемом формате, с местами ошибок и подсказками:
cargo check --message-format=json
  1. Задайте стиль в промпте:
Пиши на Rust. Для ошибок используй Result и оператор ?, для отсутствующих значений Option. В match перечисляй все варианты явно, без общей ветки. Не добавляй .clone(), чтобы обойти ошибку заимствования: объясни причину ошибки.
  1. На ревью ищите лишние .clone() и общие ветки в match, они прячут проблемы.
  2. Сравните модели по цене выходных токенов и считайте попытки на своём проекте.
Как это выглядело на практике

Ввод: в начале пути автор скармливал ChatGPT ошибки компилятора. Результат: в коде появлялись клоны, потом ещё клоны, и всё как-то работало, но почему, он не всегда понимал. Сам Никита называет себя вайбкодером (тем, кто пишет код нейросетью, не вникая в устройство) ещё до появления термина.

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

Что делать с этим прямо сейчас, по ролям

Автору Дзена, который пишет о технологиях: спор Go и Rust хорошо ложится в формат «опыт против моды». Если учитесь программировать с нейросетью, берите правило автора: сначала понять ошибку, потом просить исправление.

Маркетологу: разница от 11 до 14% в токенах заметна на больших объёмах, а цена миллиона токенов отличается в разы, от $4,4 до $25. Закладывайте выбор модели в бюджет до старта проекта.

Предпринимателю в РФ и СНГ, который заказывает разработку: спросите подрядчика, кто читает код агента и на каком языке его потом сопровождать. Если зарубежные модели недоступны, из российских аналогов есть YandexGPT и GigaChat, но на Rust их автор не проверял.

Совет редакции dzen.guru

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

Нейросети в работе автора

Подберите ИИ-инструменты для текстов и контента с практическими инструкциями от dzen.guru.

Перейти к инструментам
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

ai

Нейросеть для дизайна сайта: маркетолог переделала 22 страницы за день без бюджета

Маркетолог небольшой российской ИТ-компании переделала 22 страницы сайта с нейросетью за один рабочий день чистого времени, без дизайнера и бюджета, закрыв…

5 мин
Владелец Akai и Moog откроет код инструментов: вот что такое вайб-кодинг для музыканта
ai

Владелец Akai и Moog откроет код инструментов: вот что такое вайб-кодинг для музыканта

Компания inMusic, владелец Akai, Moog и Native Instruments, откроет код своих инструментов и даст любителям набор для доработок, хотя пять недель назад такой…

5 мин
The Verge: большие технологии проиграли на выборах 2026 года, Конгресс возьмётся за ИИ
ai

The Verge: большие технологии проиграли на выборах 2026 года, Конгресс возьмётся за ИИ

Американские избиратели во вторник на выборах 2026 года массово проголосовали за демократов и против ИИ, а значит, крупным технокомпаниям предстоит борьба с…

4 мин