Компания Anthropic провела увлекательный эксперимент, в ходе которого группа из 16 ИИ-агентов Claude смогла самостоятельно разработать компилятор языка Си. Несмотря на то, что получившаяся программа ещё далеки от идеала, данный проект подчеркивает потенциал современных технологий искусственного интеллекта. В этой статье мы разберём ключевые аспекты эксперимента, его результаты и ограничения, а также их влияние на будущее программирования с использованием ИИ.
Эксперимент и его цели
Исследователь Николас Карлини запустил 16 экземпляров Claude Opus 4.6 в облачном окружении для создания компилятора языка Си. Основные моменты эксперимента:
- Запуск агентов: Каждый экземпляр работал в своём контейнере Docker, что позволяло им взаимодействовать с общей кодовой базой.
- Задачи и координация: Агенты определяли задачи самостоятельно и отправляли готовый код обратно в репозиторий без центрального координирующего агента.
- Финансовые затраты: Проект обошёлся примерно в $20 000 за доступ к ИИ по API, не включая дополнительные затраты на обучение модели и тестирование.
Результаты работы ИИ-агентов
В результате двухнедельной работы агенты написали компилятор на языке Rust объёмом 100 000 строк кода. Основные достижения включают:
- Совместимость: Компилятор способен собирать загружаемое ядро Linux 6.19 для архитектур x86, Arm и RISC-V.
- Тестирование: Он успешно компилирует код открытых проектов, таких как PostgreSQL и FFmpeg, проходя 99 % тестов GCC.
- Проблемы с производительностью: Скомпилированный код менее эффективен по сравнению с аналогами от GCC.
Ограничения разработки
Несмотря на достигнутые успехи, эксперимент выявил ряд серьёзных ограничений:
- Качество кода: Исходный код компилятора оказался ниже уровня профессионального программиста.
- Управление сложностью: При росте кодовой базы до 100 000 строк возникли проблемы с пониманием её структуры агентами.
- Отсутствие доступа к интернету: ИИ-агенты работали без онлайн-ресурсов, что ограничивало их возможности для поиска решений.
Выводы и перспективы
Основной вывод эксперимента заключается в том, что современные языковые модели обладают значительным потенциалом для выполнения сложных задач программирования. Важные аспекты включают:
- Новые подходы к параллельному запуску агентов: Координация действий через Git может изменить подходы к командной работе в разработке ПО.
- Инженерные приёмы повышения производительности: Разработанные методы могут повлиять на будущее ИИ-программирования.
- Сложности масштабирования проектов: Необходимость тщательной работы с кодом при увеличении его объёма может стать вызовом для последующих исследований.
This groundbreaking experiment показывает, как далеко продвинулся искусственный интеллект в области программирования. Ожидается, что дальнейшие исследования помогут преодолеть существующие ограничения и откроют новые горизонты для использования ИИ в разработке программного обеспечения.