# ИИ-кодинг: революция в разработке или кража open-source кода?

Источник: https://www.youtube.com/watch?v=_9aN1-0T8hg
Канал: Yannic Kilcher
Опубликовано: 10.08.2022

---

## ИИ-ассистенты для программирования: от Copilot до Pangu-Coder
[[JUMP:00:00]]

Индустрия разработки программного обеспечения переживает трансформацию: крупные технологические компании активно внедряют инструменты ИИ для автоматической генерации кода. Янник Кильчер (Yannic Kilcher) в своем обзоре анализирует текущее состояние этой сферы, охватывая как коммерческие продукты вроде GitHub Copilot и Amazon CodeWhisperer, так и научные разработки, такие как Pangu-Coder.

### 🤖 Эпоха ИИ-кодинга: Copilot и его конкуренты
[[JUMP:00:26]]

GitHub Copilot, базирующийся на модели OpenAI Codex, стал общедоступным. По мнению Кильчера, продукт является «настоящим прорывом», особенно для написания шаблонного кода, тестов и документации.

Основные характеристики и бизнес-модель:

*   **Стоимость:** $10 в месяц или $100 в год для профессиональных разработчиков.
*   **Бесплатный доступ:** для верифицированных студентов и авторов open-source проектов.
*   **Эффективность:** инструмент значительно повышает продуктивность, автоматизируя написание рутинных фрагментов кода.

Amazon также вошел в этот сегмент со своим продуктом CodeWhisperer. Как отмечает ведущий, помимо стандартной генерации, Amazon делает акцент на функциях безопасности кода и оптимизированном взаимодействии с API AWS. На текущий момент продукт находится в закрытом доступе (список ожидания).

### ⚖️ Проблема лицензирования и этики
[[JUMP:1:44]]

Рост популярности Copilot вызвал серьезные споры в сообществе. Главная претензия заключается в том, что модели обучались на публичных репозиториях GitHub, включая те, что распространяются под лицензиями copyleft (например, GPL).

*   **Позиция критиков:** Software Freedom Conservancy (некоммерческая организация) призывает разработчиков покинуть GitHub, аргументируя это тем, что компания использует труд добровольцев для создания собственного проприетарного продукта. Они даже предлагают добавлять в README проектов протестные заявления о запрете использования кода в Copilot.
*   **Правовой нюанс:** Кильчер рассуждает, что обучение ИИ на открытом коде сродни человеческому обучению, где программист изучает чужой алгоритм и реализует его по-своему, что не является нарушением авторского права. По его мнению, реальное решение лежит в юридической плоскости — создании новых типов лицензий, явно запрещающих машинное обучение на данных, хотя это остается «юридической серой зоной».

### 📈 Внутренние исследования Google
[[JUMP:06:42]]

Google поделилась результатами использования собственной ML-системы для автодополнения кода. Компания интегрировала модель с 0,5 млрд параметров в свои рабочие процессы, фокусируясь на минимизации задержек (latency).

Ключевые показатели эффективности (по данным Google):

*   **Принятие кода:** около 25% предложенных ИИ рекомендаций принимаются разработчиками.
*   **Производительность:** зафиксировано сокращение времени итерации кодинга на 6% и уменьшение количества переключений контекста на 7%.
*   **Объем:** почти 3% всего нового кода в базе Google было принято после рекомендаций ML-системы.

### 🎓 Самообучение моделей программированию
[[JUMP:09:07]]

Исследовательская статья «Language models can teach themselves to program better» представляет новый подход: вместо простого автодополнения модель учится решать программистские головоломки.

Суть метода:

1.  **Генерация:** модель создает новые задачи на основе имеющихся примеров.
2.  **Решение и проверка:** те же или другие модели решают эти задачи, результат проверяется автоматически.
3.  **Дообучение:** на наборе синтетических, но верифицированных данных модель проходит цикл дообучения.

Результаты впечатляют: использование этого цикла позволило повысить точность решения задач с 7,5% до 38,2% для моделей типа GPT-Neo.

### 🇨🇳 Pangu-Coder: новый взгляд на синтез программ
[[JUMP:15:19]]

Huawei представила систему Pangu-Coder, основанную на архитектуре Pangu Alpha. Исследователи сфокусировались на:

*   Использовании docstrings функций как промежуточного этапа обучения.
*   Важности качества данных: в частности, верификации абстрактного синтаксического дерева (AST).

Несмотря на меньший размер по сравнению с конкурентами, модель демонстрирует высокую производительность в решении задач HumanEval.