Программисты склонны воображать, что ИИ вытеснит нас в последнюю очередь — в конце концов, мы являемся частью команды, которая действительно занимается этим! Фактически, мы, скорее всего, увидим помощников по программированию ИИ раньше, чем вы могли ожидать. Байю — яркий тому пример, и вы можете попробовать его прямо сейчас.
Исследователи из Университета Райса использовали глубокое обучение с использованием TensorFlow, чтобы научиться генерировать полные методы из частичных реализаций. На данный момент он работает только с Java, но это всего лишь вопрос обучения. Вы садитесь с Байу и набираете черновик метода Java, который вы могли бы написать, если бы не совсем запомнили API и у вас не было времени все просмотреть. В полученном черновике будут «дыры», в которые нельзя будет написать код. Если вы подскажете, что может попасть в эти дыры, Байю попытается заполнить пробелы.
На данный момент Bayou может заполнить только одно отверстие для каждого метода, но его можно расширить, чтобы справиться с большим количеством. Подсказка, которую вы должны предоставить, — это либо вызов метода API, либо тип данных, который вы хотите использовать в сгенерированном коде.
Пример, приведенный в документации:
/// — это обозначение, используемое для сообщения Bayou, что это запрос — как мне использовать readLine для заполнения этого метода?
В этом случае Bayou, скорее всего, сгенерирует в качестве тела метода:
FileReader fr1;
BufferedReader br1;
Строка s1;
пытаться {
fr1 = новый FileReader (файл);
br1 = новый BufferedReader (fr1);
s1 = br1.readLine ();
} catch (FileNotFoundException _e) {
} catch (IOException _e) {
}
возвращаться;
Вы можете изменить сгенерированный код, оставив несколько запросов API:
/// call: readLine call: close
В этом случае вы получите тот же код, но теперь файл будет закрыт для вас.
Вы можете видеть, что это не интеллектуальный кодировщик, но он пытается соответствовать тому, что вы предлагаете, и избавляет вас от создания большого количества почти шаблонного кода.
Вы можете увидеть Bayou в действии на видео:
Вы также можете попробовать его по-настоящему на сайте Bayou и присоединиться к его разработке на GitHub. Это проект с открытым исходным кодом под лицензией Apache 2.0. Это также результат инициативы DARPA, направленной на упрощение программирования и меньшую подверженность ошибкам.
Ищите новые и лучшие инструменты искусственного интеллекта, которые помогут нам в программировании. Если вы все еще пишете код с помощью emacs и думаете, что командная строка — единственный способ работать, пора переходить в новый век. Мы можем делать больше с инструментами ИИ, чем с командной строкой. Мы не можем надеяться кодировать все с нуля в будущем, и помощники по ИИ и товарищи по программированию — это способ, которым мы можем получить помощь, необходимую для навигации во все более сложном мире API-интерфейсов, фреймворков и полных систем.