Техническая документация
Agent A – закрытие на диагностику | Agent B – «дожим» сделки

Общая концепция и место в системе

Разрабатываемые агенты представляют собой прототипы моделей, которые будут обучены, будут иметь достукп к данным заказчика (интеграции с 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Что клиент хочет достичь.Ответ в форме «цель проекта».

Расчёт индекса готовности («readiness_score»)

Формула создана для наглядности, в реальном сценарии будет использоваться отдельная модель, вычисляющая индекс

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‑сообщения (ссылка на оплату, таймер и т.д.)."
}