Как инцидент с OpenAI превратился в GitHub Copilot: инсайды от Райана Сальвы

Lenny's Podcast 3,8 тыс. 1 ч 4 мин 4 мин 04.09.2022
Главное

Райан Дж. Сальва, вице-президент по продукту в GitHub, в интервью Ленни Рачитски раскрывает внутреннюю кухню создания GitHub Copilot — от случайного инцидента с OpenAI до превращения в один из самых быстрорастущих ИИ-инструментов. В центре внимания — стратегия инкубации «лунных выстрелов» внутри корпорации Microsoft и трансформация роли разработчика в эпоху, когда значительную часть кода пишет машина.

🎨 От философии эстетики к управлению кодом 4:48

Райан Дж. Сальва обладает нетипичным для IT-лидера образованием: он изучал философию эстетики и критическую теорию XX века. По его мнению, программная разработка — это новый медиум для творчества, сравнимый с живописью или музыкой. До перехода в GitHub Сальва более 10 лет работал в Microsoft, где руководил разработкой внутренней инфраструктуры для Windows, Office и Azure.

Переход в GitHub после его поглощения Microsoft был обусловлен желанием Сальвы быть ближе к сообществу создателей. Он утверждает, что GitHub является эпицентром инноваций в инструментах для разработчиков. В компании он курировал не только Copilot, но и такие продукты, как:

❄️ Арктическое хранилище и «атака» OpenAI: как родился Copilot 17:52

История Copilot началась с курьезного случая. Команда инфраструктуры GitHub зафиксировала резкий всплеск запросов на клонирование публичных репозиториев, что изначально приняли за DDoS-атаку. Выяснилось, что это OpenAI собирали данные для обучения своих моделей. Вместо того чтобы блокировать доступ, GitHub предложил передать данные в структурированном виде.

Базой для обучения послужил слепок публичного кода, подготовленный для проекта Arctic Code Vault — хранилища в Финляндии, предназначенного для сохранения знаний человечества на тысячи лет. Эксперименты показали, что большие языковые модели (LLM) отлично справляются с кодом из-за его жесткой семантики и ограниченного словаря по сравнению с естественными языками.

Разработчики экспериментировали с разными интерфейсами:

  1. Боковые панели с вариантами функций (оказались слишком отвлекающими).
  2. Инлайновое автодополнение серым курсивом (стало стандартом Copilot).

🚀 Методология GitHub Next: три горизонта планирования 27:40

Продукт был инкубирован командой GitHub Next, которая занимается проектами второго и третьего горизонтов (Moonshots). В GitHub принята следующая классификация:

Сальва рекомендует выделять на такие исследования 5–10% ресурсов компании. Около 25–30% уходит на поддержку текущих операций, а оставшиеся 60% — на инкрементальные улучшения.

Ключевым фактором успеха Copilot стал механизм передачи знаний. Когда прототип показал потенциал, исследователей из GitHub Next на время перевели в специально созданную продуктовую команду (EPD squad) для промышленной эксплуатации. Сальва подчеркивает, что исследователи не должны покидать проект до тех пор, пока на их место не придут люди с соответствующими компетенциями, полностью освоившие домен.

⚡ Техническая магия и психология «потока» 11:14

Основная ценность Copilot, по словам Сальвы, заключается в удержании разработчика в «состоянии потока». Инструмент избавляет от необходимости переключаться на Stack Overflow или документацию для поиска синтаксиса.

Технические параметры эффективности:

⚖️ Этика и «Безумный напарник» 38:51

Одной из самых сложных задач стала настройка поведения ИИ. Райан Сальва использует метафору «парного программирования»: Copilot — это напарник, который шепчет вам на ухо. Проблема возникла, когда ИИ начал «шептать» неуместные вещи, включая политические лозунги или оскорбления.

Для решения этих проблем GitHub:

  1. Внедрил черные списки слов (block lists), что оказалось сложным с редакционной точки зрения.
  2. Начал использовать модели Azure Department of Responsible AI для контекстуального анализа этичности ответов.

Сальва настаивает: Copilot — это не замена человеку. Он утверждает, что GitHub сознательно не хочет, чтобы ИИ писал код без надзора «думающего и дышащего человека». Ответственность за безопасность и качество кода всегда остается на разработчике.

🛠️ Трудности масштабирования и GPU-голод 48:59

Масштабирование продукта столкнулось с глобальными вызовами. Сальва отмечает дефицит специализированных GPU, необходимых для работы моделей. GitHub вынужден агрессивно бороться за вычислительные мощности в дата-центрах по всему миру.

Также возникло сопротивление со стороны сообщества. Часть разработчиков скептически относится к обучению моделей на публичном коде. Сальва считает этот скептицизм здоровым и необходимым для индустрии, так как он заставляет компанию быть подотчетной в вопросах «отравления моделей» и новых векторов атак.

💡 Блиц: рекомендации и инструменты 57:03

В финале беседы Райан Сальва поделился личными предпочтениями и методами найма:

💬 Цитаты

«Мы не хотим, чтобы Copilot генерировал код там, где на другом конце клавиатуры нет мыслящего, рассуждающего и дышащего человека.»

Райан Дж. Сальва 52:17

«Идеальное время отклика — около 200 миллисекунд. Так разработчик не чувствует, что его прерывают.»

Райан Дж. Сальва 26:07
👥 Спикеры
📚 Упомянутые книги
🎬 Упомянутые фильмы и сериалы
🔗 Упомянутые сайты и проекты
📖 Термины
GitHub Next
Исследовательская команда внутри GitHub, занимающаяся долгосрочными инновациями и прототипированием будущих продуктов.
Horizon 3 (Горизонт 3)
Тип проектов с горизонтом планирования более 5 лет, направленных на создание принципиально новых рынков или технологий.
Prompt Crafting
Процесс тонкой настройки текстовых запросов к ИИ-модели для получения наиболее точного и релевантного результата.
EPD Squad
Команда, состоящая из инженеров (Engineering), менеджеров по продукту (Product) и дизайнеров (Design), работающая над конкретной фичей.
📊 Цифры
🗓 Хронология
  1. 2019 Создание снимка публичного кода GitHub для проекта Arctic Code Vault.
  2. 2020 OpenAI начинает массовый сбор данных с GitHub, что приводит к партнерству и созданию модели Codex.
  3. 2021 Запуск технического превью GitHub Copilot.
  4. 2022 Продукт достигает стадии General Availability (общедоступности).
⚖️ Другая сторона
Искусственный интеллект GitHub Copilot Ryan J. Salva OpenAI Microsoft GitHub Next