Представляем Chat SDK

VVercel
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00(ритмичная музыка)
00:00:02— Всем привет, меня зовут Мальте, я технический директор Vercel.
00:00:16Спасибо, что присоединились к нам сегодня.
00:00:18В начале января мы дали всем сотрудникам нашей компании поручение:
00:00:21придумайте, как многократно увеличить свою производительность.
00:00:24И то, что в итоге создали люди, продолжает нас поражать.
00:00:27Почти каждая команда создала агента для решения сложных задач,
00:00:30и большинство из них — это Slack-боты, доступные каждому.
00:00:34Но мы столкнулись с проблемой.
00:00:35Все выполняли одну и ту же рутинную работу
00:00:38снова и снова.
00:00:40Кто-то создавал агента,
00:00:41затем нужно было разбираться в сложностях Slack,
00:00:43а это труднее, чем кажется.
00:00:45Нужно понимать треды и реакции,
00:00:47как бот сопоставляет сообщения, как управлять состоянием.
00:00:50Затем кто-нибудь спрашивал:
00:00:51«Слушай, а можешь подключить этого агента к GitHub?»
00:00:53И весь процесс начинался заново
00:00:55уже с API GitHub.
00:00:56Логика та же, но код платформы другой.
00:00:59Мы быстро поняли, что API чатов
00:01:01кажутся похожими на поверхности,
00:01:03но совершенно разные внутри.
00:01:05Slack поддерживает нативную потоковую передачу.
00:01:06Вы можете транслировать токены прямо в сообщение
00:01:09по мере их генерации LLM.
00:01:10В Discord приходится делать: пост, правка, пост, правка.
00:01:14В GitHub потоковой передачи вообще нет.
00:01:16В Slack есть модальные окна, в Discord — нет.
00:01:18Microsoft Teams дает реакции только для чтения.
00:01:21Это не просто причуды, это фундаментальные различия
00:01:23в работе каждой платформы.
00:01:26Так что даже для одного простого агента
00:01:28вам приходится писать огромное количество логики,
00:01:31просто чтобы он работал в разных инструментах.
00:01:33Это сущий кошмар.
00:01:34И это проблема не только Vercel.
00:01:36Каждой компании придется придумать,
00:01:38как внедрить своих агентов туда,
00:01:40где уже происходит основная работа.
00:01:42Это чаты, код-ревью, трекеры задач и многое другое.
00:01:45AI SDK решает похожую задачу для поставщиков моделей.
00:01:48Вы пишете код один раз, и он берет на себя
00:01:50все различия в API,
00:01:51вызываете ли вы GPT, Claude или Gemini.
00:01:54Chat SDK делает то же самое для интерактивных агентов.
00:01:58Это единый API для взаимодействия агентов на разных платформах,
00:02:01таких как Slack, GitHub, Linear, Discord, Telegram,
00:02:04WhatsApp и других.
00:02:06Вы создаете агента, а Chat SDK доставляет его пользователям
00:02:09в те приложения, которыми они уже пользуются.
00:02:11Фернандо последние несколько недель
00:02:15создавал фоновых агентов v0,
00:02:16и он расскажет вам, почему Chat SDK
00:02:18стал критически важной частью этого стека.
00:02:21(ритмичная музыка)
00:02:24(ритмичная музыка продолжается)
00:02:28Когда я начал создавать фоновых агентов v0,
00:02:34моей целью было дать возможность тегать v0 в Slack,
00:02:36чтобы открывать пул-реквесты.
00:02:38Мне нужен был универсальный агент для кодинга,
00:02:40который может работать в фоновом режиме,
00:02:42в любой кодовой базе и на любом языке.
00:02:45Я приступил к разработке
00:02:47и отправил первую версию Slack-приложения v0
00:02:49своим друзьям.
00:02:51И первое, что они спросили:
00:02:53«А можно использовать это в задачах Linear?»
00:02:56И: «Можно ли тегнуть его в комментарии к PR на GitHub?»
00:02:58Это напомнило мне мой первый выпуск мобильного приложения,
00:03:02когда люди начали спрашивать, можно ли использовать его в вебе.
00:03:05Стало ясно, что v0 должен работать везде.
00:03:09Ожидания изменились.
00:03:11Так что мне пришлось выбирать.
00:03:14Будем ли мы создавать агентов v0 отдельно для каждой платформы?
00:03:18Или мы можем написать один раз с единым API
00:03:22для всех платформ сразу?
00:03:24Своего рода React Native для чат-агентов?
00:03:27Что ж, оказалось, что я потратил годы
00:03:30на создание кроссплатформенных приложений на React Native.
00:03:34Эта проблема мне хорошо знакома.
00:03:36И вот тут на помощь пришел Chat SDK.
00:03:39С Chat SDK
00:03:40я могу сосредоточиться на создании фоновых агентов v0
00:03:43и тратить меньше времени
00:03:45на изучение уникальных API каждой платформы.
00:03:48Так как же это устроено внутри?
00:03:50Мэтт покажет вам подробности.
00:03:53(ритмичная музыка)
00:03:55— Всем привет.
00:04:11Как и Фернандо, начнем со Slack.
00:04:14Я упоминаю своего бота,
00:04:16и получаю очень простой ответ «Hello World».
00:04:21Знаю, это меняет правила игры.
00:04:23И если вы посмотрите на код,
00:04:24то увидите, как легко мне было создать этого бота.
00:04:28Все, что мне нужно было сделать — это создать новый экземпляр чата,
00:04:32добавить слушатель упоминаний («on mention»)
00:04:35и отправить «Hello World» обратно в тред.
00:04:38Вот и все.
00:04:39Но мы не хотим, чтобы разработчики делали просто текстовых ботов.
00:04:43Нам нужны богатые нативные возможности,
00:04:45использующие все преимущества каждой платформы.
00:04:48А разработчики обожают JSX.
00:04:51Поэтому мы добавили поддержку JSX в Chat SDK.
00:04:55Теперь вы строите интерфейс из компонентов, как вы привыкли.
00:04:58Давайте добавим две кнопки.
00:04:59Смотрите, вот здесь,
00:05:03я собираюсь заменить наше сообщение «Hello World»
00:05:05на карточку с кнопкой «Продолжить»
00:05:10и кнопкой «Отмена».
00:05:11Мы также добавим слушатель действий,
00:05:14который будет выводить полное имя пользователя
00:05:17и текст «нажал продолжить» при клике.
00:05:19Возвращаемся в Slack, я снова тегаю своего бота.
00:05:24И, как и ожидалось, мы получаем именно то, что создали.
00:05:29Компоненты рендерятся нативно.
00:05:32Я жму «Продолжить», и бот мгновенно обрабатывает действие.
00:05:36А вот теперь начинается самое интересное.
00:05:41Что если я хочу точно такой же функционал в Discord?
00:05:45Я просто добавляю адаптер Discord.
00:05:47И всё.
00:05:48Теперь, если я вернусь в свой канал Discord,
00:05:55упомяну бота —
00:05:57тот же самый интерфейс нативно отобразится в Discord.
00:06:02Ноль правок в коде для поддержки целой новой платформы.
00:06:07Это круто.
00:06:08Но давайте поговорим об агентах.
00:06:10Вот простой агент, которого я собрал с помощью AI SDK.
00:06:14Агентам нужна потоковая передача.
00:06:17С Chat SDK реализовать стриминг тривиально.
00:06:20Я создаю поток и отправляю его в тред.
00:06:23Вот и все.
00:06:24Мне не пришлось выяснять, как Slack работает с потоками
00:06:27или как Discord обрабатывает частичные обновления.
00:06:30Я использовал один API.
00:06:32И в Slack, если я упомяну бота,
00:06:35мы увидим, как он нативно транслирует ответ.
00:06:40Но зачем на этом останавливаться?
00:06:42Что если я хочу писать агенту напрямую
00:06:45в WhatsApp или Telegram?
00:06:49С Chat SDK это легко.
00:06:52Я добавляю слушатель прямых сообщений и нужный адаптер.
00:06:56Теперь любой, кто напишет агенту в ЛС, получит тот же опыт.
00:07:02Если я открою WhatsApp Web и напишу:
00:07:06«Привет, как дела?» —
00:07:08мы увидим, что агент отвечает на наше прямое сообщение,
00:07:12используя ту же логику, что мы прописали.
00:07:14Раз уж мы создали агента,
00:07:16почему бы не открыть пул-реквест?
00:07:18Но перед этим,
00:07:20что если тот же агент, с которым я общался в WhatsApp,
00:07:24сможет проверить мой код?
00:07:25Все, что нужно — это адаптер GitHub.
00:07:28Я захожу сюда, добавляю адаптер GitHub,
00:07:32и мой агент уже на новой платформе.
00:07:35Если я открою GitHub и посмотрю на этот пул-реквест,
00:07:39я смогу упомянуть агента в комментариях,
00:07:42и он ответит через тот же слушатель сообщений,
00:07:45который мы создали ранее.
00:07:46Slack, Discord, WhatsApp, Telegram, GitHub.
00:07:51Только представьте, насколько разные у них API.
00:07:56Но с одним файлом и парой строк кода
00:07:59мы внедрили нашего агента во все эти сервисы.
00:08:01С Chat SDK вы один раз создаете агентский функционал
00:08:06и развертываете его везде через единый API.
00:08:09Заходите на chat-sdk.dev, чтобы изучить документацию и шаблоны.
00:08:14Спасибо за внимание.
00:08:15Жду не дождусь увидеть ваши проекты.
00:08:17(ритмичная музыка)

Key Takeaway

Chat SDK от Vercel унифицирует разработку интерактивных ИИ-агентов, позволяя развертывать их на множестве платформ через единый API с поддержкой JSX и потоковой передачи данных.

Highlights

Vercel представляет Chat SDK — единый интерфейс для разработки ИИ-агентов на различных платформах.

Проблема фрагментации API: Slack, Discord, GitHub и WhatsApp имеют фундаментальные различия в поддержке потоковой передачи и UI-элементов.

Chat SDK позволяет разработчикам писать код один раз и развертывать агентов везде, используя знакомый синтаксис JSX.

Поддержка нативных возможностей каждой платформы, включая кнопки, модальные окна и потоковую передачу токенов (streaming).

Интеграция с AI SDK для быстрого создания умных помощников, способных работать в мессенджерах и инструментах разработки.

Демонстрация кроссплатформенности: один и тот же агент работает в Slack, Discord, WhatsApp и GitHub без изменения бизнес-логики.

Timeline

Введение и проблема фрагментации мессенджеров

Технический директор Vercel Мальте рассказывает о внутреннем эксперименте компании по созданию ИИ-агентов для повышения продуктивности. Он отмечает, что разработчики столкнулись с серьезной проблемой при попытке перенести ботов из Slack в другие инструменты вроде GitHub или Discord. Каждая платформа имеет уникальные особенности: Slack поддерживает нативный стриминг и модальные окна, в то время как GitHub и Teams сильно ограничены в этих функциях. Это создает ситуацию, когда для одного агента приходится писать огромное количество дублирующего кода под разные API. Решением становится Chat SDK, который абстрагирует эти различия, подобно тому как AI SDK делает это для языковых моделей.

Практический кейс: агенты v0 для кодинга

Инженер Фернандо делится своим опытом разработки фоновых агентов v0, предназначенных для автоматизации пул-реквестов. Изначально проект создавался только для Slack, но пользователи сразу начали запрашивать интеграцию с Linear и комментариями на GitHub. Фернандо сравнивает эту ситуацию с эпохой становления мобильной разработки, когда возникла необходимость в кроссплатформенных решениях типа React Native. Использование Chat SDK позволило ему сосредоточиться на логике самого агента, а не на изучении документации API каждой отдельной платформы. Это значительно ускорило доставку функционала пользователям там, где они привыкли работать. Такой подход меняет ожидания от современных ИИ-инструментов, делая их вездесущими.

Техническая демонстрация и использование JSX

Разработчик Мэтт демонстрирует процесс создания простого бота «Hello World» с использованием нового SDK. Он показывает, насколько минималистичен код: создание экземпляра чата и добавление слушателя упоминаний занимает всего несколько строк. Ключевой особенностью является поддержка JSX, что позволяет разработчикам проектировать интерфейсы ботов с помощью привычных компонентов. В примере добавляются нативные кнопки «Продолжить» и «Отмена» прямо в сообщение Slack. При переключении на адаптер Discord тот же самый код рендерит аналогичный интерфейс без единой правки в логике. Это доказывает мощь абстракции, которую предоставляет Chat SDK для создания богатого пользовательского опыта.

Стриминг, мессенджеры и интеграция с GitHub

В заключительной части Мэтт показывает реализацию потоковой передачи ответов от ИИ-модели, что критически важно для современных агентов. Он демонстрирует, как легко добавить поддержку WhatsApp и Telegram, используя слушатели прямых сообщений и соответствующие адаптеры. Особое внимание уделяется интеграции с GitHub, где агент может отвечать на вопросы прямо в комментариях к коду. Зрители видят, как один и тот же агент бесшовно работает в пяти различных сервисах с разной архитектурой API. В завершение Мальте призывает разработчиков посетить сайт chat-sdk.dev для ознакомления с документацией и шаблонами. Данная технология обещает стать стандартом для разработки мультиплатформенных интеллектуальных систем.

Community Posts

View all posts