Черновики и шаблоны

Агент готовит ответы, которые вы одобряете по одному, или шаблоны автоответов сами отвечают тем, кому вы разрешили.

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

Здесь важны два понятия:

  • Черновик — ответ, который агент написал и показал вам. Ничего не отправляется, пока вы не одобрите точный текст и чат, куда он уйдёт.
  • Шаблон — текст правила автоответа. Фоновый сервер (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 revoke

replies consents deny с ID чата не пускает сообщения этого чата к модели. Новый провайдер или endpoint требует нового согласия. replies test --ai передаёт сохранённые сообщения модели, чтобы вы увидели её текст; в мессенджер он по-прежнему ничего не отправляет.

Настройка

Начните с черновиков: кроме подключённого аккаунта, им ничего не нужно. Чтобы написать правила, откройте автоответы Telegram или автоответы MAX: там описано, как создать правило, выбрать, кто может получать ответы, настроить модель и сразу всё приостановить.