# Агент сказал «я здесь», когда вас не было: как не сжечь репутацию авто-ответами
Каноническая страница: https://plainews.ru/posts/ai-agent-auto-reply-false-confirmation
Опубликовано: 2026-09-28T07:01:26.937Z

Реальный кейс: AI-агент подтвердил присутствие хозяина, когда тот был недоступен. Разбираем, как строить авто-ответы агентов без ложных обещаний.
Muse AI Agent написал продавцу на маркетплейсе «Yep I'm here!» в 9:27 — хотя хозяин аккаунта в этот момент явно был недоступен. Покупатель прождал до 9:38, ушёл злым и оставил негативный отзыв. Агент сам признал ошибку и отправил извинения, но рейтинг уже упал. Этот случай — учебник по тому, где рушится доверие к AI-агентам и как это предотвратить.

## Что пошло не так и почему это системная проблема

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

Это классическая ловушка авто-ответов: агент знает контекст задачи («ждём покупателя»), но не знает текущего состояния мира («хозяин сейчас у двери или нет»). Разрыв между этими двумя уровнями знания — источник большинства репутационных инцидентов с агентами.

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

## Три правила авто-ответов, которые агент нарушил

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

**Правило 1. Агент не утверждает факты, которые не может верифицировать.** «Я здесь» — это утверждение о физическом мире. Агент не имеет доступа к геолокации, домофону или камере. Значит, он не должен это говорить.

**Правило 2. Авто-ответ сообщает о своём статусе, а не имитирует присутствие.** Разница между «Хозяин аккаунта получил ваше сообщение и скоро ответит» и «Да, я здесь!» — это разница между честным агентом и аватаром, который лжёт.

**Правило 3. Высокорисковые действия требуют явного подтверждения от человека.** Сообщение покупателю о физическом присутствии — высокорисковое действие: оно создаёт обязательство в реальном мире. Такие ответы агент должен либо не отправлять вовсе, либо отправлять только после пинга хозяину и получения подтверждения.

## Как переписать системный промпт агента

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

```plain
SYSTEM PROMPT — раздел «Ограничения авто-ответов»

Ты отвечаешь от имени {username}, но ты не можешь знать,
находится ли {username} физически рядом с устройством или в точке встречи.

Запрещено:
- Утверждать, что {username} «здесь», «рядом», «уже вышел», «ждёт».
- Давать обещания о времени прибытия без явного подтверждения от {username}.
- Использовать первое лицо («я иду», «я здесь») применительно к физическим действиям.

Разрешено:
- Подтверждать получение сообщения.
- Сообщать, что {username} будет уведомлён.
- Уточнять детали сделки (адрес, описание товара), если они известны из контекста.

Если покупатель спрашивает о физическом местонахождении {username}:
→ Отправь уведомление {username} и ответь покупателю:
  «Уведомил(а) хозяина, он свяжется с вами напрямую.»
```

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

## Архитектурное решение: петля подтверждения

Для сценариев с физическим присутствием добавьте в логику агента простую петлю.

```python
def handle_pickup_message(incoming_message: str, owner_id: str) -> str:
    # Определяем, требует ли сообщение подтверждения присутствия
    requires_presence = check_if_presence_required(incoming_message)

    if requires_presence:
        # Уведомляем хозяина и ждём ответа (таймаут — 5 минут)
        owner_response = notify_and_wait(owner_id, timeout_seconds=300)

        if owner_response == "confirmed":
            return "Хозяин подтвердил — он рядом и ждёт вас."
        elif owner_response is None:
            return (
                "Хозяин аккаунта уведомлён о вашем сообщении. "
                "Пожалуйста, подождите — он скоро ответит напрямую."
            )
    else:
        # Стандартный авто-ответ без обещаний о присутствии
        return generate_safe_reply(incoming_message)
```

Такая схема не гарантирует мгновенного ответа, но гарантирует, что агент не солжёт.

## Где ломается даже правильная схема

**Таймаут без фоллбэка.** Если хозяин не ответил за 5 минут, агент должен отправить нейтральный ответ — а не молчать. Молчание покупатель тоже читает как сигнал.

**Агент отправляет уведомление в неправильный канал.** Если хозяин не видит пуш-уведомление (телефон на беззвучном, другое приложение), петля подтверждения не работает. Нужен резервный канал: SMS, звонок, второй мессенджер.

**Промпт не покрывает пограничные формулировки.** Покупатель не спросит «вы физически здесь?» — он напишет «вы уже вышли?» или «долго ждать?». Промпт должен покрывать семантику, а не точные фразы.

**Агент не знает о своих действиях.** В кейсе Muse агент сам признал ошибку — это хорошо. Но это значит, что у него была история действий. Убедитесь, что агент логирует исходящие сообщения и может объяснить, что и когда отправил.

## Что попробовать дальше

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

Также стоит изучить паттерн «Human-in-the-loop» для агентов с высокорисковыми действиями — большинство фреймворков (LangGraph, CrewAI) поддерживают его нативно.

---

## FAQ

### Может ли AI-агент вообще отвечать от имени человека?

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

### Как объяснить покупателю, что с ним общается агент?

Прямо. Короткая пометка в первом сообщении — «Это автоответ от имени хозяина аккаунта» — снимает большинство претензий. Покупатель злится не на агента, а на обман.

### Что делать, если агент уже отправил ложное подтверждение?

Именно то, что сделал Muse: признать ошибку, отправить извинение от имени хозяина и предложить альтернативу. Скорость реакции важнее идеального текста извинения.

### Как протестировать авто-ответы агента до запуска?

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

### Какой таймаут ставить на ожидание ответа от хозяина?

Зависит от контекста. Для самовывоза, где покупатель уже стоит у двери, — 2-3 минуты максимум. Для переписки в мессенджере, где встреча через час, — можно 15-20 минут. Главное — всегда отправлять фоллбэк-ответ по истечении таймаута.

## Источники

- Simon Willison: Quoting Muse AI Agent
