Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Эксперименты с использованием AI для улучшения кода BIND 9 и переработки Next.js

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 1408
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 48 раз
Поблагодарили: 26 раз

Эксперименты с использованием AI для улучшения кода BIND 9 и переработки Next.js

Сообщение root:# »

Эксперименты с использованием AI для улучшения кода BIND 9 и переработки Next.js
Ондржей Cури (Ondřej Surý), директор по инжинирингу DNS в организации ISC, в прошлом создавший проект CZ.NIC Labs, развивающий DNS-сервер Knot, подвёл итоги экспериментов по использованию больших языковых моделей для анализа, исправления и модернизации кодовой базы DNS-сервера BIND 9, создания прототипов новых проектов и подготовки материалов для обучения студентов. Впечатления от использования AI свелись к тому, что большие языковые модели хорошо подходят для быстрого создания прототипов, понимания незнакомого кода и автоматизации простых рутинных задач, но при их использовании для решения больших задач сомнительно, что они экономят время, так как много времени уходит на постановку задачи, изучение и проверку результата, а также последующую доработку. В первом эксперименте AI-ассистенту Claude Code была поставлена задача обнаружения проблем в кодовой базе DNS-сервера BIND 9, фокусируясь на проблемах с безопасностью и модернизации кода. Не одно из предложенных исправлений не было принято в кодовую базу, так как Claude сгенерировал технически корректный, но практически бесполезный код. Например, в качестве проблем отмечались зарезервированные идентификаторы и потенциальные целочисленные переполнения, предотвращаемые компилятором и не требующие правки. Эксперимент признан бесполезной тратой времени. Во втором эксперименте Ондржей попросил Claude написать систему телеметрии, интегрируемую с разными пакетами и минимизирующую утечки метаданных. Claude Code подготовил прототипы клиента и сервера, но без должного понимания окружения и возникающих в процессе тестирования проблем. Дополнительно для проверки были задействованы Google Gemini и ChatGPT, и каждая AI-модель находила ошибки в результате работы других моделей. Для быстрого создания прототипа метод оказался пригоден, но Ондржей отметил, что при работе он чувствовал себя секретарём робота‑повелителя. Вначале быстрое получение прототипа внушало оптимизм, но в конце возникло ощущение, что весь процесс разработки с помощью AI занял больше времени, чем при написании кода вручную с нуля. Много времени было потрачено на разбор решения, предложенного AI, проверку наличия бессмысленных изменений и переработку - прототип пришлось переделать, так как качество кода после AI оказалось посредственным и код включал большое число повторяющихся конструкций. Третьим экспериментом стала генерации балансировщика нагрузки на языке Rust с использованием crate-пакетов Domain и Tokio. Claude Code сумел сгенерировать запрошенный рабочий прототип, но Ондржей не настолько хорошо знает Rust и задействованные библиотеки, чтобы оценить качество проделанной работы. Четвёртый эксперимент был связан с подготовкой в Google Gemini вспомогательных материалов, тестов и вопросов к курсу лекций, который Ондржей преподаёт в университете. Данный эксперимент признан наиболее успешным, хотя не обошлось без проблем - AI выдумал несуществующее чешское слово для термина по криптографии. Также отмечено обилие присылаемых ему студенческих работ, сгенерированных большими языковыми моделями, которые приходятся возвращать на переделку из-за несоответствия работы университетскому уровню и ссылок на некорректные источники.

Дополнительно можно отметить ещё один эксперимент, проведённый директором по инжинирингу компании Cloudflare. При помощи модели Claude Code, потратив примерно неделю времени и 1100 долларов на токены, удалось подготовить альтернативную реализацию API фреймворка Next.js, оформленную в виде плагина к инструментарию Vite. Проект получил название vinext и опубликован на GitHub. Новая реализация в четыре раза быстрее, чем сборка Next.js при помощи Turbopack, и формирует бандлы для фронтэндов, занимающие на 57% меньше места. Проект реализует 94% шестнадцати базовых API Next.js и может использоваться в качестве прозрачной замены Next.js и развёртывания проектов в платформе Cloudflare Workers без применения дополнительных прослоек, таких как OpenNext, и без привязки к Node.js. Ключевым назначением vinext называется предоставление возможности использования API Next.js на платформах, отличных от Vercel, и без развёртывания собственного сервера. В текущем виде поддерживается только Cloudflare Workers и имеется прототип для Vercel, но в будущем ожидается поддержка и других платформ бессерверных вычислений, с которыми может работать Vite, включая Netlify и AWS Lambda.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64884