Ондржей Сури (Ondřej Surý), директор по инжинирингу DNS в организации ISC, подвёл итоги экспериментов с использованием больших языковых моделей для анализа, исправления и модернизации кодовой базы DNS-сервера BIND 9. Также он провёл эксперименты по созданию прототипов новых проектов и подготовке учебных материалов.
Эксперимент с анализом кода BIND 9
В первом эксперименте Ондржей использовал AI-ассистента Claude Code для обнаружения проблем в кодовой базе DNS-сервера BIND 9, фокусируясь на вопросах безопасности и модернизации. Неоднозначные результаты: ни одно из предложенных исправлений не было принято в основной репозиторий. Claude сгенерировал технически корректный, но практически бесполезный код. Например, он выявил зарезервированные идентификаторы и потенциальные целочисленные переполнения, которые компилятор уже предотвращал. Эксперимент был признан неэффективной тратой времени.
Создание системы телеметрии
Во втором эксперименте Ондржей попросил Claude написать систему телеметрии, интегрируемую с различными пакетами и минимизирующую утечки метаданных. Claude подготовил прототипы клиента и сервера, но без глубокого понимания окружения и возникающих проблем в процессе тестирования. Для проверки были задействованы Google Gemini и ChatGPT, которые находили ошибки в работе друг друга. Метод оказался полезным для быстрого создания прототипов, но требовал значительных усилий на доработку кода, который AI сгенерировал.
Балансировщик нагрузки на Rust
Третьим экспериментом стала генерация балансировщика нагрузки на языке Rust с использованием crate-пакетов Domain и Tokio. Claude Code сумел создать рабочий прототип, но Ондржей не обладает достаточной компетенцией в Rust и задействованных библиотеках, чтобы оценить качество проделанной работы.
Подготовка учебных материалов
Четвёртый эксперимент был связан с подготовкой вспомогательных материалов для курса лекций, который Ондржей преподаёт в университете. Этот эксперимент признан наиболее успешным, несмотря на некоторые проблемы. Например, AI выдумал несуществующее чешское слово для термина по криптографии. Также отмечено обилие студенческих работ, сгенерированных большими языковыми моделями и требующих переделки из-за несоответствия университетскому уровню.
Альтернативная реализация API Next.js
Дополнительно можно отметить эксперимент, проведённый директором по инжинирингу компании Cloudflare. При помощи модели Claude Code, потратив около недели времени и 1100 долларов на токены, удалось создать альтернативную реализацию API фреймворка Next.js, оформленную в виде плагина к Vite. Проект получил название vinext и опубликован на GitHub.Новая реализация vinext работает в четыре раза быстрее, чем сборка Next.js при помощи Turbopack, и формирует бандлы для фронтендов, занимающие на 57% меньше места. Проект поддерживает 94% из шестнадцати базовых API Next.js и может использоваться в качестве прозрачной замены Next.js для развёртывания проектов в платформе Cloudflare Workers без применения дополнительных прослоек, таких как OpenNext, и без привязки к Node.js.Ключевым назначением vinext является предоставление возможности использования API Next.js на платформах, отличных от Vercel, и без развёртывания собственного сервера. В текущем виде поддерживается только Cloudflare Workers и имеется прототип для Vercel, но в будущем ожидается поддержка других платформ бессерверных вычислений, таких как Netlify и AWS Lambda. Подробнее про этот эксперимент мы писали совсем недавно