Microsoft и GitHub представили совместный проект Copilot («второй пилот») на базе технологий организации OpenAI. Ассистент способен анализировать код и предлагать варианты завершения строк в зависимости от контекста.
Нейросеть помогает
GitHub Copilot поддерживает большое количество различных языков программирования и фреймворков. Нынешняя предварительная версия лучше всего работает с Python, JavaScript, TypeScript, Ruby и Go, однако авторы проекта обещают постепенно расширять этот список.
Совместная разработка Microsoft и GitHub базируется на технологии Codex, созданной исследовательской командой в области искусственного интеллекта компании OpenAI. Эта разработка отличается от модели GPT-3, предназначенной для работы с текстами. Codex «заточен» на генерацию кода и обладает обширными знаниями о специфике работы программистов, потому что обучен на терабайтах данных из общедоступных репозиториев.
ИИ-помощник доступен как плагин для редактора Microsoft Visual Studio Code. Его также поддерживает браузерное решение для написания кода в облаке GitHub Codespaces.
Ключевые возможности
Генеральный директор GitHub Нат Фридман сообщил, что разработанная система – это, в первую очередь, ассистент по написанию кода для программиста. Главная цель Copilot – помощь в быстром поиске альтернативных способов решения проблем. Например, приложение позволяет изучать новые API без утомительного поиска ответов в сети.
По словам Фридмана, ИИ-помощник изучает код проекта и предлагает новые функции и строки исходя из контекста задачи. Чем больше разработчик пользуется нейросетью, тем больше она адаптируется под стиль специалиста и начинает предлагать более полезные решения.
Сейчас Copilot поддерживает следующие возможности:
- Генерация уникального кода в зависимости от контекста.
- Преобразование комментариев в код. Достаточно описать словами желаемую логику, и нейросеть попытается реализовать ее.
- Автозаполнение повторяющихся участков. Если показать системе несколько шаблонов, то она научится автоматически вставлять их в проект.
- Генерация тестов для проверки корректности работы проекта.
Разработчики Copilot подчеркивают, что программист может полностью контролировать подсказки помощника: просматривать альтернативные варианты генерации или вносить изменения в автоматически созданные сегменты кода.