1. Нарисуйте путь пользователя
Начните с /start, выбора продукта или задачи, основного действия, ошибки, возврата в меню и поддержки. Для каждого шага назовите видимое сообщение и следующую кнопку.
Если deep-link меняет контекст, укажите payload и безопасное поведение при неизвестном значении.
2. Опишите состояния и переходы
Пользователь всегда находится в понятном состоянии: menu, viewing_product, awaiting_support или checkout. Событие обрабатывается только там, где оно допустимо.
Не создавайте скрытую «последнюю цель менеджера», если ответ должен быть reply на конкретное уведомление.
3. Защитите обработку Telegram updates
Выберите webhook или getUpdates, задайте проверку endpoint и dedupe по update_id. Повторный update не должен повторно отправлять сообщение, создавать заказ или заявку.
Внешний эффект фиксируется вместе с idempotency key и результатом. Timeout не всегда означает, что провайдер ничего не сделал.
4. Перечислите данные и границы
Укажите, какие profile-поля сохраняются, как они нормализуются, сколько хранится история и кто видит raw идентификаторы. Не создавайте вторую клиентскую базу для нового меню.
Токены, merchant secret и database URL находятся только в server-side env с ограниченным доступом.
5. Отделите оплату и поддержку
Return URL не подтверждает оплату, а callback провайдера является авторитетным событием. Кнопка поддержки создаёт отдельное обращение и не должна случайно запускать checkout.
Если AI gateway недоступен, нужен безопасный ручной путь без повторной отправки одного вопроса.
6. Запишите тесты до реализации
Проверьте happy path, неизвестную команду, duplicate update, timeout внешнего API, restart, неверный deep-link и отсутствие токена. Для базы используйте настоящий PostgreSQL там, где он является production-контрактом.
Browser preview проверяет текст и кнопки, но не заменяет Bot API integration.
- меню возвращается из каждого конечного шага;
- duplicate не создаёт второй эффект;
- секреты отсутствуют в логах;
- состояние сохраняется после restart.
Каркас промпта
«Разработай Telegram-бота для [задача]. Путь: [шаги]. Состояния: [список]. Переиспользуй [runtime/DB]. Обрабатывай updates через [режим], dedupe по update_id. Секреты только server-side. Не меняй [соседний scope]. Тесты: [сценарии], restart и безопасный production smoke без реального списания».
Effort помогает собрать постановку, но BotFather, сервер и реальные разрешения остаются отдельными действиями владельца.
Источники
У каждой опоры есть дата проверки. Если источник изменится, материал нужно пересмотреть.
-
01
Telegram Bot API Telegram · проверено 6 сентября 2026 г.
Сверены официальные способы получения обновлений, отправки сообщений и идентификации reply-контекста.
-
02
Codex documentation OpenAI Developers · проверено 6 сентября 2026 г.
Сверены рабочий цикл Codex, роль инструкций проекта, локальных проверок и ограниченной области изменений.
-
03
LLM06:2025 Excessive Agency OWASP GenAI Security Project · проверено 6 сентября 2026 г.
Сверены принципы минимальных полномочий, ограниченных функций и подтверждения значимых действий человеком.
-
04
Effort Translator: рабочий интерфейс Нейроквалификатор · проверено 6 сентября 2026 г.
Сверена граница продукта: перевод исходной мысли в структурированную постановку без подмены цели и без гарантии результата.
