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

Релиз Genkit Dart 1.0: ИИ-функции и агенты на Dart и Flutter

Вышла первая стабильная версия Genkit Dart - фреймворка для разработки ИИ-функционала и ИИ-агентов на Dart. Теперь можно строить приложения с поддержкой разных моделей, инструментов и интеграций, не выходя из экосистемы Dart и Flutter.

Раньше фреймворк был в статусе preview. Обратная связь от сообщества помогла доработать API и расширить набор инструментов для задач на проде. Теперь релиз готов к использованию в реальных проектах.

Как установить:


Добавить Genkit в проект можно одной командой:

dart pub add genkit

Также можно установить скиллы для ИИ-ассистентов, чтобы они знали актуальные API и практики Genkit Dart:

npx skills add genkit-ai/skills

Единый API для разных моделей:


Genkit поддерживает Google Gemini, Anthropic Claude, OpenAI и модели, совместимые с OpenAI, через один интерфейс. Провайдеры регистрируются как плагины и их можно менять без переписывания логики приложения.

final ai = Genkit(plugins: [googleAI(), anthropic()]);
final prompt = 'Suggest a weekend getaway from San Francisco.';

final fromGemini = await ai.generate(
model: googleAI.gemini('gemini-flash-latest'),
prompt: prompt,
);

final fromClaude = await ai.generate(
model: anthropic.model('claude-sonnet-5-5'),
prompt: prompt,
);

Типобезопасность через flows:


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

@Schema()
abstract class $TripRequest {
String get destination;
int get days;
}

Это дает сквозную типобезопасность между бэкендом и Flutter-приложением.

Где выполняется код:


ИИ-логика пишется на стандартном Dart, поэтому ее можно запускать где угодно:

  • Напрямую во Flutter: для быстрого прототипирования или сценариев, где пользователь использует свой ключ API.

  • На Dart-сервере: для сложных flows и защиты приватных промптов. Flutter вызывает их через defineRemoteAction.

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

Инструменты и отладка:


Genkit включает локальный Developer UI для тестирования flows, экспериментов с промптами и пошаговой проверки трассировок выполнения.

genkit start -- dart run server/bin/server.dart

Агентские сценарии:


С момента preview Genkit Dart расширился возможностями для многошаговых агентских рабочих процессов: прерывания с участием человека, middleware для генерации, управление промптами, телеметрией на проде.

Инструменты позволяют моделям вызывать Dart-функции для получения данных или выполнения действий. Когда действие требует подтверждения пользователя, инструмент может приостановить генерацию, вернув .interrupt(...) вместо .response(...). Это гарантирует, что модель не обойдет проверку.

Middleware подключается напрямую в цикл генерации, чтобы перехватывать вызовы модели, внедрять инструменты или изменять запросы и ответы. Можно подключать готовые возможности вроде автоматических повторов и правил подтверждения инструментов.

Управление промптами:


Dotprompt позволяет хранить шаблоны промптов, конфигурацию модели и схемы ввода-вывода вместе в файлах .prompt. Genkit автоматически загружает их из директории prompts/ и они становятся вызываемыми функциями в Dart.

Мониторинг:


Пакет genkit_otel экспортирует трассировки, использование токенов и метрики задержки через OpenTelemetry. Это интегрируется с существующим бэкендом наблюдаемости.

Планы на будущее:


Помимо стабильного ядра 1.0, развиваются API для агентов с состоянием и генеративного UI. Агенты с состоянием объединяют модель, инструменты, системные инструкции и состояние в одном вызове defineAgent. Диалоги сохраняются между сессиями и перезапусками приложения.

Генеративный UI через A2UI позволяет агентам передавать интерактивные поверхности вместо простого текста. Агент может отправлять компоненты вроде выбора даты, форм и карточек подтверждения, которые Flutter-приложение отрисовывает как нативные виджеты.

Вывод:


Genkit Dart 1.0 - это стабильный инструмент для построения ИИ-функционала и агентов на Dart. Единый API для разных моделей, сквозная типобезопасность, поддержка агентских сценариев и телеметрии на проде.

Раньше для подобных задач приходилось уходить в другие языки или собирать все вручную. Теперь ИИ-логика остается в знакомой экосистеме Dart и Flutter. Это упрощает разработку, тестирование и поддержку.
13.10.2026 2 663