Перейти к содержанию
Панель

Обзор системы

Система автоматизированного взыскания задолженностей через Telegram для компании Технофінанс. Использует 20 Telegram userbot-аккаунтов (Pyrogram/MTProto), каждый из которых автономно ведёт переговоры с должниками при помощи Anthropic SDK с CLI fallback.

Что делает система

flowchart LR
    A[Импорт должников<br>из Excel] --> B[Автоматический<br>первый контакт]
    B --> C[AI-переговоры<br>через Telegram]
    C --> D{Результат}
    D -->|Оплата| E[Закрытие]
    D -->|Обещание| F[Follow-up мониторинг]
    D -->|Отказ / молчание| G[Повторный контакт<br>через N дней]
    D -->|Сложный случай| H[Эскалация<br>на оператора]

Ключевая идея -- полная автоматизация процесса взыскания: от первого контакта с должником до эскалации на живого оператора, с адаптивным поведением AI-агента в зависимости от уровня кампании и реакций клиента. Все диалоги ведутся на украинском языке.

Два отдела (departments)

Система распределяет клиентов по двум отделам в зависимости от поля campaign_type (из Excel-импорта) или дней просрочки (overdue_days).

Level 1 -- Стягнення простроченої заборгованості

Параметр Значение
Тон Жорсткий діловий. Кожне повідомлення -- крок до фіксації оплати
Підхід Перший контакт після купівлі боргу, з'ясування ситуації, розстрочка
Перший контакт 3 стилі (A/B/C) -- прямий, короткий, формальний
Follow-up 6-рівнева сходинкова ескалація
Кредитори ЄГроші, ТОП1, Фінмаркет, Технофінанс
Гарантійний платіж 500 грн

Заборонено

Слова співчуття: «розумію», «шкода», «непроста ситуація» -- категорично заборонені у level1.

Level 2 -- Досудове стягнення

Параметр Значение
Тон Жорсткий формальний. Факт боргу, юридичні наслідки, дедлайн
Підхід Ескалація після невдалого level1, тиск через юридичні наслідки
Правові посилання Стаття 625 ЦК, стаття 1050 ЦК, виконавче провадження
Тактика Мінімальні поступки, «керівництво чекає»

Основные компоненты

graph TB
    subgraph "Telegram Layer"
        AP["AccountPool<br>20 userbot-аккаунтов"]
        MS["MessageSender<br>Антибан-отправка"]
        AW["AccountWarmer<br>3-фазный прогрев"]
    end

    subgraph "AI Core"
        DM["DialogManager<br>Координатор диалогов"]
        AI["AIEngine<br>Anthropic SDK / CLI"]
        MM["MemoryManager<br>Персональная память"]
    end

    subgraph "Infrastructure"
        GOIP["4x GoIP16<br>SMS-шлюзы"]
        EMU["Android Emulator<br>Voice verification"]
        CELERY["Celery Workers<br>22 периодические задачи"]
    end

    subgraph "Management"
        API["FastAPI + React SPA<br>Веб-дашборд"]
        BOT["Admin Bot<br>aiogram 3.x"]
    end

    AP --> DM
    DM --> AI
    DM --> MM
    GOIP --> AP
    EMU --> AP
    CELERY --> DM

AI-движок

AIEngine работает в двух режимах:

Режим Когда используется Модель
Anthropic SDK (primary) ANTHROPIC_API_KEY задан claude-sonnet-4-6 с Adaptive Thinking
Claude CLI (fallback) API-ключ не задан subprocess с --output-format json

AI возвращает структурированный JSON:

{
  "response": "Текст ответа клиенту",
  "reaction": null,
  "reply_to": null,
  "actions": [
    {"type": "schedule_followup", "data": {"hours": 24, "reason": "..."}}
  ]
}

Доступные действия (tools): запись обещания оплаты, причина неоплаты, планирование follow-up, эскалация на оператора, отправка ссылки на оплату, обновление памяти, закрытие беседы, flash call.

Персональная память клиентов

Каждый клиент имеет отдельный JSON-файл в memories/. Состав:

  • profile -- имя, фамилия, телефон, язык
  • debt_info -- сумма долга, дни просрочки, кредитор, номер договора
  • payment_promises -- обещания оплаты (сумма, дата, статус)
  • risk_flags -- флаги риска (агрессия, угрозы)
  • key_moments -- важные факты, сохраняемые AI между беседами

Кросс-диалоговый контекст

При повторном контакте через другой аккаунт AI получает полный контекст всех предыдущих бесед: статусы, ключевые обмены, key_moments. Система различает «первый контакт» и «повторный контакт», адаптируя стратегию.

Антибан-стратегия

Система защищает аккаунты от блокировки по трём осям:

  1. Device Fingerprint -- 55+ устройств, 35+ версий Telegram, 12 языков. Назначается при регистрации, никогда не меняется
  2. Proxy-изоляция -- до 10 аккаунтов на 1 прокси, мобильные 4G-прокси CyberYozh
  3. Docker Worker Containers -- физическая изоляция процессов
  4. 3-фазный прогрев -- дни 1-2 (межботовый чат), дни 3-5 (roleplay), дни 6-7 (стандартная активность)

Жизненный цикл беседы

stateDiagram-v2
    [*] --> pending
    pending --> active: Первый контакт
    active --> waiting_response: Сообщение отправлено
    active --> promise_made: Клиент обещал оплату
    active --> escalated: Передано оператору
    waiting_response --> follow_up_scheduled: Планирование follow-up
    follow_up_scheduled --> active: Follow-up отправлен
    promise_made --> resolved: Оплата подтверждена
    active --> closed: close_conversation
    waiting_response --> closed: Исчерпаны попытки
    closed --> [*]
    resolved --> [*]

При закрытии с причиной unreachable или refused система автоматически планирует повторный контакт: до 3 попыток с эскалацией задержек (3/7/14 дней для unreachable, 5/10/21 для refused).

Юридическое лицо

Параметр Значение
Компания Технофінанс
ЄДРПОУ 43868852
IBAN UA713281680000026508000000184
Банк АТ КБ ПРИВАТБАНК
Географический фокус Украина (Europe/Kyiv, UAH)

Технологический стек

Компонент Технология
Telegram-клиенты Pyrogram (MTProto userbot)
AI-движок Anthropic SDK + Claude CLI fallback
База данных PostgreSQL 15 + pgvector + SQLAlchemy 2.0 async
Кэш/очередь Redis 7
Фоновые задачи Celery (22 задачи)
API-дашборд FastAPI + React 18 + TypeScript
Admin-бот aiogram 3.x
SMS-шлюзы 4x GoIP16
Мобильные прокси CyberYozh (LTE, Украина)
CI/CD GitHub Actions (6 jobs)