Мнение Я готов восхищаться продуктами на базе ИИ, но C-компилятор, созданный ИИ от Anthropic, меня не впечатлил. Это не более чем хитрая демонстрация. Это не тот момент, когда разработка программного обеспечения в том виде, в каком мы ее знаем, переворачивается и умирает. Даже близко нет.
Anthropic с гордостью заявила, что ее команда из 16 агентов Claude Opus 4.6 написала C-компилятор на основе Rust с нуля без доступа к Интернету. Серьезно? И это должно меня впечатлить? Конечно, как утверждает Anthropic, созданный ИИ C-компилятор может компилировать то, это и другое. Да, даже Doom. Но и что с того?
Языку C 53 года. Это старше многих из вас. Экосистема C имеет наборы тестов, которые кодируют тонкости языка. Существуют эталонные компиляторы золотого стандарта, GCC и Clang, для сравнения на каждом этапе. Кроме того, я не сомневаюсь, что все многочисленные компиляторы и инструменты C с открытым исходным кодом уже были в LLM Claude. Как они могли там не быть?
Сказать, что он не имел доступа к Интернету, — это все равно что студент сказал бы: «У меня были копии кода, над которым я работал, но я отключил Wi-Fi».
Некоторые люди, кажется, думают, что написание C-компилятора — это тяжелая работа. Ну да, если писать его на ассемблере, то так оно и есть. Но я вынужден вас разочаровать: студенты факультетов компьютерных наук пишут C-компиляторы каждый семестр. Черт возьми, вы можете научиться делать это сами благодаря онлайн-курсу Дэниела Маккарти «Разработка C-компилятора с нуля». И курс обойдется вам гораздо дешевле, чем 20 000 долларов, которые потратила Anthropic.
Эксперимент Anthropic начинается после всей этой проделанной тяжелой работы, и он все равно терпит неудачу. Конечно, судя по заголовкам, это звучит здорово: «16 агентов… две недели… 100 000 строк Rust… компилирует Linux и Doom». Вникните в детали и тестирование сообщества, и история окажется гораздо менее впечатляющей.
Например, как отметили несколько человек на GitHub, поскольку компилятор Anthropic не включает путь к нативной C-библиотеке в вашей системе, он не может скомпилировать «Hello World». Как выразился один человек: «Видимо, компиляция hello world именно так, как указано в README, — это несправедливое ожидание от программного обеспечения». Вы, конечно, можете указать пути, но, как добавил другой человек, «вам не придется этого делать, лол!» О, позор всему этому!
Это хороший лакмусовый тест. Если ваш чудо-компилятор спотыкается на каноническом первом примере без посторонней помощи, он не готов встать рядом с GCC и Clang в инструментарии кого-либо.
Но подождите, это еще не все! В сабреддите Programming один из самых популярных комментариев подробно и мучительно описал:
- Отсутствует 16-битный x86-компилятор, необходимый для загрузки Linux из реального режима. Для этого он обращается к GCC.
- У него нет собственного ассемблера и компоновщика. Демонстрационное видео было создано с использованием ассемблера и компоновщика GCC.
- Компилятор успешно собирает многие проекты, но не все. Это еще не замена реального компилятора «под ключ».
- Сгенерированный код не очень эффективен. Даже при включенных всех оптимизациях он выдает менее эффективный код, чем GCC со всеми отключенными оптимизациями.
- Качество кода Rust приемлемо, но оно далеко от качества, которое мог бы произвести эксперт по Rust.
Вот что на самом деле сделала Anthropic. Ей удалось написать на Rust полусырой C-компилятор, который, опираясь на существующий код с открытым исходным кодом и при значительной поддержке, может запускать наборы тестов и успешно компилировать Linux и другие программы.
Рой агентов не проснулся однажды утром и не изобрел компиляцию. Комментаторы на Reddit отметили, что ему были предоставлены «очень сложные и тщательные наборы тестов вместе с исполнительными оболочками, все созданные людьми, причем оболочка была специально разработана для использования ИИ». Другой комментарий называет это «не таким уж и сложным по сравнению с началом работы со спецификацией C, когда кто-то другой уже разбил проблему, разработал тщательные тесты и предоставил сравнение с признанным бинарным форматом». Их первоначальное объяснение задачи не выдерживает критики.
Вдобавок ко всему, существует проблема обучающих данных. Один скептик отмечает, что система «была разработана с использованием той самой кодовой базы, которую она должна была воспроизвести. Кроме того, в обучающие данные был включен набор для валидации». С этой точки зрения, то, что вы видите, — это не ИИ, открывающий компиляторы с нуля, а сложный процесс поиска и уточнения по миру, уже наполненному компиляторами и тестами компиляторов.
На Hacker News комментаторы прекрасно сформулировали два нарратива: «Сторонники LLM-кодирующих агентов: смотрите! рабочий компилятор, созданный агентом за несколько часов! Это потрясающе! Противники LLM-кодирующих агентов: это не рабочий компилятор. И неважно, сколько часов это заняло, потому что он не работает. Он бесполезен». Правда находится где-то посередине, но гораздо ближе к «интересной лабораторной демонстрации», чем к «некрологу по программистам-людям».
Моя главная забота остается в том, что компании, одержимые ИИ, будут без разбора увольнять разработчиков и заменять их ИИ, чтобы улучшить свою прибыль. ИИ просто еще не готов взять на себя работу программистов, независимо от того, сколько генеральных директоров настаивают на том, что это уже меняет правила игры.
Нет, это просто полезный инструмент, требующий осторожного и экспертного использования для достижения эффективности. ®
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Steven J. Vaughan-Nichols




