Независимое руководствоНезависимое руководство по Jev — модели TypeSafe AI
Сценарии

Одно ограниченное решение на каждое состояние страницы

Jev для выбора следующего шага браузерного агента

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

Загрузить этот шаблон

Источники проверены Обновлено Версия материала 1

Характер доказательств Авторский вымышленный учебный пример. Результаты модели не заданы заранее.

Авторский вымышленный учебный пример. Результаты модели не заданы заранее.

Пример, который можно изменить

Загрузить этот шаблон
1 · Текст для проверки
Цель: зарегистрировать Dana Lee (dana.lee@example.com) на конференцию. Текущая страница: «Регистрация — шаг 2 из 2» Видимые элементы: - Текстовое поле «Полное имя»: Dana Lee - Текстовое поле «Эл. почта»: пусто, отмечено как обязательное - Флажок «Я принимаю кодекс поведения»: установлен - Кнопка «Отправить регистрацию»: активна - Баннер: «Ваш сеанс истечёт через 10 минут».
2 · Ваш вопрос
Какой один шаг агенту следует сделать дальше, чтобы достичь цели?
3 · Задайте от 2 до 6 вариантов
  1. Заполнить обязательное поле

    Обязательное поле или флажок ещё не заполнены, а нужное значение уже есть в цели.

  2. Нажать кнопку отправки

    Все обязательные поля заполнены, и страница готова к отправке.

  3. Подождать и перечитать страницу

    Страница ещё загружается или меняется, поэтому её состоянию пока нельзя доверять.

  4. Спросить человека

    Не хватает сведений, либо шаг влечёт последствия, на которые у агента нет права.

Это вероятности модели, а не измеренная точность или гарантия. «Да» и «Нет» соответствуют вашим правилам; варианты сравниваются только в пределах заданного вами набора.

Может ли Jev управлять браузерным агентом?

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

Руководство TypeSafe по построению систем описывает то же разделение труда: управление остаётся за кодом, а модель получает узкие структурированные решения. Цикл агента, чтение страницы, клик и повторная попытка остаются обычным программным кодом.

Открыть редактируемый шаблон следующего шага. В нём вымышленная страница регистрации, один вопрос и четыре варианта. Загрузка создаёт черновик; проверка начинается только по вашему запросу.

Описывайте страницу как состояние, а не как скриншот

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

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

Каждому варианту соответствует функция вашего агента. Jev выбирает функцию, а ваш код подставляет аргументы, которые может проверить сам, — например, какое поле пусто. Рецепт вызова функций TypeSafe устроен так же: выбор из закрытого набора превращается в вопросы, а свободный текст, числа и даты остаются за вашим кодом.

Меняйте один элемент и сравнивайте

  1. Запустите шаблон без изменений и запишите выбранный шаг и остальные вероятности.
  2. Впишите адрес электронной почты в описание страницы и запустите проверку снова. Заранее решите, какой шаг вы ожидаете.
  3. Уберите адрес электронной почты из цели, оставив поле пустым. Теперь у агента нет значения, поэтому аккуратно спроектированная система должна предпочесть вопрос человеку.

Ожидаемый ответ заранее не задан, а один запуск — это не измерение. Если два варианта постоянно соперничают, переписывайте их описания, пока человек не сможет применять их без догадок; см. Как работать с пересекающимися категориями.

Пусть порог зависит от цены ошибки

В паттерне TypeSafe «маршрутизация с порогом confidence» confidence служит вторым сигналом: ответ говорит, что делать, а confidence — действовать ли вообще. В примере из документации действие с низким риском принимается при умеренном confidence, а для одобрения перевода требуется гораздо более высокий. Примените ту же идею здесь. Перечитать страницу дёшево; отправить форму, заплатить или что-то удалить — нет. Выбирайте собственные пороги по размеченным примерам, а сначала прочитайте о разнице между вероятностью и confidence.

Что уже пробовало сообщество

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

Источники и дополнительные материалы

Руководство опирается на официальную документацию и сообщения сообщества по ссылкам. Авторы наблюдений сообщества указаны.

  1. TypeSafe: Как строить с TypeSafe
  2. TypeSafe: Рецепт вызова функций
  3. TypeSafe: Маршрутизация с порогом confidence
Как мы проверяем источники