Copilot Workspace: что это такое, как это работает и почему это важно
В недавнем выступлении на Unstructured Data Meetup мы услышали Идана Газита, старшего директора по исследованиям, и Коула Бемиса, старшего инженера-исследователя в GitHub Next. Они представили свой Copilot Workspace, новую ориентированную на задачи среду разработки, построенную на GitHub Copilot.
Эта среда разработки улучшает то, как мы используем генеративные AI-модели, поскольку теперь мы можем выйти за рамки простых подсказок кода и перейти к полной реализации функций. В следующих разделах давайте рассмотрим этот Copilot Workspace и то, как он может помочь нам создавать и поддерживать AI-приложения.
Посмотреть запись выступления на YouTube.
Что такое GitHub Copilot Workspace?
GitHub Copilot Workspace — это инструмент, предназначенный для интеграции генеративного AI непосредственно в среду программирования. Он позволяет нам проводить мозговые штурмы, планировать, создавать, тестировать и запускать код с помощью диалогов и подсказок на естественном языке. Он создан, чтобы помогать нам выполнять такие задачи, как исправление ошибок, реализация функций и т. д.
GitHub Copilot workspace работает на базе генеративной модели, что может создавать некоторые трудности при взаимодействии с ним, как и при работе с генеративными моделями. Одна из распространённых трудностей — добиться от модели ответа, в данном случае предложения, не позволяя ей полностью уйти в неверном направлении.
Команда GitHub Next решила эту проблему, реализовав точки управления между заданной задачей и предложенным кодом. Они позволяют разработчикам направлять модель, сообщая ей, когда она неправильно понимает наши запросы или упускает некоторые пограничные случаи. Давайте посмотрим на поток, которому следует Copilot Workspace.
От задачи к спецификации, плану и коду
Copilot Workspace начинается с создания задачи и переходит к спецификации, планированию и написанию кода.
Рис. 1 — Рабочий процесс от задачи к спецификации, плану и коду
Вот разбивка каждого шага:
Создание задачи: Рабочий процесс начинается с задачи, которой может быть GitHub issue, pull request или общий запрос на функцию либо идея. Это исходная подсказка или ваша цель.
Спецификация: Copilot Workspace генерирует высокоуровневую спецификацию или описание того, что необходимо достичь на основе задачи. Он использует своё понимание кодовой базы, комментариев к issue и других контекстов, чтобы предложить спецификацию.
Планирование: Затем Copilot Workspace преобразует спецификацию в подробный план. Этот план описывает пошаговый процесс, необходимый для реализации решения, включая любые необходимые изменения кода, тесты и другие действия. Затем план представляется вам для проверки.
Написание кода: Как только вы удовлетворены планом, Copilot Workspace генерирует фактический код для реализации решения. Он использует план как руководство, применяя своё понимание кодовой базы и языков программирования для написания необходимого кода.
Без этих точек управления это похоже на то, как закрыть глаза и надеяться попасть в цель. Каждый шаг в рабочем процессе доступен для редактирования и позволяет вам собирать или улучшать содержимое.
Практическая демонстрация того, как работает Copilot Workspace
Давайте рассмотрим практический пример, чтобы лучше понять рабочий процесс Copilot Workspace. Поскольку Copilot находится на стадии технического обзора и доступен не всем, мы будем использовать скриншоты, представленные при его официальном выпуске.
Начнём с GitHub issue. Это задача, над которой мы хотим работать вместе с Copilot Workspace. В данном случае мы хотим добавить AI Player в нашу игру, чтобы она не всегда требовала двух человек. AI-игрок должен успешно блокировать игрока-человека в 95% случаев, делая игру сложной, но при этом пригодной для игры. После того как вы нажмёте Open in Workspace, рабочий процесс будет запущен.
Рис. 2 — Проблема с опцией AI player в GitHub
После запуска Copilot Workspace принимает issue как задачу и генерирует спецификации или план. Он анализирует текущую кодовую базу и проверяет, что AI player отсутствует. Затем он предлагает изменения, которые позволят в будущем состоянии игры иметь AI player. Вы можете нажать на предложение и отредактировать его, чтобы оно соответствовало вашим ожиданиям.
Рис. 3 — Шаг спецификации рабочего процесса Copilot Workspace
Когда вы удовлетворены планом, Copilot Workspace генерирует план его реализации. План состоит в изменении файлов index.jsx и style.css, чтобы включить новую функцию AI player. Copilot Workspace перечисляет все изменения, которые он внесет в каждый файл для реализации спецификаций. На этом этапе вы можете отредактировать план или добавить пункт.
Рис. 4 — Шаг планирования рабочего процесса Copilot Workspace
После того как вы просмотрели план и остались довольны, следующим шагом является реализация запланированного решения. Это включает запись предложенного кода в предложенные файлы. Рабочая область Copilot отображает измененные файлы. Вы можете редактировать и изменять код прямо в отображении.
Рис. 5 — Шаг реализации рабочего процесса Copilot Workspace
Когда вы довольны кодом, вы можете открыть live preview, чтобы увидеть, как выглядит игра. В среде Copilot Workspace встроенный терминал позволяет вам проверять и тестировать код без переключения на отдельный терминал или среду. Если вы удовлетворены новой функцией, в данном случае AI player, следующий шаг — открыть pull request.
Рис. 6 — Шаг создания pull request в рабочем процессе Copilot Workspace
Этот шаг позволяет вам или вашей команде еще раз просмотреть внесенные изменения перед слиянием кода. Такой подход показывает нам, что Copilot Workspace не заменяет разработчиков, а помогает дополнять их, поскольку проверка необходима на протяжении всего процесса.
Оптимизация создания RAG с помощью GitHub Copilot Workplace и Milvus
GitHub Copilot Workspace повышает продуктивность, позволяя использовать рабочий процесс разработки от задачи к коду с помощью генеративного ИИ. Этот Copilot Workspace делает создание сложных приложений намного проще и эффективнее.
Отличный пример — Retrieval-Augmented Generation (RAG). Это продвинутая техника, разработанная для решения проблемы галлюцинаций больших языковых моделей (LLM) путем предоставления этим моделям внешних знаний. RAG состоит из двух ключевых компонентов: Retriever, построенного с использованием векторных баз данных, таких как Milvus или Zilliz Cloud (управляемый Milvus), и моделей эмбеддингов, а также LLM.
Создание RAG-приложений сложно. Однако с Copilot Workspace такие задачи становятся гораздо более упорядоченными.
Давайте рассмотрим задачу RAG — сделать одноязычное приложение многоязычным — и посмотрим, как эта рабочая область может помочь.
У вас есть RAG-код в приложении, которое в настоящее время является одноязычным и работает на векторной базе данных Milvus. Вы хотите, чтобы приложение поддерживало несколько языков, используя поддерживающую многоязычность модель эмбеддингов Milvus, такую как BGE-M3. Вы можете поручить Copilot Workspace реализовать эту функцию.
Реализация с Copilot Workspace
Вот как вы можете использовать Copilot Workspace для реализации этой функции:
Создание задачи: Вы начинаете с создания issue в GitHub, чтобы сделать приложение многоязычным. Задача заключается в интеграции многоязычной модели (BGE-M3) в существующую систему RAG.
Спецификация: Copilot Workspace анализирует задачу и генерирует высокоуровневую спецификацию. Он определяет необходимость обновления конвейера обработки данных для работы с несколькими языками и модификации системы RAG для использования BGE-M3 для многоязычной поддержки.
Планирование: Затем Workspace генерирует подробный план. Он включает такие шаги, как:
Обновление процесса загрузки данных для включения многоязычных данных.
Модификация существующей настройки Milvus для поддержки BGE-M3.
Настройка системы RAG для использования многоязычных возможностей BGE-M3.
Тестирование системы, чтобы убедиться, что она работает на нескольких языках.
- Написание кода: На основе утвержденного плана Copilot Workspace генерирует необходимый код:
Он обновляет скрипты загрузки данных для предварительной обработки и индексирования многоязычных данных в Milvus.
Он настраивает код Milvus для использования эмбеддингов BGE-M3 для поиска по сходству на нескольких языках.
Он модифицирует систему RAG для выполнения запросов к Milvus с использованием многоязычной модели и получения релевантных результатов.
Проверка и тестирование: Вы проверяете сгенерированный код, вносите необходимые корректировки и тестируете изменения.
Pull Request и слияние: Когда вы удовлетворены результатом, вы открываете pull request, чтобы обсудить изменения с вашей командой. После финальной проверки изменения сливаются, делая приложение многоязычным.
Заключение
Презентация Идана Газита и Коула Бемиса раскрыла потенциал GitHub Copilot Workspace. Эта среда разработки представляет собой значительный шаг к упрощению сложной разработки ПО, такой как RAG, повышая продуктивность за счет возможности рабочего процесса разработки от задачи к коду с использованием генеративного ИИ.
Дополнительные ресурсы
Читать далее

Vector Lakebase: End the AI Data Silo
Learn how Vector Lakebase unifies vector search, data lakes, and AI data operations so teams can serve RAG and agents without copy-and-sync pipelines.

Democratizing AI: Making Vector Search Powerful and Affordable
Zilliz democratizes AI vector search with Milvus 2.6 and Zilliz Cloud for powerful, affordable scalability, cutting costs in infrastructure, operations, and development.

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
Explore DeepSeek-VL2, the open-source MoE vision-language model. Discover its architecture, efficient training pipeline, and top-tier performance.


