PRD Sales Proxy MCP Bot для опросника
PRD: Sales Proxy MCP Bot для опросника
Навигация: Hermes как sales funnel bot с лимитом токенов · Wordstat: ИИ сотрудник · RU лендинг и waitlist
1. Короткое описание
Sales Proxy MCP Bot — промежуточный слой между пользователем и Hermes Agent.
Он принимает сообщения из Telegram/web chat, ведёт пользователя по короткому опроснику, считает лимиты сообщений/токенов/стоимости, проксирует разрешённые запросы в Hermes API Server, даёт Hermes доступ к нужным funnel-инструментам через MCP/API, и позволяет человеку-оператору вмешаться в любой момент.
На первом этапе главная задача не “полноценный продающий агент”, а простая квалификация лида: человек должен пройти опросник, оставить контакт и получить обещание следующего шага.
2. Главная проблема
Нельзя отдавать публичному пользователю прямой доступ к Hermes:
- пользователь может сжечь токены;
- Hermes может уйти в длинный разговор;
- воронка должна останавливаться жёстко, а не “по просьбе в промпте”;
- человеку-оператору нужно видеть диалог и вмешиваться;
- lead data нужно сохранять структурированно;
- агенту нужны инструменты: задать следующий вопрос, сохранить ответ, перевести на человека, поставить статус, создать лид.
3. Цель MVP
Сделать Telegram/web-бота, который:
- принимает пользователя из лендинга/рекламы;
- проводит его по опроснику 5–8 вопросов;
- сохраняет ответы в БД;
- считает usage/лимиты;
- проксирует “умные” ответы в Hermes только когда нужно;
- умеет остановить диалог при лимите;
- позволяет человеку-оператору взять диалог на себя;
- в конце создаёт lead summary и отправляет уведомление владельцу.
4. Не цели MVP
На первом этапе не делаем:
- полноценный CRM;
- оплату и подписки;
- мультиканальность beyond Telegram/web;
- сложный no-code builder;
- полноценный on-prem deployment;
- долгую память пользователя;
- автоматическую настройку реального ИИ-сотрудника.
5. Пользовательские роли
5.1 Lead / посетитель
Человек с рекламы или лендинга. Хочет понять, может ли ИИ-сотрудник помочь его бизнесу.
5.2 Operator / человек-владелец
Ты или менеджер. Видит диалоги, получает уведомления, может вмешаться.
5.3 Hermes Agent
LLM-агент, который помогает формулировать вопросы, объяснять ценность, суммировать ответы, но не управляет лимитами.
5.4 Sales Proxy
Backend, который владеет состоянием, лимитами, маршрутизацией, MCP/API-инструментами и human override.
6. Основной сценарий MVP
1. Пользователь нажал CTA на лендинге.
2. Открыл Telegram/web chat.
3. Bot создал lead session.
4. Bot задал первый вопрос.
5. Пользователь отвечает.
6. Proxy сохраняет ответ.
7. Proxy решает: нужен ли Hermes для следующего ответа.
8. Если нужен — вызывает Hermes API Server.
9. Hermes видит доступные funnel tools через MCP/API.
10. Bot задаёт следующий вопрос.
11. После 5–8 вопросов bot создаёт summary.
12. Operator получает уведомление.
13. Пользователь видит финальный CTA: “мы подготовим сценарий / запишитесь на демо / оставьте контакт”.
7. Вопросы опросника v1
Минимальный опросник:
- Какой у вас бизнес / ниша?
- Какой отдел или процесс хотите автоматизировать?
- Что сейчас занимает больше всего времени?
- Где сейчас живёт процесс: Telegram, CRM, таблицы, почта, документы, сайт?
- Кто этим занимается сейчас: владелец, менеджер, ассистент, отдел?
- Какой результат хотите получить?
- Сколько примерно таких задач/диалогов/документов в неделю?
- Контакт для обратной связи: Telegram/email/телефон.
Для рекламы по “ИИ сотрудник” можно формулировать проще:
Давайте за 2 минуты поймём, какого ИИ-сотрудника можно собрать для вашего бизнеса.
8. Архитектура
Telegram Bot / Web Chat
↓
Sales Proxy Backend
↓
Postgres/SQLite: users, sessions, messages, questionnaire, usage
↓
Quota Engine / Funnel State Machine
↓
Hermes API Server
↓
Hermes Agent + tools + MCP servers
Отдельно:
Operator Dashboard / Telegram admin chat
↑
Sales Proxy Backend
9. Почему нужен MCP
MCP нужен не потому, что пользователь напрямую вызывает tools, а чтобы Hermes мог работать с funnel state как с инструментами.
Например Hermes должен уметь:
- посмотреть текущий статус опросника;
- сохранить структурированный ответ;
- запросить следующий вопрос;
- отметить lead как hot/warm/cold;
- запросить вмешательство человека;
- создать summary;
- поставить тег;
- отправить уведомление оператору.
Но quota enforcement всё равно остаётся в proxy, не в MCP tool.
10. MCP tools v1
MCP server: sales_funnel
get_lead_state
Получить состояние лида.
Input:
{
"lead_id": "string"
}
Output:
{
"lead_id": "lead_123",
"stage": "questionnaire",
"answered_questions": 3,
"remaining_questions": 5,
"token_budget_remaining": 4200,
"human_mode": false
}
save_answer
Сохранить ответ пользователя на вопрос.
Input:
{
"lead_id": "string",
"question_id": "business_niche",
"answer_text": "string",
"extracted": {
"business_type": "string",
"department": "string",
"pain": "string"
}
}
next_question
Получить следующий вопрос из сценария.
Input:
{
"lead_id": "string"
}
Output:
{
"question_id": "process_pain",
"text": "Что сейчас в этом процессе занимает больше всего времени?",
"required": true
}
create_lead_summary
Собрать summary после опросника.
Input:
{
"lead_id": "string"
}
Output:
{
"summary": "...",
"score": 72,
"recommended_next_step": "demo_call"
}
request_human_takeover
Попросить человека вмешаться.
Input:
{
"lead_id": "string",
"reason": "user_asks_price_or_custom_integration",
"urgency": "normal|high",
"message": "string"
}
set_lead_status
Обновить статус лида.
Input:
{
"lead_id": "string",
"status": "new|questionnaire|qualified|needs_human|completed|spam|paid"
}
11. Важное разграничение ответственности
Proxy отвечает за:
- приём сообщений;
- идентификацию пользователя;
- лимиты;
- stage machine;
- сохранение сообщений;
- вызов Hermes;
- human takeover;
- отправку сообщений;
- payment/CTA позже.
Hermes отвечает за:
- естественный язык;
- уточняющие вопросы;
- объяснение ценности;
- summary;
- классификацию боли/отдела;
- предложение сценария.
MCP отвечает за:
- дать Hermes безопасные инструменты работы с funnel state;
- не давать Hermes прямой доступ к billing/quota enforcement.
12. Quota / лимиты
MVP-лимиты:
free_message_limit: 8
free_total_token_limit: 8000
max_hermes_calls_per_lead: 6
max_session_duration_minutes: 30
Правило:
Если лимит исчерпан — proxy не вызывает Hermes.
Ответ deterministic:
Я уже собрал достаточно, чтобы подготовить сценарий ИИ-сотрудника.
Дальше подключится человек и пришлёт вам следующий шаг.
13. Human-in-the-loop
Оператор должен уметь:
- видеть новые лиды;
- видеть весь диалог;
- видеть текущий stage;
- видеть token usage;
- нажать “Взять на себя”;
- отправить сообщение от себя;
- вернуть управление боту;
- пометить lead как hot/warm/cold/spam;
- получить summary.
MVP-интерфейс можно сделать без web dashboard:
Admin Telegram chat
Уведомление:
Новый лид: Иван / @username
Ниша: онлайн-школа
Боль: менеджеры долго отвечают в директе
Процесс: заявки из Instagram → Telegram → таблица
Score: 78 / hot
[Взять диалог] [Попросить контакт] [Отправить демо-link] [Spam]
14. State machine
stages:
new:
description: пользователь только пришёл
next: q_business
q_business:
asks: ниша/бизнес
next: q_process
q_process:
asks: процесс/отдел
next: q_pain
q_pain:
asks: боль/рутина
next: q_tools
q_tools:
asks: где сейчас живёт процесс
next: q_volume
q_volume:
asks: объём задач
next: q_contact
q_contact:
asks: контакт
next: summary
summary:
creates: lead summary
next: completed
needs_human:
bot_paused: true
completed:
bot_paused: true
15. Data model MVP
create table leads (
id text primary key,
platform text,
platform_user_id text,
username text,
status text,
stage text,
score integer,
human_mode boolean default false,
paid boolean default false,
created_at timestamp,
updated_at timestamp
);
create table messages (
id text primary key,
lead_id text,
role text,
text text,
source text,
created_at timestamp
);
create table questionnaire_answers (
id text primary key,
lead_id text,
question_id text,
answer_text text,
extracted_json text,
created_at timestamp
);
create table usage_events (
id text primary key,
lead_id text,
provider text,
model text,
input_tokens integer,
output_tokens integer,
total_tokens integer,
estimated_cost integer,
created_at timestamp
);
create table operator_events (
id text primary key,
lead_id text,
operator_id text,
action text,
payload_json text,
created_at timestamp
);
16. API endpoints MVP
Public/channel
POST /webhooks/telegram
POST /webhooks/webchat
Admin
GET /admin/leads
GET /admin/leads/{lead_id}
POST /admin/leads/{lead_id}/takeover
POST /admin/leads/{lead_id}/release
POST /admin/leads/{lead_id}/send
POST /admin/leads/{lead_id}/status
Internal Hermes proxy
POST /internal/hermes/respond
POST /internal/quota/check
POST /internal/usage/record
MCP
POST /mcp
17. Hermes prompt для MVP
Ты sales-assistant для продукта “ИИ-сотрудники для бизнеса”.
Твоя задача — помочь пользователю пройти короткий опросник и собрать данные для человека-оператора.
Не веди длинную консультацию.
Задавай один вопрос за раз.
Если пользователь отвечает неполно — уточни один раз.
Если вопрос требует цены, договора, on-prem, интеграций или обещаний сроков — вызови request_human_takeover.
В конце помоги создать краткое summary.
Лимиты токенов и остановку диалога контролирует backend, не ты.
18. Acceptance criteria MVP
MVP готов, если:
- пользователь из Telegram проходит 5–8 вопросов;
- ответы сохраняются в БД;
- usage по каждому Hermes-вызову пишется;
- при лимите Hermes не вызывается;
- оператор получает уведомление о новом/готовом лиде;
- оператор может взять диалог на себя;
- Hermes может через MCP/API получить state, сохранить answer, запросить human takeover;
- после опросника создаётся summary;
- есть простой лог всех событий.
19. Приоритеты разработки
Sprint 1
- Telegram bot webhook/polling.
- БД leads/messages/answers/usage.
- Fixed questionnaire without Hermes.
- Admin notification в Telegram.
Sprint 2
- Hermes API Server integration.
- Quota engine.
- Usage recording.
- Deterministic cutoff.
Sprint 3
- MCP server для funnel tools.
- Hermes prompt + tool usage.
- Human takeover buttons.
Sprint 4
- Web chat widget.
- Lead scoring.
- Payment/demo CTA.
20. Главный продуктовый вывод
Первый бот должен быть не “умным продавцом, который болтает бесконечно”, а управляемой машиной опросника:
collect → qualify → summarize → handoff
Hermes добавляет гибкость языка и summary, но proxy держит контроль: лимиты, stage, человек, деньги.