К основному содержимому
#AI

GitHub Copilot: Coding Will Never Be The Same Again • Ryan J. Salva • YOW! 2023

#AI #Software #Leadership #Future #ML #DataScience #Productivity #Engineering #Processes

Интересное выступление от Ryan J. Salva, VP of Product в Github, который рассказывает о том, как работает Copilot, и сопровождает все это несколькими демо. Ну и основным лейтмотивом выступления является обсуждение того, как Copilot помогает инженерам повышать свою продуктивность и изменять свой способ работы с кодом. Основные мысли в выступлении следующие

  • Copilot умеет делать подсказки кода, который возможно вам будет полезен, исходя из контекста
  • Контест обычно задается тем промптом, который вы пишите вначале в виде комментария на естественном языке
  • Кроме того, у пользователя есть возможность общаться с помощником в чате, задавая вопросы по кодовой базе или прося сгенерировать какой-то кусок кода
  • Архитектура системы на пальцах состоит из трех частей: code editor <-> proxy <-> model
  • Контекст обирается со всего редактора (автор показывает на примере VS Code). В дело идут другие открытые вкладки, что тоже используются для контекста
  • Для разных целей используются разные модели - условно для подсказок нужно low latency, поэтому используется модель попроще и побыстрее (GPT-3.5), а для чата приемлемо некоторое время ожидания, поэтому можно использовать модель помощнее и помедленнее (GPT-4)
  • В принципе, в чате можно попросить Copilot сгенерировать ответ, используя данные всего вашего проекта (workspace)
  • Дальше есть возможность использовать RAG (retrieval augmented generation), когда к вопросам пользователя «подмешивается» дополнительная информацию из каких‑то внешних источников для расширения возможностей copilot -- Пример с документацией по внутренней дизайн системе для создания интерфейсов -- Пример с информацией из observability платформ (splunk, datadog, ...) для связки условного сбоя, изменений за последнее время и имен авторов (чтобы подключить их к разбору инцидента)
  • Дальше автор рассказывает про fine tunning модели, например для внесения смещения в сторону определенных стилей, версий API или SDK, языков программирования. Тут автор говорит, что модель дообучается на той обратной связи, что ей доступна (принятые и отклоненные suggestions, код, что прошел код ревью на merge request и код, что в результате код ревью был исключен и так далее)
  • Ребята в Github проводили много экспериментов по исследованию влияния использования LLMs и результаты показывали значимые эффекты. Особенно мне понравилось исследование, где качество MRs оценивали инженеры вслепую, когда не знали использовали ли авторы MRs при работе LLMs или нет. И эта слепая оценка показала значимо более высокие оценки качества MRs у тех, кто пользовался помощью LLMs
  • Интересно, что LLMs больше бустят начинающих разработчиков, а у продолжающих эффект меньше
  • Дальше автор рассказывает про экономический эффект, что они посчитали в результате исследования с командой McKinsey и там получилось число 1.5 триллиона долларов за следующие три года (вообще консультанты любят рисовать большие цифры)
  • Ну и завершается все тем, что ИИ не отнимет работу и инженеров, а скорее избавит их от рутины и в будущем для инженеров будет важна креативность и системное мышление, что позволит решать более сложные задачи, а вот зубрить синтаксиса языка придется меньше:)

#AI #Software #Leadership #Future #ML #DataScience #Productivity #Engineering #Processes