CopilotKit — открытый SDK для агентных приложений с Generative UI

· 2 мин чтения
react ai-agents ui sdk generative-ui
📂 Исходный код на GitHub

Открытый SDK для агентных приложений: чат, Generative UI, общее состояние и human-in-the-loop для React, Angular, Vue, React Native, Slack и Teams. Авторы развивают протокол AG-UI.

CopilotKit — открытый SDK для агентных приложений с Generative UI

CopilotKit — это открытый SDK для создания агентных приложений. Он встраивает AI-агентов в интерфейс: чат, Generative UI, общее состояние и подтверждения от человека. Проект написан на TypeScript, лицензия — MIT. Команда CopilotKit также развивает протокол AG-UI. Его уже приняли Google, LangChain, AWS, Microsoft, Mastra и PydanticAI.

Что такое CopilotKit

Проект начинался как React-библиотека для чат-ассистентов. Сегодня авторы называют его слоем между вашими агентами и пользователями. Один и тот же агент может работать в веб-приложении, в мобильном приложении и в рабочем чате команды — Slack или Microsoft Teams.

Задача SDK — соединить интерфейс, агентов и инструменты в один цикл. Агент может задать пользователю вопрос, вызвать инструмент, который отрисует компонент на экране, и вести состояние между шагами и сессиями. Логика агента при этом не меняется: для каждого фреймворка и канала отвечает своя часть CopilotKit.

Ключевые возможности

В README перечислены семь базовых функций:

  • Chat UI — настраиваемый чат с потоковыми сообщениями, вызовами инструментов и ответами агента.
  • Backend Tool Rendering — агент вызывает бэкенд-инструмент, а тот возвращает готовый UI-компонент для клиента.
  • Generative UI — агент сам генерирует и обновляет компоненты во время работы, исходя из запроса и своего состояния.
  • Shared State — синхронизированное состояние, которое в реальном времени читают и пишут и агент, и интерфейс.
  • Human-in-the-Loop — агент ставит выполнение на паузу и ждёт от человека ввода, подтверждения или правок.
  • Rich Threads — переписки переживают перезагрузку, смену устройства и новую сессию вместе с интерфейсом.
  • Automatic Learning — завершённые диалоги превращаются в проверенные скиллы. Пайплайн дообучения не нужен.

Как устроен AG-UI

Протокол AG-UI описывает, как агент общается с интерфейсом по сети. CopilotKit берёт на себя транспорт и UI-слой, поэтому бэкенд агента можно писать на любом фреймворке. Из коробки есть интеграции с LangChain, CrewAI, Mastra и PydanticAI.

Новое приложение на AG-UI создаётся одной командой:

npx create-ag-ui-app my-agent-app

Быстрый старт

Авторы предлагают три пути. Первый — доверить интеграцию кодинг-агенту. Скопируйте промпт из README и отдайте его своему агенту:

Help me get started with CopilotKit. From the root of my project, run this
command and follow the instructions:

npx --yes copilotkit@latest onboard start

Второй путь — установить агентские скиллы от CopilotKit. Они помогают кодинг-агенту строить фичи и искать баги в проекте, где CopilotKit уже подключён:

npx copilotkit@latest skills install

Третий путь — собрать новое приложение с нуля. Команда создаст проект в отдельной папке и ничего не тронет в текущем коде:

npx copilotkit@latest create

Хук useAgent

Для программного управления агентом есть хук useAgent. Он работает поверх AG-UI и даёт полный контроль над соединением. Вот пример из документации:

// Programmatically access and control your agents
const { agent } = useAgent({ agentId: "my_agent" });

// Render and update your agent's state
return <div>
  <h1>{agent.state.city}</h1>
  <button onClick={() => agent.setState({ city: "NYC" })}>
    Set City
  </button>
</div>

Здесь интерфейс читает состояние агента напрямую и может его менять. Агент увидит изменение и продолжит работу с новыми данными. Подробности — в документации useAgent.

Generative UI: три подхода

Generative UI — центральный паттерн CopilotKit: агент отрисовывает интерфейс как часть своей работы. Проект выделяет три типа:

  • Статический через протокол AG-UI. Компоненты известны заранее, агент лишь выбирает, какой показать.
  • Декларативный через A2UI. Агент описывает интерфейс декларацией, клиент её рендерит.
  • Открытый через MCP Apps и Open JSON. Агент волен строить любые компоненты во время выполнения.

Учебный репозиторий с примерами Generative UI лежит в основном репозитории проекта.

Поддерживаемые платформы

Один агентский бэкенд обслуживает все фронтенды:

Платформа Статус
React / Next.js GA
Angular Поддерживается
Vue Поддерживается
React Native Поддерживается
Slack / Microsoft Teams Поддерживается
Discord / WhatsApp / Telegram Адаптер Channels SDK
Google Chat / iMessage / SMS В планах

Логика агента остаётся прежней. AG-UI отвечает за протокол обмена, CopilotKit — за UI-слой конкретного фреймворка или канала.

Каналы: агент в каждом мессенджере

Channels SDK берёт готового агента и переносит его в чат-приложения. Инструменты, общее состояние и human-in-the-loop сохраняются без переписывания кода.

  • Slack — агент становится полноценным Slack-приложением: треды, вызовы инструментов и подтверждения прямо в канале.
  • Microsoft Teams — агентные сценарии там, где уже работает компания.

CopilotKit Intelligence

Под открытым SDK лежит коммерческая платформа CopilotKit Intelligence. Она добавляет продакшен-функции: долговременные треды с Generative UI, память о пользователе, продуктовую аналитику и автоматическое обучение агентов.

  • Rich Threads — диалоги с интерфейсом восстанавливаются после перезагрузки и на новом устройстве.
  • User Memories — устойчивые факты и предпочтения пользователя. Они переносятся между диалогами и ищутся по смыслу, а не по ключевым словам.
  • Automatic Learning — завершённые треды превращаются в подкреплённые примерами инсайты и проверенные скиллы, которые вы публикуете сами.
  • Product Analytics — видно, что делают агенты и где пользователь получает ценность.
  • Self-hosting — платформу можно развернуть в своём кластере Kubernetes или внутри корпоративного контура.

Платформа работает с существующим приложением на CopilotKit и любым агентским фреймворком. Доступен хостинг или развёртывание у себя.

Чем полезен проект

CopilotKit закрывает вопрос «как показать агента пользователю». Не нужно писать свой чат, продумывать поток подтверждений и синхронизацию состояния. Компоненты и хуки дают готовый каркас, а протокол AG-UI освобождает от привязки к одному фреймворку или каналу.

Проект пригодится, если вы строите агентное приложение на React или Vue, хотите выпустить агента в Slack и Teams или ищете стандарт обмена между бэкендом агента и интерфейсом. Исходный код открыт под лицензией MIT, вклад приветствуется — правила описаны в CONTRIBUTING.md. Быстрее всего начать с официального quickstart.

Источник: https://github.com/CopilotKit/CopilotKit