GitHub открыл агентную среду выполнения, которая лежит в основе GitHub Copilot CLI, и представил её в виде программируемого SDK. GitHub Copilot-SDK, представленный пока в техническом предварительном просмотре, позволяет встраивать агентный цикл выполнения в любое приложение, чтобы агент мог планировать, вызывать инструменты, редактировать файлы и выполнять команды в рамках ваших собственных рабочих процессов.
Что предоставляет GitHub Copilot SDK
GitHub Copilot-SDK — это мультиплатформенный SDK для интеграции агента GitHub Copilot в приложения и сервисы. Он предоставляет программный доступ к циклу выполнения, который уже используется в GitHub Copilot CLI. Вместо того чтобы создавать собственный планировщик и цикл инструментов для каждого проекта, вы подключаете свою логику к этой существующей среде выполнения и используете её как платформу для выполнения.
GitHub Copilot-SDK предоставляет ту же проверенную в производстве среду выполнения, которая используется Copilot CLI, с поддержкой многомодельной работы, многоэтапного планирования, инструментов, интеграции с протоколом Model Context Protocol (MCP), аутентификации и потоковой передачи. Это даёт вам то же поведение агента, которое Copilot использует в терминале, но вызываемое из вашего собственного кода.
Агентный цикл выполнения как примитив среды выполнения
Основная абстракция — это агентный цикл выполнения. Во Copilot CLI и в SDK взаимодействия не являются изолированными запросами. Агент поддерживает состояние между ходами, выбирает планы, вызывает инструменты, выполняет команды, считывает результаты и повторяет эти шаги до тех пор, пока не достигнет поставленной вами цели.
Команда GitHub описывает обычные проблемы, которые возникают при самостоятельной реализации этого цикла. Вам необходимо управлять контекстом в нескольких ходах, координировать внешние инструменты и команды, маршрутизировать вызовы между моделями, интегрировать серверы MCP и продумывать разрешения разработчика. Вы концентрируетесь на определении специфических для домена инструментов, описании задач и ограничении того, что может делать агент.
Поддерживаемые языки и основной API
Copilot-SDK доступен на 4 языках в этом техническом предварительном просмотре:
* Node.js и TypeScript через пакет `@github/copilot-cli-sdk`;
* Python через пакет `copilot`;
* Go через модуль `github.com/github/copilot-cli-sdk-go`;
* .NET через пакет `GitHub.Copilot.SDK`.
Все SDK предоставляют согласованную поверхность API. Согласно журналу изменений, каждая языковая привязка поддерживает многоходовые беседы с историей сеансов, выполнение пользовательских инструментов и программный контроль над жизненными циклами клиента и сеанса.
Инструменты, серверы MCP и интеграция с существующими системами
Основная особенность агента Copilot — выполнение инструментов. Через SDK вы можете зарегистрировать пользовательские инструменты, которые модель может вызывать во время разговора. Copilot-CLI уже предоставляет определения пользовательских инструментов и полную интеграцию с сервером MCP, а SDK использует эту возможность.
MCP предоставляет стандартный протокол для агентов для подключения к внешним системам, таким как внутренние API, хранилища документов или инструменты операций. При интеграции сервера MCP агент Copilot может обнаруживать и вызывать его операции структурированным образом с согласованными метаданными, а не путём специального проектирования запросов.
Аутентификация, подписки и потоковая передача
SDK интегрируется с аутентификацией GitHub и подписками Copilot. Вы можете использовать существующую подписку GitHub Copilot или ввести свой ключ при настройке SDK. Это важно, когда вы встраиваете агента в корпоративные среды, где идентификация и контроль доступа уже стандартизированы вокруг GitHub.
Потоковая передача является частью контракта. Copilot-CLI уже поддерживает потоковую передачу в реальном времени в терминале, а SDK предоставляет потоковую передачу, чтобы приложения могли получать ответы постепенно. Это позволяет создавать пользовательские интерфейсы, которые постепенно обновляются по мере того, как агент рассуждает и выполняет действия, не дожидаясь полного завершения.
Связь с GitHub Copilot-CLI
SDK — это не отдельная реализация агента. Это слой поверх существующего цикла выполнения Copilot CLI. Он позволяет повторно использовать планирование, использование инструментов и многоходовое выполнение поведения CLI в любой среде.
Copilot-CLI продолжает развиваться. Недавние обновления добавляют постоянную память, бесконечные сессии и сжатие контекста, поддержку рабочих процессов explore and plan с выбором модели на каждом шаге, пользовательских агентов и навыков агентов, полную поддержку MCP и асинхронную делегирование задач. SDK выигрывает от этой работы, поскольку предоставляет такое же поведение через языковые библиотеки.
Ключевые выводы
* GitHub Copilot-SDK предоставляет тот же агентный цикл выполнения, который используется в GitHub Copilot CLI, чтобы приложения могли вызывать проверенного в производстве планировщика, который запускает многоэтапные рабочие процессы с инструментами и командами.
* SDK доступен для Node.js, Python, Go и .NET, и каждая языковая привязка предоставляет аналогичную абстракцию вокруг клиентов и сеансов, которые управляют многоходовыми беседами и использованием инструментов.
* Разработчики определяют специфические для домена инструменты и серверы Model Context Protocol, затем регистрируют их через SDK, и агент Copilot решает, когда и как их вызывать в рамках плана.
* Среда выполнения интегрируется с аутентификацией GitHub и подписками Copilot, поддерживает несколько моделей ИИ, таких как серверы на базе GPT, и предоставляет потоковую передачу в реальном времени, чтобы приложения могли постепенно отображать частичные ответы.
1. Какие возможности предоставляет GitHub Copilot-SDK для разработчиков?
GitHub Copilot-SDK позволяет разработчикам встраивать агентный цикл выполнения в любые приложения. Это даёт возможность планировать, вызывать инструменты, редактировать файлы и выполнять команды в рамках рабочих процессов. SDK предоставляет программный доступ к циклу выполнения, который уже используется в GitHub Copilot CLI.
2. Какие языки программирования поддерживаются GitHub Copilot-SDK в текущем техническом предварительном просмотре?
GitHub Copilot-SDK доступен на четырёх языках: Node.js и TypeScript через пакет `@github/copilot-cli-sdk`, Python через пакет `copilot`, Go через модуль `github.com/github/copilot-cli-sdk-go` и .NET через пакет `GitHub.Copilot.SDK`.
3. Какие основные особенности агента Copilot можно использовать через SDK?
Через SDK можно зарегистрировать пользовательские инструменты, которые модель может вызывать во время разговора. Также SDK использует интеграцию с сервером MCP, который предоставляет стандартный протокол для агентов для подключения к внешним системам, таким как внутренние API, хранилища документов или инструменты операций. Кроме того, SDK интегрируется с аутентификацией GitHub и подписками Copilot, поддерживает потоковую передачу в реальном времени и позволяет управлять многоходовыми беседами и использованием инструментов.
4. Как GitHub Copilot-SDK связан с GitHub Copilot CLI?
SDK — это не отдельная реализация агента, а слой поверх существующего цикла выполнения Copilot CLI. Он позволяет повторно использовать планирование, использование инструментов и многоходовое выполнение поведения CLI в любой среде.
5. Какие ключевые выводы можно сделать о GitHub Copilot-SDK?
* GitHub Copilot-SDK предоставляет тот же агентный цикл выполнения, который используется в GitHub Copilot CLI, чтобы приложения могли вызывать проверенного в производстве планировщика, который запускает многоэтапные рабочие процессы с инструментами и командами.
* SDK доступен для Node.js, Python, Go и .NET, и каждая языковая привязка предоставляет аналогичную абстракцию вокруг клиентов и сеансов, которые управляют многоходовыми беседами и использованием инструментов.
* Разработчики определяют специфические для домена инструменты и серверы Model Context Protocol, затем регистрируют их через SDK, и агент Copilot решает, когда и как их вызывать в рамках плана.
* Среда выполнения интегрируется с аутентификацией GitHub и подписками Copilot, поддерживает несколько моделей ИИ, таких как серверы на базе GPT, и предоставляет потоковую передачу в реальном времени, чтобы приложения могли постепенно отображать частичные ответы.