Добавить объявление

Анонсирован Genkit для Dart: фреймворк для ИИ-приложений

Google анонсировала Genkit Dart - open-source фреймворк для создания полноценных ИИ-приложений на Dart и Flutter. Это не просто очередная обертка над API, а инструмент, который позволяет строить сложные ИИ-сценарии с типизацией, тестированием и удобным UI для отладки. Пока в предварительной версии, но уже выглядит многообещающе.

Что такое Genkit Dart и зачем он нужен:


Сейчас ИИ-функции проникают повсюду: кто-то строит вокруг них новые продукты, кто-то добавляет умные фичи в существующие. Genkit Dart закрывает сразу несколько потребностей:

  • Единый API для работы с разными моделями (Google Gemini, OpenAI, Anthropic и другие совместимые).

  • Строгая типизация ответов - никаких неожиданных форматов.

  • Возможность писать логику один раз и запускать ее где угодно: на сервере, в облаке или прямо внутри Flutter-приложения.

  • Удобный локальный UI для тестирования и отладки промптов.

Как это работает:


Фреймворк предлагает несколько сценариев использования, в зависимости от того, где должна выполняться ИИ-логика и как вы хотите управлять ключами.


Все внутри Flutter (для прототипов):

Самый простой способ - писать всю логику прямо в приложении. Подходит для прототипов или случаев, когда пользователь сам вводит свой API-ключ. Но здесь есть важное предупреждение: публиковать в сторе приложение с зашитым ключом - плохая идея, его легко вытащат.


Бэкенд + Flutter с общей типизацией:

Когда логика сложная или ключи нужно прятать, весь ИИ-код уезжает на сервер. Flutter-приложение вызывает его как удаленный метод. Благодаря тому, что и фронт, и бэк на Dart, можно переиспользовать общие схемы данных и сохранить строгую типизацию от конца до конца.


Прокси-сервер для моделей:

Компромиссный вариант: на сервере поднимается тонкая прослойка, которая проксирует запросы к ИИ-моделям, добавляя авторизацию и валидацию. Ключи API хранятся на сервере, а Flutter-приложение общается с ним как с обычным Genkit-клиентом.

Что внутри:


Genkit предоставляет не только клиент для вызовов, но и целый набор инструментов для построения надёжных ИИ-приложений:

  • Поддержка мультишаговых потоков (flows): можно строить сложные цепочки вызовов.

  • Интеграция с инструментами (tools): модель может вызывать внешние функции для получения данных.

  • Структурированный вывод: схемы описываются через schemantic, ответы приходят строго типизированными.

  • Наблюдаемость: локальный веб-интерфейс для просмотра трассировок, тестирования промптов и отладки.

Пример из жизни:


В статье показан типичный сценарий: планировщик путешествий. Приложение принимает пункт назначения и количество дней, вызывает модель с запросом на составление маршрута, а модель при необходимости может запросить погоду через отдельный инструмент. Вся логика описана как типобезопасный путь, который потом можно либо запустить локально, либо выставить как API.

Кому это будет полезно:


  • Командам, которые хотят переиспользовать Dart-код между фронтом и бэком.

  • Разработчикам, уставшим от неожиданных форматов ответов ИИ-моделей.

  • Тем, кто строит сложные агентные сценарии и хочет удобно их отлаживать.

  • Всем, кто ищет альтернативу разрозненным вызовам к разным API.

Вывод:


Genkit Dart - это попытка внести порядок в хаос ИИ-разработки. Вместо того чтобы каждый раз городить свои обертки над моделями, можно взять готовый фреймворк с типизацией, тестируемостью и удобным UI. Пока это превью, но направление выглядит правильным. Если вы работаете с Dart/Flutter и думаете, как добавить в проект ИИ-фичи - присмотритесь.
13.03.2026 23 165