Как объединить действия агента и интерфейс приложения в одном коде
Где взять
BuilderIO/agent-native — открыть на GitHub
Открытая лицензия: MIT · 7678 stars.
Почему мы до сих пор заставляем агентов «кликать» по кнопкам в интерфейсе, если можно дать им прямой доступ к логике приложения?
Agent-Native — это TypeScript-фреймворк с открытым исходным кодом, который позволяет создавать агентов, работающих в связке с полноценным пользовательским интерфейсом. Он решает задачу создания прозрачных и управляемых систем, где действия агента и действия пользователя в приложении используют один и тот же программный слой.
Что можно собрать
Часто агенты ограничены текстовым чатом, что затрудняет контроль над их работой. Agent-Native меняет этот подход: вы определяете каждое действие (capability) один раз, и оно становится доступным как инструмент для агента (LLM) и как функция для вашего React-интерфейса.
Например, если вам нужно создать функцию приветствия, вы описываете её в файле actions/hello.ts с помощью defineAction. После этого агент может вызвать её как инструмент, а ваш интерфейс — через useActionQuery. Это избавляет от необходимости дублировать логику или пытаться «обучить» агента нажимать на кнопки в браузере.
Как это работает
Главная механика фреймворка — «общий слой действий» (shared action layer). Агент не имитирует поведение человека, кликая по элементам UI. Вместо этого он обращается к тем же функциям, которые использует само приложение. Это дает три преимущества:
- Единая логика: Валидация данных, права доступа и реализация функции прописаны в одном месте.
- Общие данные: Результаты работы агента сразу отображаются в интерфейсе, а действия пользователя в приложении становятся доступны агенту.
- Контекст: Агент получает информацию о состоянии приложения, например, о том, какая страница сейчас открыта или какая запись выбрана.
Как начать
Для старта проекта с использованием Agent-Native достаточно выполнить команду в терминале:
npx --yes @agent-native/core@latest create my-agent --standalone --template chat
Это создаст базовую структуру приложения. Фреймворк включает в себя поддержку чата, систему аутентификации, управление навыками агента и работу с базой данных PostgreSQL (включая PGlite для локальной разработки). Подробное руководство по настройке доступно в официальной документации проекта.
Кому это подходит
Этот инструмент будет полезен разработчикам, которые создают сложные агентные системы и хотят сделать их работу предсказуемой. Если вы строите приложение, где пользователю важно видеть, что именно делает агент, проверять его результаты и при необходимости корректировать их, Agent-Native дает для этого готовую архитектуру.
Границы применимости
На данный момент Agent-Native — это инструмент для TypeScript-разработки. Фреймворк предполагает, что вы готовы перенести логику действий в его структуру. В документации не уточняются специфические ограничения по интеграции с внешними проприетарными системами, не входящими в экосистему фреймворка, поэтому стоит ориентироваться на возможности, описанные в руководстве по началу работы.
Стоит попробовать, если… вы хотите уйти от «черного ящика» в агентных системах и сделать действия агента прозрачными для пользователя через понятный интерфейс.
Лучше выбрать другой путь, если… вам нужно быстрое решение «из коробки» без написания кода на TypeScript или если ваша архитектура уже жестко привязана к другим инструментам, не поддерживающим общую логику действий.
Обсуждение
Комментарии
Напишите, что думаете: согласны, спорите, увидели ошибку или хотите добавить пример. Комментарии появляются сразу; спам и мусор мы удаляем вручную.
Пока комментариев нет. Можно быть первым.