Создавайте рабочие процессы для ваших пользователей с помощью инструментов WebMCP.

Опубликовано: 26 августа 2026 г.

Пояснительная записка Веб Расширения Статус Chrome Намерение
GitHub Испытание происхождения Испытание происхождения Вид Намерение провести эксперимент

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

Разработчики задаются вопросом, какие инструменты WebMCP им следует разработать и предоставить агентам. Единого правильного ответа нет, поскольку сценарии использования и требования WebMCP сильно различаются в разных веб-средах.

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

Определите цель пользователя

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

  • Каков идеальный результат? Четко определите, что для пользователя означает «успех».
  • Какой контекст необходим? Определите, какая конкретная информация или данные нужны агенту для достижения цели.
  • Каковы границы? Определите, что агент не должен делать или какие действия запрещены.
  • Какие цели следует приоритезировать? Начните с определения сценариев взаимодействия, где поддержка агента приносит наибольшую пользу. Ищите возможности, где диалоговый подход обеспечивает более естественный, эффективный или интуитивно понятный путь для пользователя к достижению цели по сравнению с интерфейсом, управляемым непосредственно пользователем.
Агент использует единый инструмент, findClient, для получения контактной информации.
Когда пользователь просит агента найти контактную информацию, агент вызывает инструмент WebMCP: findClient для выполнения задачи.

Эти цели должны соответствовать вашему продукту и поддерживать существующие возможности. Если ваш продукт — CRM-система, вам не нужно создавать инструменты для бронирования авиабилетов. Цель пользователя может включать один шаг, например, поиск контактной информации клиента. Или же она может быть более сложной, например, составление краткого изложения протокола встречи и написание последующего электронного письма.

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

Единичный запрос пользователя связан с тремя возможными компонентами пользовательского интерфейса: видеоконференцией, документом для заметок и электронной почтой.
Пользователь просит агента отправить последующее электронное письмо после встречи. Для выполнения этой задачи агент взаимодействует с тремя инструментами WebMCP: recordTranscript , summarizeNotes и draftEmail .

Определите начальное состояние

Как только вы поймете цель пользователя, определите «стартовую линию». Начальное состояние определяет среду и контекст до того, как агент предпримет действия.

Рассмотрим следующие параметры:

  • Состояние приложения : Где находится пользователь в вашем продукте? Какие данные видны или активны? Например: Просматривает ли пользователь конкретный проект, находится ли на панели управления или в настройках.
  • Контекст взаимодействия с агентом : Что уже обсуждалось? Какой информацией агент уже обладает, а чего ему не хватает?
  • Системные ограничения : Существуют ли активные фильтры, права доступа пользователей или общесистемные настройки, которые ограничивают возможности агента в непосредственной работе? Например, если для достижения цели требуется, чтобы пользователь был авторизован, начинается ли выполнение процесса до или после авторизации?

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

Разыграйте диалог в ролевой игре.

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

Чтобы проверить свои предположения, выполните следующие действия:

  1. Составьте карту диалога : представьте себе весь процесс взаимодействия, шаг за шагом, от первоначальной цели пользователя до конечного результата. Диалог должен отражать то, как конечные пользователи используют ваш продукт, а не внутренние команды.
  2. Анализируйте потребности в инструментах и ​​на сайте : на каждом этапе задавайте себе следующие вопросы:
    • Какую информацию о вашем продукте должен предоставить агент для ответа?
    • Какие действия оно должно выполнить?
    • Какие инструменты необходимы для поддержки этих действий?
    • Как должен реагировать ваш сайт при использовании этих инструментов?
  3. Повторение и уточнение : Если в ходе моделирования вы обнаружите пробел или недостающий инструмент, повторите шаги 1 и 2, чтобы уточнить свой план. Затем возобновите моделирование.

Примените это на практике.

Чтобы увидеть это в действии, мы рассмотрим сценарий бронирования авиабилетов для деловой поездки. Представьте, что пользователь находится на панели управления поездками и хочет забронировать рейс в Нью-Йорк на следующий вторник.

  1. Определите цель пользователя : успешно забронировать авиабилет в соответствии с корпоративной политикой.
  2. Определение исходного состояния : Пользователь находится на панели управления поездками. Агент имеет доступ к корпоративному профилю пользователя, который включает сохраненные предпочтения (например, авиакомпания и класс билета).
  3. Разыграйте ситуацию : пользователь запрашивает варианты, добавляет критерии и бронирует рейс.

Разыграйте взаимодействие в ролевой игре.

Первоначальный запрос :

  1. Пользователь : «Мне нужен рейс в Нью-Йорк на следующий вторник».
  2. Агент : "Я могу помочь. Когда бы вы хотели вернуться?"
  3. Пользователь : «Вернусь в пятницу».
  4. Агент выполняет два действия: get_user_profile() и возвращает home_airport . Затем search_flights(origin=home_airport, destination="JFK", date="2023-10-24", return_date="2023-10-27")
  5. На сайте отображаются результаты рейсов из home_airport в аэропорт имени Джона Кеннеди за период с 24 по 27 октября.
  6. Агент : "Я нашел 50 рейсов. Как бы вы хотели их отсортировать или отфильтровать?"

Пересмотреть и доработать :

  1. Пользователь : «На самом деле, вариантов слишком много. Мне нужны только прямые рейсы в эконом-классе».
  2. Агент выполняет следующее действие: filter_flights(criteria={"stops": 0, "class": "economy"}) .
  3. На сайте отображаются результаты поиска рейсов из home_airport в аэропорт имени Джона Кеннеди на 24–27 октября, отфильтрованные по типу перелета (прямой) и экономическому классу.
  4. Агент : "Вот 3 прямых рейса эконом-класса, которые соответствуют вашему запросу."

Завершите бронирование :

  1. Пользователь : «Утренний выпуск на Delta выглядит неплохо».
  2. Агент использует инструмент lookup_flight(airline='DL') , чтобы получить соответствующий идентификатор рейса, а затем бронирует рейс: book_flight(flight_id="delta_123") .
  3. На сайте отображается подтверждение бронирования рейса delta_123 .
  4. Агент : "Я забронировал это для вас."

Диаграмма последовательности

Открыть полноразмерную диаграмму последовательности .

Разница в адресах

Пользователь может нечетко формулировать просьбу о помощи к агенту. Например, он может сказать: «Мне нужно поехать в Нью-Йорк на следующей неделе». В этом запросе не указан конкретный день, поэтому следует разработать инструменты, достаточно гибкие, чтобы агент мог запросить недостающие параметры («На какой день на следующей неделе?»), вместо того чтобы делать предположения, которые могут привести к ошибке.

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

Принимайте неудачи достойно и это позволит вам восстановиться.

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

Например:

  • Неверное состояние или отсутствуют необходимые условия : Если агент вызывает filter_flights до выполнения search_flights , ответьте: «Результаты поиска рейсов не найдены. Сначала выполните поиск рейсов».
  • Недопустимые параметры : Если инструмент ожидает дату в формате YYYY-MM-DD , но получает другой формат, верните: "Недопустимый формат даты. Укажите дату в формате ГГГГ-ММ-ДД."
  • Неожиданные возвращаемые значения : Если инструмент запрашивает данные у внешнего сервиса и получает пустой или некорректный результат, верните: «Рейсы, соответствующие вашим критериям, не найдены. Попробуйте изменить параметры поиска».
  • Нарушения бизнес-логики : Если действие нарушает конкретное бизнес-правило, например, вызов cancel_order для товара, который уже был отправлен, верните: «Заказ 123 уже отправлен. Перенаправьте пользователя на страницу с политикой возврата».

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

Оцените свои инструменты

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

Развертывание в производственной среде

Ролевые игры отлично подходят для создания первоначального прототипа инструмента. Для внедрения в производство их следует дополнить телеметрией, полученной в реальных условиях.

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

Принимайте участие и делитесь отзывами.

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

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

WebMCP находится в стадии активного обсуждения и может быть изменен в будущем. Если вы попробуете этот API и у вас появятся отзывы, мы будем рады их услышать.