Разрабатываемые агенты представляют собой прототипы моделей, которые будут обучены, будут иметь достукп к данным заказчика (интеграции с CRM, мессенджерами или базами данных) и встроены в пайплайн продаж заказчика. Каждый из агентов выполнятет свою задачу:
Входные данные: используются в обоих агентах.
(Предпологается, что при реализации проекта, эти данные будут передаваться через интеграции с источниками заказчика.)
| Поле | Тип / Описание | Источник данных |
|---|---|---|
| lead_id | Уникальный идентификатор лида. | AmoCRM, Google‑таблица, webhook. |
| first_name / last_name | Имя и фамилия клиента. | Telegram/Instagram профиль или форма заявки. |
| lead_source | Откуда пришёл лид – «Instagram», «Telegram» или «Referral». | Тэг в CRM, параметр UTM‑метки. |
| last_message_days_ago | Кол‑во дней с последнего сообщения. | Считается по timestamp последнего входящего сообщения в диалоге с клиентом. |
| questionnaire_score | Оценка заполнения анкеты от 0 до 10. | Подсчитывается из формы (кол‑во вопросов, которые пользователь заполнил). |
| engagement_score | Суммарный балл активности (лайки + комментарии + просмотры). | Получается через API Instagram/Twitter/Telegram (метрика “interactions”). |
| budget_indicator | Флаг, указывающий готовность зайти на обучение/оплатить прямо сейчас. | Определяется по ключевым словам в анкете или отдельному чек‑боксу. |
| pain_points | Проблем, озвученных клиентом. | Текстовое поле анкеты → разбиваем запятыми. |
| desired_result | Что клиент хочет достичь. | Ответ в форме «цель проекта». |
Формула создана для наглядности, в реальном сценарии будет использоваться отдельная модель, вычисляющая индекс
score = 0
score += max(0, 20 - last_message_days_ago * 2) // свежесть общения (max 20)
score += questionnaire_score * 5 // полнота анкеты (0‑50)
score += min(engagement_score, 10) * 2 // активность (max 20)
if budget_indicator: score += 10 // готовность инвестировать
// Боли из массива «pain_points» повышают оценку
if "низкая конверсия вебинаров" in pain_points: score += 5
if "недостаток команды" in pain_points: score += 5
if "не хватает времени" in pain_points: score += 3
score = min(max(score, 0), 100) // ограничиваем 0‑100
readiness_score = round(score)
Только после вычисления `readiness_score` агент выбирает сценарий.
Agent A:
{
"lead_id": "...",
"readiness_score": <число>,
"scenario": "<cold|warm|high_interest>",
"message": "Текст сообщения, готовый к отправке в Telegram/Instagram."
}
Agent B:
{
"lead_id": "...",
"readiness_score": <число>,
"scenario": "<cold|warm|high_interest>",
"close_message": "Текст финального CTA‑сообщения (ссылка на оплату, таймер и т.д.)."
}