Черновики и шаблоны
Агент готовит ответы, которые вы одобряете по одному, или шаблоны автоответов сами отвечают тем, кому вы разрешили.
Эта страница — о двух способах отвечать на сообщения с помощью инструментов: черновике, который готовит агент, и шаблоне, который отвечает сам. Она нужна, когда вы хотите помощи с ответами и решаете, сколько доверить. Прочитав её, вы сможете просить черновики и одобрять их по одному, а также написать шаблон автоответа со своим текстом и, если хотите, частью, которую пишет модель.
Здесь важны два понятия:
- Черновик — ответ, который агент написал и показал вам. Ничего не отправляется, пока вы не одобрите точный текст и чат, куда он уйдёт.
- Шаблон — текст правила автоответа. Фоновый сервер (
tg serveилиmax serve) заполняет его и отправляет сам, не спрашивая вас, но только тем, кому вы разрешили, и только после того, как вы включили отправку. Шаблоны пишутся на Liquid — небольшом языке для текста с подстановками, например имени отправителя.
| Обязательность | Черновик | Шаблон |
|---|---|---|
| Кто пишет текст | агент, для одного сообщения | вы, один раз, для многих сообщений |
| Когда отправляется | после того как вы одобрили точный текст и чат | когда сработало правило; спросить некого |
| Кто получает | чат, который вы одобрили | только те, кому вы разрешили |
| Где настраивается | в просьбе к агенту | в правиле автоответа вашего профиля |
Черновики: пишет агент, одобряете вы
Нужны подключённый аккаунт и агент. Агент читает переписку, пишет ответ и показывает его вам. Агенту, подключённому через MCP, сообщается, что черновик или «надо бы ответить» — не просьба отправить: отправлять можно только точный текст, о котором вы попросили, и только в тот самый чат. Для любого агента отправку на деле останавливают права профиля: отказ — например, профиль только для чтения или неразрешённый адресат — окончателен.
Примеры написаны для Telegram. Для MAX пишите «Используй max CLI» вместо «Используй tg CLI».
Ответить в одном чате:
Используй tg CLI. Прочитай последние сообщения в моём чате с Анной и подготовь ответ на её последний
вопрос. Коротко и только по фактам из нашей переписки. Покажи черновик; не отправляй.Ответить на вопросы, которые ещё ждут меня:
Используй tg CLI. Перечисли вопросы, которые мне задали на этой неделе и на которые я не ответил,
от старых к новым. Для каждого покажи чат и сообщение и подготовь короткий ответ. Ничего не
отправляй и ничего не отмечай прочитанным.Напомнить людям об обещанном:
Используй tg CLI. Просмотри мои чаты с понедельника: что должен я, что должны мне и что нужно
уточнить. Подготовь не больше пяти напоминаний, у каждого — чат и текст. Покажи их мне; ничего не отправляй.Когда черновик подходит, одобрите его с точным текстом и адресатом, например: «Отправь ровно этот черновик в личный чат Анны». Если вы меняете формулировку, дайте полный итоговый текст. Разрешения продолжают действовать: профиль может требовать подтверждения или запрещать отправку, и просьба этого не обходит. Больше примеров — в разделе как формулировать запросы.
Если ваше AI-приложение подключено через MCP, инструмент предлагает и готовые запросы: ответить в чате и проверить обязательства. Они следуют тому же правилу: сначала черновики, отправка только после вашего одобрения.
Шаблоны: правила, которые отвечают сами
Правило автоответа говорит, когда отвечать, например вне рабочих часов, а шаблон — что отправить. Прежде чем ответ уйдёт:
- отправитель должен быть среди тех, кому вы разрешили получать автоответы;
- отправка должна быть разрешена в правах профиля:
permissions.replies.send allow;askсчитается запретом, потому что фоновому серверу некого спросить; - у каждого правила есть лимит на чат и на человека, например один ответ в чат за 12 часов.
replies test показывает, что правила ответили бы на сохранённые сообщения. Он ничего не отправляет.
Что доступно в шаблоне
| Переменная | Что в ней |
|---|---|
sender.name | полное имя отправителя |
sender.firstName | первое слово имени отправителя |
chat.title | название чата |
chat.kind | вид чата, например dialog или group |
now | текущее время в часовом поясе правила или UTC, если у правила нет рабочих часов |
Работают стандартные фильтры Liquid, например default для пустого значения и date для времени:
{{ now | date: "%H:%M" }}. Условия вроде {% if chat.kind == "dialog" %} тоже работают.
Текст входящего сообщения никогда не бывает переменной шаблона. Неизвестная переменная или фильтр делают шаблон неверным, и тогда ответ не отправляется. Шаблон не может читать файлы, а его время, память и длина ограничены.
Примеры
Сообщение об отсутствии:
Спасибо, {{ sender.firstName | default: "вам" }}! Меня нет до понедельника, тогда и отвечу.Ответ вне рабочих часов. Часы задаются в правиле, а не в шаблоне: укажите их в replies edit
опциями --outside, --days и --timezone. Тогда now — в этом часовом поясе:
Здравствуйте, {{ sender.firstName | default: "коллега" }}! У меня сейчас {{ now | date: "%H:%M" }}. Отвечаю по будням с 9:00 до 19:00.Часть, которую пишет модель, и ваш запасной текст:
Спасибо, {{ sender.firstName | default: "вам" }}!
{% ai %}Коротко подтвердите получение; я отвечу завтра.{% else %}Отвечу завтра.{% endai %}Часть, которую пишет модель
Модель может написать только то, что внутри {% ai %}…{% endai %}; всё снаружи — ваш текст. Тело
блока — инструкция для модели. Входящее сообщение передаётся модели отдельно, как данные, а не как
часть инструкции. Ответ модели используется как обычный текст.
Текст после {% else %} — запасной. Он отправляется, если модель не настроена, нет согласия, вызов
не удался или ответ модели отвергнут: пустой, слишком длинный или повторяет входящее сообщение. Без
else такое сообщение остаётся без ответа, а причина записывается. Вкладывать блоки друг в друга
нельзя.
Для модели нужно отдельное согласие, независимое от права отправлять. Согласие разрешает передавать данные входящих сообщений выбранному провайдеру модели для всего профиля:
tg replies consents show
tg replies consents grant
tg replies consents revoke
max replies consents show
max replies consents grant
max replies consents revokereplies consents deny с ID чата не пускает сообщения этого чата к модели. Новый провайдер или
endpoint требует нового согласия. replies test --ai передаёт сохранённые сообщения модели, чтобы
вы увидели её текст; в мессенджер он по-прежнему ничего не отправляет.
Настройка
Начните с черновиков: кроме подключённого аккаунта, им ничего не нужно. Чтобы написать правила, откройте автоответы Telegram или автоответы MAX: там описано, как создать правило, выбрать, кто может получать ответы, настроить модель и сразу всё приостановить.