Hermes как sales funnel bot с лимитом токенов
Hermes как sales funnel bot с лимитом токенов
Навигация: RU лендинг и waitlist · Корпоративные AI агент-платформы · Wordstat: ИИ сотрудник
Задача
Перенастроить Hermes под воронку продаж, но жёстко ограничивать общение по лимиту токенов/стоимости на одного человека.
Принципиально: лимит нельзя “попросить модель соблюдать” только через системный промпт. Модель может ошибиться, а платёж уже случится. Жёсткий лимит должен жить снаружи LLM-вызова: в gateway/proxy/plugin/middleware.
Вывод
Лучший путь для MVP:
- Не давать Telegram/WhatsApp пользователю напрямую общаться с “чистым Hermes”.
- Поставить перед Hermes тонкий sales-funnel gateway/proxy.
- В gateway хранить состояние пользователя: stage, token budget, spent tokens, lead data, payment status.
- Перед каждым сообщением проверять лимит.
- Если лимит исчерпан — не вызывать Hermes вообще, а отправлять фиксированный paywall/CTA.
Вариант A — через Hermes API Server + внешний proxy
Hermes умеет работать как OpenAI-compatible API server.
Документация: https://hermes-agent.nousresearch.com/docs/user-guide/features/api-server
Включение:
API_SERVER_ENABLED=true
API_SERVER_KEY=change-me
API_SERVER_PORT=8642
hermes gateway
Дальше внешний backend делает:
Telegram / WhatsApp / сайт
→ sales-funnel backend
→ quota check по user_id
→ Hermes API Server /v1/runs или /v1/chat/completions
→ record usage
→ reply user
Плюсы:
- самый чистый продуктовый вариант;
- можно делать любой frontend;
- легко считать лимиты по user_id;
- легко добавить Stripe/ЮKassa/Robokassa;
- можно иметь разные воронки для разных каналов.
Минусы:
- нужно написать маленький backend.
Вариант B — Hermes plugin hook внутри gateway
Hermes поддерживает plugin hooks. Важные hooks:
pre_gateway_dispatch— сообщение пришло в gateway, до dispatch в агента; можно вернутьskip/rewrite/allow.pre_llm_call— перед LLM-вызовом.post_llm_call— после LLM-вызова.
Документация: https://hermes-agent.nousresearch.com/docs/user-guide/features/plugins
Идея:
pre_gateway_dispatchпроверяет лимит поplatform + chat_id/user_id.- Если лимит исчерпан — возвращает skip и отправляет paywall-сообщение.
post_llm_callпишет usage в SQLite.
Плюсы:
- можно оставить родной Telegram gateway Hermes;
- меньше внешней инфраструктуры.
Минусы:
- нужно аккуратно разобраться с plugin hook API и event shape;
- сложнее делать красивый product funnel;
- лимит по фактическим usage надо достать из post-LLM события/сессии.
Вариант C — custom platform adapter
Hermes позволяет добавлять platform adapter как plugin.
Документация: https://hermes-agent.nousresearch.com/docs/developer-guide/adding-platform-adapters
Архитектура:
Custom Telegram Sales Adapter
→ получает сообщения
→ проверяет CRM/quota/stage
→ если можно — self.handle_message(event)
→ если нельзя — send(paywall)
Плюсы:
- максимально нативно в Hermes;
- можно встроить funnel state прямо в adapter.
Минусы:
- больше разработки, чем внешний proxy.
Что считать лимитом
1. Лимит сообщений
Самый простой MVP:
free_messages: 5
paid_messages: unlimited_or_100
Плюс: легко объяснить пользователю.
Минус: стоимость сообщений разная.
2. Лимит токенов
Лучше для себестоимости:
free_input_tokens: 5000
free_output_tokens: 3000
free_total_tokens: 8000
Перед вызовом считаем примерный input tokens, после ответа сохраняем actual usage.
3. Лимит рублей/долларов
Лучший бизнес-лимит:
free_cost_rub: 15
trial_cost_rub: 100
Считать через модельные тарифы:
cost = input_tokens * input_price + output_tokens * output_price
Жёсткое поведение при лимите
Когда лимит исчерпан, backend/plugin не вызывает Hermes. Ответ фиксированный:
Лимит бесплатного диалога закончился.
Я уже понял вашу задачу и могу дальше собрать план внедрения.
Чтобы продолжить — оставьте заявку / оплатите доступ / забронируйте созвон.
Для sales funnel важно не просто “лимит закончился”, а переводить в следующий шаг:
- оставить телефон/email;
- получить PDF/бриф;
- записаться на demo;
- оплатить trial;
- перейти в Telegram/WhatsApp менеджеру.
Sales funnel state machine
Пример стадий:
stages:
new:
goal: понять роль/отдел/боль
max_messages: 2
qualification:
goal: собрать компанию, отдел, задачу, budget/timeline
max_messages: 4
value_demo:
goal: показать 1 конкретный сценарий агента
max_tokens: 3000
capture:
goal: email/phone/telegram
hard_stop_after: true
paid_or_demo:
goal: payment/demo booking
Что зашить в system prompt Hermes
Промпт нужен для воронки, но не для enforcement.
Пример:
Ты sales-assistant для продукта “ИИ-сотрудники для бизнеса”.
Твоя цель — квалифицировать лид, понять отдел и задачу, предложить 1-2 сценария внедрения и мягко довести до заявки/демо.
Не обещай on-prem/RBAC/интеграции как готовые, если пользователь явно не спрашивает; формулируй как beta/пилот.
Собирай: компания, отдел, задача, текущий процесс, желаемый результат, контакт.
Короткие ответы, без длинных лекций.
Но даже если модель захочет продолжить, gateway/proxy должен обрывать при лимите.
Минимальная схема базы
create table user_quota (
platform text,
user_id text,
stage text,
input_tokens integer default 0,
output_tokens integer default 0,
total_tokens integer default 0,
cost_cents integer default 0,
message_count integer default 0,
lead_captured boolean default false,
paid boolean default false,
created_at timestamp,
updated_at timestamp,
primary key(platform, user_id)
);
Рекомендация
Для быстрого product MVP:
- Включить Hermes API Server.
- Написать отдельный
sales-funnel-proxyна FastAPI/Node. - Telegram/сайт отправляют сообщения не в Hermes напрямую, а в proxy.
- Proxy считает quota и stage.
- После лимита proxy отправляет CTA без LLM-вызова.
- Hermes остаётся “мозгом”, но не контролирует billing/quota.
Для dogfood внутри текущего Hermes gateway можно потом сделать plugin hook, но для продаж лучше внешний proxy: проще, надёжнее, легче менять funnel и подключать оплату.