Завершён эксперимент по внедрению ИИ в обновление кода BIND 9 Обложка: Skyread

Завершён эксперимент по внедрению ИИ в обновление кода BIND 9

Новости
Главное:

  • Директор по инжинирингу ISC Ондржей Cури провёл серию экспериментов с использованием больших языковых моделей для анализа и модернизации кода DNS-сервера BIND 9.
  • ИИ хорошо подходит для быстрой генерации прототипов и автоматизации рутинных задач, однако требует значительных временных затрат на постановку задач и проверку результатов.
  • Опыт показал, что качество кода, сгенерированного ИИ, нередко оставляет желать лучшего, а интеграция таких решений сложна без дальнейшей ручной доработки.

Недавно директор по инжинирингу организации ISC, инженер Ондржей Cури, известный как создатель проекта CZ.NIC Labs и соавтор DNS-сервера Knot, обнародовал итоги серии экспериментов, в которых он применял большие языковые модели искусственного интеллекта для анализа, исправления и модернизации кодовой базы популярного DNS-сервера BIND 9. Данная работа велась не только в научных целях, но и для создания обучающих материалов для студентов.

По словам Cури, большие языковые модели, такие как Claude Code, демонстрируют хорошую эффективность в задачах быстрого прототипирования и понимания незнакомого кода, а также могут автоматизировать простые рутинные операции. Однако при переходе к решению более масштабных задач с использованием ИИ разработчик столкнулся с неожиданными проблемами: значительная часть времени уходила на тщательную постановку задачи, изучение и проверку полученных результатов и последующую доработку сгенерированного кода.

В первом эксперименте ИИ был задействован для выявления проблем с безопасностью и обновления кода BIND 9. Однако большинство предложенных исправлений оказались непрактичными — например, ИИ указывал на проблемы, уже защищённые компилятором, или на неактуальные зарезервированные идентификаторы. В итоге ни одно из решений не было принято в основной кодовой базе, а сам эксперимент был признан неэффективным.

Во втором эксперименте Cури поручил ИИ разработать систему телеметрии с минимальными утечками метаданных. Хотя Claude Code подготовил прототипы клиента и сервера, в них проявилась недостаточная адаптация к особенностям окружения и отдельно выявленные ошибки. Для сопоставления результатов также были привлечены модели Google Gemini и ChatGPT, которые выявляли ошибки и неточности друг у друга. В итоге метод сработал для быстрой генерации прототипа, но итоговый код требовал серьёзной переработки из-за посредственного качества и повторяющихся частей.

Третий эксперимент состоял в создании балансировщика нагрузки на языке Rust с использованием специализированных пакетов. ИИ вновь предоставил рабочий прототип, но из-за ограниченных знаний Cури в специфике Rust и данных библиотеках оценить качество реализации он не смог.

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

Подобные эксперименты иллюстрируют возможности и ограничения современных языковых моделей в контексте сложной системной разработки. Хотя ИИ способен ускорить создание прототипов и помочь в рутинных задачах, для внедрения готовых решений требуется немало ресурсов на контроль качества и адаптацию результатов. Для профессионального использования ИИ становится скорее инструментом поддержки, чем полноценно заменяющим разработчиков средством.

Tagged