Как подключить Jev к Grok Bot: маршрутизатор для ИИ-агента

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

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

Один из способов остановить такие повторы — поставить перед отдельными действиями небольшой маршрутизатор. В этой схеме Grok Bot выполняет работу на компьютере, а Jev от TypeSafe AI получает короткое описание текущего состояния и выбирает следующий шаг из заранее заданного списка.

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

Зачем агенту отдельный маршрутизатор

Grok Bot умеет работать с файлами, браузером и терминалом на облачном компьютере, а повторяемые процессы можно сохранять как навыки и сценарии. Но решение о том, стоит ли повторять действие, запускать поиск или звать ещё одного агента, обычно остаётся за основной моделью.

Jev устроен иначе: вместо свободного текстового ответа он возвращает значение из заранее описанного типа. TypeSafe предлагает три таких типа вопросов: Choice выбирает вариант из списка, Score оценивает состояние по шкале, а Noul оценивает вероятность ответа «да». Программа может использовать результат без разбора длинного ответа.

Для управления ходом работы чаще всего подходит Choice. Разработчик задаёт допустимые варианты, например «продолжить», «использовать готовый результат», «остановить повтор» или «передать решение человеку». Jev не придумывает новое действие за пределами списка: выбор всё равно должен соответствовать правилам, заложенным в программе.

Пять возможных решений

В примере ниже маршрутизатор вызывается перед дорогим или рискованным шагом. Эти названия — схема для конкретной интеграции, а не встроенные команды Grok Bot или стандартные ответы Jev.

Пять возможных решений маршрутизатора Jev для ИИ-агента
Пять возможных решений. Остановка для подтверждения человека должна оставаться обязательной для важных действий.
  • proceed — продолжить, если нет признаков, что следующий шаг обречён на неудачу.
  • reuse_cache — взять уже созданный файл, результат или данные вместо повторной работы.
  • stop_retry — прекратить повторять подход, который несколько раз завершился одинаковой ошибкой.
  • research_capped — закончить сбор материалов, если нужных источников уже достаточно.
  • ask_human — остановиться и попросить человека принять решение.

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

Какие данные передавать Jev

Модель принимает то состояние, которое ей отправляет интеграция. Поэтому в запрос не обязательно включать всю переписку с агентом, исходный проект и полную историю действий. Для решения о повторе часто достаточно короткой сводки: цели задачи, типа действия, последней ошибки и количества повторов.

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

Это не встроенная гарантия конфиденциальности: если отправить Jev полный текст задачи или секрет, он попадёт в запрос к API TypeSafe. Передавайте только данные, необходимые для конкретного решения, и удаляйте из них пароли, ключи, персональную и другую чувствительную информацию.

Как устроить подключение

Начните с одного повторяющегося сценария

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

Добавьте отдельный вызов Jev

API TypeSafe принимает состояние и набор типизированных вопросов. Ниже — пример запроса на JavaScript: он отправляет четыре поля и просит выбрать только одно из пяти действий. Официальный краткий запуск TypeSafe содержит примеры на JavaScript, Python и через HTTP API.

import { choice, TypeSafeClient } from "@typesafe-ai/sdk";

const client = new TypeSafeClient({ defaultModel: "jev-latest" });

const result = await client.systemOne({
  state: {
    goal: "подготовить недельный дайджест",
    task_type: "research",
    last_error: "тайм-аут при загрузке источника",
    repeats: 3
  },
  questions: {
    next_action: choice(
      "Как поступить с задачей при таких признаках?",
      {
        proceed: "Продолжить запланированный шаг",
        reuse_cache: "Использовать уже подготовленный результат",
        stop_retry: "Остановить повтор того же неудачного действия",
        research_capped: "Прекратить поиск и подготовить вывод",
        ask_human: "Остановиться и запросить решение человека"
      }
    )
  }
});

console.log(result.answers.next_action.choice);

Ключ API храните в защищённом хранилище или переменной окружения, а не в тексте навыка, репозитории или обычном чате. Скрипт должен проверить полученный ответ, записать его в журнал и применить только разрешённую ветку. Если Jev недоступен или ответ не прошёл проверку, интеграция должна остановиться либо перейти к безопасному варианту, а не выполнять случайное действие.

Сначала наблюдайте, не блокируя работу

На первом этапе маршрутизатор работает в теневом режиме: он предлагает решение и сохраняет его, но агент продолжает действовать по старым правилам. Так можно увидеть, в каких случаях Jev совпадает с человеком, когда ошибается и какие ситуации лучше сразу отправлять на ручное решение.

Пример теневого тестирования маршрутизатора Jev в течение недели
Пример журнала теневого тестирования. Значения на схеме иллюстративные, не результаты независимого испытания.

На схеме показан пример журнала за неделю, однако числа на ней иллюстративные — это не результаты независимого тестирования. Неделя может быть удобной отправной точкой, но при редких задачах наблюдать придётся дольше, пока не накопится достаточно примеров.

Когда разрешать маршрутизатору влиять на работу

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

Если результаты приемлемы, включайте автоматическое применение только для ограниченных и обратимых шагов. В схеме предусмотрены два аварийных пути: обойти Jev для одного запуска и полностью отключить маршрутизатор. Это примеры логики, а не готовые переключатели Grok Bot — их нужно реализовать в собственной интеграции.

Продолжайте вести журнал и после запуска. В официальной документации Grok Bot указано, что история сценария хранит последние 20 запусков; если эти данные важны для анализа, записывайте решения в собственное хранилище.

Ограничения и безопасность

Структурированный ответ снижает риск ошибки формата, но не гарантирует, что выбранное действие правильно для конкретной ситуации. Jev может корректно вернуть один из разрешённых вариантов и всё равно выбрать не тот. Вероятности и показатель уверенности полезны для порогов и передачи сомнительных случаев человеку, но не заменяют проверку на реальных задачах.

Есть и отдельная граница безопасности у Grok Bot: все боты аккаунта используют общий облачный компьютер, его файлы и активные входы в сервисы. Отдельный бот не является изолированной средой для секретов. Не оставляйте ключ Jev в файлах, доступных другим ботам, ограничивайте подключённые инструменты и отзывайте ненужные разрешения. Для публикаций, платежей, удаления и изменений в рабочей среде оставляйте обязательное подтверждение человека.

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