
Если вы читаете эту статью спустя год после её написания, смело закрывайте и не тратьте своё время, актуальность потеряна. Всё самое интересное поместил в третью часть, доскроллы наше все. И да, статья написана не без помощи AI.
Увлекательные истории происходят сегодня на IT ландшафте повседневности и быта бизнеса. Рябь сменилась крупными волнами, и открылось окно возможностей даже для небольших компаний, чтобы оседлать волну, догнать или даже перегнать лидеров рынка – конкурентов в своём отраслевом водоёме, не без помощи AI, конечно. Давайте порассуждаем, отметим тенденции текущего этапа развития индустрии с AI, не вдаваясь в разбор мелких деталей. Хотите узнать чем занимаются ваши конкуренты прямо сейчас, в это время, что внедряют и какие для этого сценарии используют?
Что происходит прямо сейчас? Все, что перед нами разворачивается именно в эти дни, напоминает сцену из фильма “Голодные игры”, тот момент, когда люди выбирают инвентарь и оружие, предназначенное для выживания и взаимного уничтожения. Под оружием и инвентарем я подразумеваю AI в виде LLM доступных и эффективных. И вот представьте себе, что все компании получили безвозмездно кольт с неограниченным запасом патронов. При этом, часть компаний до этого момента уже закупилась в кредит по рынку винчестерами с боекомплектом для целенаправленного отстрела конкурентов. А сейчас оружие в руках у всех, даже у тех, кто его не желал. И кто-то такой из толпы, - “Смотрите как удобно рукояткой кольта колоть грецкие орехи!” А другой, в это же время, молча зарядив кольт начинает целиться ему в голову. И то как наша история имеет временной раздел до нашей эры и после, так и приход LLM проводит жирную временную черту бизнесу до и после. И уже слышны звуки первых выстрелов.
Оставим лирику и перейдем к конкретике. Как у себя в бизнесе применить LLM, повысив свою конкурентоспособность? Рассмотрим рецепты приготовления LLM, один простой, другой посложнее, третий - интересный. Мы делаем акцент на open source для развертывания у себя в компании своими силами.
Первая смесь OCR+LLM = умный документооборот
Для этого нам понадобится “старая” и как бритва отточенная технология OCR. Берем на свое усмотрение и производительность любой популярный open source, да хоть PaddleOCR или DocTR, добавляем LLM, взять хотя бы Mistral 7B или Llama 3 8B или Phi-3. Получаем умный документооборот в компании.
Как это работает? На первом шаге, все бумажные документы прогоняются через сканер в картинку (сканирование в сетевую папку – “одно” нажатие кнопки). Если документы уже в электронном виде, сразу направляем их на OCR агента. На втором шаге, OCR агент перегоняет их в форматированный текст. На третьем этапе LLM агент вытряхивает из текста все важные метрики. Результаты такой работы в примерах ниже.
json для счёта (Invoice)
{
"document_type": "Счет на оплату",
"document_number": "INV-2023-01789",
"document_date": "2025-07-15",
"seller": {
"name": "ООО 'ТехноПоставка'",
"inn": "7701123456",
"kpp": "770101001",
"address": "г. Москва, ул. Промышленная, д. 42"
},
"buyer": {
"name": "АО 'РозничнаяСеть'",
"inn": "7706987654",
"kpp": "770601001"
},
"total_amount": 125450.00,
"currency": "RUB",
"vat_rate": 20.0,
"vat_amount": 20908.33,
"amount_without_vat": 104541.67,
"payment_due_date": "2025-08-05",
"items": [
{
"name": "Сетевое оборудование L3-коммутатор",
"quantity": 2,
"unit": "шт.",
"unit_price": 45200.00
},
{
"name": "Монтажные работы",
"quantity": 1,
"unit": "усл.",
"unit_price": 35050.00
}
],
"metadata": {
"confidence": 0.96,
"source_file": "scan_inv_20230715.jpg",
"processing_time": "2025-06-11T14:22:18Z"
}
}
json для договора (Contract)
{
"document_type": "Договор поставки",
"document_number": "Д-45/2025-П",
"document_date": "2025-06-01",
"effective_date": "2025-06-10",
"expiration_date": "2026-06-09",
"parties": [
{
"name": "ООО 'ПоставщикПлюс'",
"role": "Поставщик",
"signatory": "Петров Иван Сергеевич"
},
{
"name": "ЗАО 'ПромПокупатель'",
"role": "Покупатель",
"signatory": "Сидорова Мария Владимировна"
}
],
"contract_subject": "Поставка промышленных подшипников",
"total_amount": 875000.00,
"currency": "RUB",
"payment_terms": "30% аванс, 70% в течение 10 дней после поставки",
"delivery_terms": "DDP склад покупателя (г. Екатеринбург)",
"special_conditions": "Гарантийный срок - 18 месяцев",
"attachments": ["Спецификация №1 от 01.06.2025"],
"metadata": {
"confidence": 0.93,
"pages": 8,
"source_file": "contract_2025-45_signed.pdf"
}
}
json для накладной (Waybill)
{
"document_type": "Товарная накладная (ТОРГ-12)",
"document_number": "ТН-0003782",
"document_date": "2025-06-10",
"sender": {
"name": "ООО 'Складские Решения'",
"address": "Московская обл., г. Люберцы, промзона Юго-Восточная"
},
"receiver": {
"name": "ИП Смирнов А.В.",
"address": "г. Москва, ул. Торговая, д. 15, павильон 42"
},
"goods": [
{
"product_id": "PK-7842",
"name": "Кресло офисное Ergoline Comfort",
"quantity": 3,
"unit": "шт.",
"weight": 18.7,
"gross_weight": 22.5
},
{
"product_id": "DS-9015",
"name": "Стол письменный Executive 160x80",
"quantity": 2,
"unit": "шт.",
"weight": 32.4,
"gross_weight": 35.8
}
],
"total_items": 5,
"total_weight": 145.2,
"vehicle_info": "ГАЗель NEXT (гос. номер А123БВ777)",
"driver": "Иванов Сергей Петрович",
"metadata": {
"confidence": 0.98,
"source_file": "waybill_10062025_scan.tiff"
}
}
json для письма (Official Letter)
{
"document_type": "Официальное письмо",
"outgoing_number": "Исх-05/2025",
"date": "2025-06-05",
"sender": {
"organization": "Департамент городского хозяйства",
"department": "Отдел инфраструктурных проектов",
"contact_person": "Козлов А.Д."
},
"receiver": {
"organization": "ООО 'Городские Сети'",
"contact_person": "Генеральному директору Новикову П.Р."
},
"subject": "О согласовании сроков ремонтных работ",
"reference_number": "Вх-247/2025 от 28.05.2025",
"key_content": "Согласование переноса сроков реконструкции тепловых сетей на ул. Центральной с 15.06.2025 на 05.07.2025",
"action_required": "Подписание доп. соглашения до 12.06.2025",
"attachments": ["Проект доп. соглашения №3", "График работ"],
"metadata": {
"confidence": 0.91,
"letterhead_detected": true,
"stamp_detected": true,
"signature_detected": true
}
}
Ключевые особенности структуры:
Типизация документов
Полеdocument_type
явно указывает тип документа (счёт, договор и т.д.)Иерархические сущности
Вложенные объекты для sender/receiver, товарных позиций-
Нормализация форматов
Даты в ISO 8601 (
YYYY-MM-DD
)Суммы как числа (не строки)
Коды валют по стандарту ISO 4217
-
Контекстные поля
contract_subject
для договоровkey_content
для писемspecial_conditions
для особых условий
-
Метаданные обработки
Уровень распознавания (confidence)
Исходный файл
Технические детали обработки
Обработка списков
Массивы для товарных позиций, приложений, сторон договораОпциональные поля
Поля могут отсутствовать, если информация не найдена в документе
Чтобы называть документооборот умным, возьмём из текста ещё дополнительные метрики
дополнительно к счету (Invoice)
{
... (основные поля) ...,
"analytics": {
"payment_risk_score": 0.65, // Вероятность просрочки платежа (0-1)
"anomalies": [
"vat_mismatch", // Расхождение в расчетах НДС
"duplicate_charges" // Дублирующиеся позиции
],
"sentiment": {
"urgency": "high", // Срочность оплаты
"late_fee_mentioned": true // Упоминание штрафов
},
"vendor_relationship": "recurring" // recurring/new/terminating
}
}
дополнительно к договору (Contract)
{
... (основные поля) ...,
"analytics": {
"risk_assessment": {
"unbalanced_liabilities": true, // Дисбаланс обязательств
"penalty_clauses": 3, // Количество штрафных пунктов
"termination_risk": "medium" // Риск расторжения
},
"compliance_issues": [
"missing_force_majeure", // Отсутствие форс-мажора
"ambiguous_terms" // Неоднозначные формулировки
],
"financial_impact": {
"potential_penalties": 250000, // Возможные штрафы
"renewal_obligations": true // Автопродление
}
}
}
дополнительно к письму (Letter)
{
... (основные поля) ...,
"analytics": {
"sentiment_analysis": {
"tone": "negative", // Тон письма
"urgency_level": "high", // Уровень срочности
"complaint_type": "service_quality" // Тип претензии
},
"relationship_indicators": {
"escalation_risk": 0.8, // Риск эскалации
"loyalty_threat": true // Угроза прекращения отношений
},
"action_priority": "critical", // Приоритет обработки
"legal_threat_indicators": [
"contract_breach_mentioned", // Упоминание нарушения
"litigation_hinted" // Намек на судебное разбирательство
]
}
}
дополнительно к накладной (Waybill)
{
... (основные поля) ...,
"analytics": {
"discrepancy_flags": {
"quantity_mismatch": true, // Расхождение количеств
"damage_reported": false // Повреждения товара
},
"logistics_risk": {
"delivery_delay": "significant", // Задержка доставки
"storage_requirements": "violated" // Нарушение условий хранения
},
"completeness_score": 0.92 // Полнота данных (0-1)
}
}
дополнительно к претензии (Complaint)
{
"document_type": "Рекламация",
"reference_number": "COMP-2025-089",
"date": "2025-06-08",
"complainant": "ООО 'ТехноСервис'",
"respondent": "ЗАО 'ПромКомплект'",
"incident_date": "2025-05-25",
"nature_of_complaint": "Несоответствие качества товара",
"requested_resolution": "Возврат средств",
"deadline_response": "2025-06-15",
"analytics": {
"severity_level": "high", // Серьезность претензии
"financial_impact": 120700.00, // Сумма ущерба
"repetitive_issue": true, // Повторяющаяся проблема
"evidence_strength": "strong", // Качество доказательств
"reputation_risk": "critical" // Риск для репутации
}
}
дополнительные аналитические метрики для всех документов
{
"compliance_metadata": {
"gdpr_risks": ["personal_data_exposed"], // Риски GDPR
"retention_requirements": "3 years" // Срок хранения
},
"linguistic_analysis": {
"ambiguity_score": 0.35, // Уровень неоднозначности (0-1)
"complexity_level": "high" // Сложность языка
},
"version_control": {
"is_amendment": true, // Является изменением
"base_document": "Д-45/2025-П" // Основной документ
},
"negotiation_insights": {
"concession_indicators": ["price_adjustment"], // Уступки
"pressure_tactics": ["deadline_threat"] // Тактики давления
}
}
Пояснение к метрикам:
-
Риск-ориентированные:
payment_risk_score
- прогноз просрочки платежаtermination_risk
- вероятность расторжения договораescalation_risk
- риск перехода конфликта на новый уровень
-
Семантические:
tone
- эмоциональная окраска (negative/neutral/positive)urgency_level
- срочность реакции (low/medium/high/critical)complaint_type
- классификация претензии
-
Юридические:
compliance_issues
- отсутствие обязательных пунктовlegal_threat_indicators
- признаки возможного судебного спораpenalty_clauses
- количество упоминаний санкций
-
Операционные:
discrepancy_flags
- расхождения в данныхcompleteness_score
- полнота информацииrepetitive_issue
- повторяющаяся проблема
-
Бизнес-отношения:
vendor_relationship
- статус отношений с контрагентомloyalty_threat
- признаки возможного разрыва отношенийnegotiation_insights
- анализ переговорной тактики
Такие метрики превращают простое извлечение данных в мощный инструмент аналитики, позволяя:
Автоматически приоритизировать обработку документов
Выявлять скрытые риски и возможности
Прогнозировать поведение контрагентов
Оптимизировать юридические и финансовые процессы
Анализировать тональность коммуникаций
Осталось загнать документы и метрики в базу данных документооборота компании. На основании умных метрик создаем, по необходимости, задачи для связанных с документами сотрудников. И отправляем аналитику в виде отчёта по умным метрикам и задачам, связанных с ними, главному документооборотчику всея департаментов вашей корпорации или выводим статистику на dashboard.
Второй рецепт STT+LLM
Здесь мы будем перегонять записи всех телефонных разговоров наших сотрудников с клиентами и контрагентами в форматированный текст (по ролям как в сценарии) и прокачивать CRM, SRM, HelpDesk, ServiceDesk или ещё какие мышцы вашей компании, использующие голосовые данные.
Вот как могла бы работать система Real-Time LLM Coach для менеджеров с применением live-анализ диалога. Технологический стек: ASR (Whisper) → Streaming NLP-пайплайн → RAG (база знаний) → Генерация подсказок → UI-интерфейс менеджера.
Интерфейс менеджера во время звонка
[КЛИЕНТ]: "Я подумываю перейти в MegaSignal из-за их безлимита..."
┌──────────────────────────────────────────────────────┐
│ **СИСТЕМА ПОДСКАЗОК (Live AI)**
├──────────────────────────────────────────────────────┤
│ ⚠️ Обнаружена угроза оттока!
│
│ ? **Конкурент:** MegaSignal
│ ▪️ Их безлимит: 40 ГБ за 1200₽/мес
│ ▪️ Наш аналог: "Без границ" (60 ГБ за 1100₽)
│ ▪️ Слабые стороны конкурента: Роуминг +30% цены
│
│ ? **Скрипт ответа:**
│ "Понимаю ваш интерес! У нас тоже есть безлимит,
│ но с роумингом в 20 странах без доплат. Кстати,
│ если расскажете, что для вас важнее - объем или
│ покрытие, подберу персональный вариант..."
│
│ ❗ **Уточните:**
│ "Какие страны посещаете чаще?"
└──────────────────────────────────────────────────────┘
Как это работает технически
-
Live-транскрипция
Whisper обрабатывает аудио поток с задержкой <1.5 сек
Текст сегментируется по говорящим (по раздельным каналам диаризация на лету)
-
Контекстный анализ
# Псевдокод обработки if detect_keywords("конкурент, перейти, MegaSignal"): trigger_competitive_response() if client_sentiment == "FRUSTRATED" and duration > 120s: suggest_escalation_protocol()
-
Поиск в RAG (Retrieval-Augmented Generation)
Векторный поиск по:
• Историческим диалогам с этим клиентом
• Успешным кейсам удержания
• Базе знаний о конкурентахПример запроса:
«Аналогичные случаи оттока + позиционирование против MegaSignal»
-
Генерация подсказок
LLM создает советы в формате:{ "priority": "CRITICAL", "type": "competitive_response", "advice": "Акцентировать преимущество в роуминге", "verbatim_suggestions": ["Фраза 1", "Фраза 2"] }
Ключевые типы подсказок
-
Стратегия перехвата инициативы
Триггер: Клиент упоминает конкурента
Действие: Показ сравнения + генерация УТП
Данные: Цены/условия 10+ операторов из базы
-
Детектор скрытых возражений
Клиент: "Мне нужно подумать..." ──────────────────────────────── AI: ❗ Анализ тональности: 87% неуверенность ? Предложите тестовый период!
-
Персонализация на лету
Пример:
«Клиент в 2023 жаловался на связь в поездках →
Предложить пакет "Европа Плюс" со скидкой 20%»
-
Эмоциональный навигатор
Шкала настроения клиента в реальном времени:
[? ███▁▁▁▁▁ 30%] → [? █████▁▁ 60%] после предложения
Рекомендации: "Снизить темп речи", "Использовать эмпатийные формулы"
-
Технический ассистент
Авто-проверка анкетных данных:
«У клиента неактуальный email → Уточните для отправки офера»
Дополнительные возможности
Голосовые подсказки: Шепот в гарнитуру менеджера через TTS
Авто-документирование: Формирование итогов разговора в CRM по окончании звонка
Прогностика следующего шага:
AI: «Через 2 мин клиент спросит о гарантиях → Готовьте слайд №7»
Такая система превращает каждого менеджера в «супер-агента» с коллективным опытом всей компании, снижая зависимость от человеческого фактора и ускоряя принятие решений. Есть реализованные подобные кейсы, например Deutsche Telekom и Cognigy AI.
Голосовые агенты TTS+LLM
На мой взгляд, тема CRM, SRM в купе с LLM уже заезжена, перешагиваем и переходим прямо к голосовым агентам.

Сразу хочу обозначить свою морально-этическую позицию. Если клиент не заказывал и не ждёт от вас звонка, значит не нужно его беспокоить звонком, спамом, СМС. Другое дело, если клиент звонит вам сам. Но я не считаю аморальным звонить своим конкурентам, проверять их уровень сервиса, цен, загруженности, акции и прочие открытые всем данные и сравнивать со своими возможностями. Вот для этих целей, неплохо бы иметь голосового агента, который может с утра до вечера мониторить конкурентную обстановку в заданном сегменте рынка. И, если подобный голосовой агент конкурентов позвонит нам, не плохо было бы его встретить своим голосовым агентом с "полезной" для него информацией.
Вы замечали, с голосовыми агентами что-то не так? Это связано с тем, что голосовые движки созрели, а вот мозги отстают. Алгоритмы ведения разговора это слабое звено технологии. И вот тут у нас с вами самое настоящие окно возможностей, есть месяцев двенадцать до того как рынок наводнят предложениями крупных IT рыб и телеком-компаний. Попробуем сами прикрутить LLM к голосовому движку. Внутренний голос мне подсказывает, что в связке LLM+TTS не хватает внутреннего голоса (простите за тавтологию). Предлагаю решение с внутренним голосом - с двумя LLM в тандеме, где одна выступает как "стратег", а вторая как "тактик". Это создаст более естественные и адаптивные диалоги.

1. LLM Стратег (Аналитик-контроллер)
Роль: Следит за глобальной целью, анализирует прогресс
Модель: Llama 3 70B + Russian fine-tuning
-
Функции:
Отслеживание ключевых параметров (цена, сроки, условия)
Анализ эмоционального тона собеседника
Генерация тактических подсказок для "тактика"
Принятие решений о завершении диалога
-
Пример промпта:
"Ты стратег call-центра. Цель: узнать цену доставки воды. Текущий статус: клиент упомянул '300 руб' но не уточнил объем. Сгенерируй 1-2 ключевых пункта для тактика на основе: {history}, {emotion_score}, {missing_data}"
2. LLM Тактик (Диалоговый агент)
Роль: Ведение естественной беседы
Модель: Mistral 7B + Russian conversational fine-tuning
-
Функции:
Генерация человеческих ответов
Обработка неожиданных реплик
Создание естественных пауз и междометий
Адаптация под стиль собеседника
-
Пример промпта:
"Ты оператор 'АкваСервис'. Веди диалог естественно. Ключевые пункты от стратега: {strategy_points}. История: {history}. Реплика клиента: {input}"
3. Система мониторинга (Memory Manager)
-
Хранит структурированные данные в формате:
{ "competitor": "Вода+", "parameters": { "price": null, "delivery_time": "утром", "discount": "нет" }, "conversation_score": 0.82, "emotional_tone": "раздраженный" }
Использует векторные базы (ChromaDB) для сравнения диалогов
Рабочий процесс в реальности
Сценарий звонка в офис конкурента:
[Звонок соединяется]
LLM Тактик: "Добрый день! Беспокоит Ирина из логистического отдела. Подскажите,
а вы осуществляете срочную доставку воды сегодня вечером?"
Менеджер: "Да, но только по предоплате"
[LLM Стратег анализирует: подтверждена доставка, но нет цены.
Генерирует тактическую подсказку: "Уточнить стоимость 5 бутылей"]
LLM Тактик: "Отлично! А если мне нужно 5 бутылей по 19л к 18:00,
это сколько будет стоить с учетом доставки?"
Менеджер: "Эээ... посчитаю... 2500 рублей"
[LLM Стратег фиксирует цену, обнаруживает колебание в голосе,
предлагает: "Спросить про скидки на следующий заказ"]
LLM Тактик: "Спасибо! А если я буду заказывать регулярно,
у вас есть система скидок?"
Ключевые преимущества системы
-
Естественность диалога:
Тактик генерирует паузы ("эээ", "ммм")
Адаптирует темп речи под собеседника
Использует разговорные конструкции
-
Контроль сценария:
Стратег блокирует уход от темы
Автоматическое возвращение к ключевым вопросам
Эскалация при агрессии ("Переключи на вежливый шаблон №3")
-
Аналитика в реальном времени:
# Пример кода анализа тональности def analyze_emotion(text): return llm_strateg(f"Оцени тон 0-1: {text}").emotion_score if analyze_emotion(last_response) > 0.8: llm_tactic.apply_template("calming_response")
Техническая реализация
Стек технологий:
Оркестрация: LangChain + Celery
-
Модели:
Стратег: Llama 3 70B (4-bit квантование)
Тактик: Mistral 7B (8-bit)
Кеширование: Redis для хранения состояний диалогов
Аналитика: реальные дашборды в Grafana
Пример кода взаимодействия:
from langchain_core.prompts import ChatPromptTemplate
strateg_prompt = ChatPromptTemplate.from_template(
"Анализируй диалог: {history}. Цель: {goal}. "
"Сгенерируй 3 тактические рекомендации"
)
tactic_prompt = ChatPromptTemplate.from_template(
"Веди диалог естественно. Рекомендации: {advice}. "
"Речь клиента: {input}. Ответь кратко (до 15 слов)"
)
def generate_response(user_input, history, goal):
advice = llm_strateg.invoke(strateg_prompt.format(history=history, goal=goal))
return llm_tactic.invoke(tactic_prompt.format(advice=advice, input=user_input))
Риски и решения
-
Задержки ответа:
Кеширование частых реплик
Оптимизация через TensorRT-LLM
Локальные маленькие модели для простых ответов
-
Обнаружение ботами:
Добавление фонового шума
Переменная скорость речи
"Ошибки" произношения (RHVoice с настройкой RandomPitch)
Такая система требует больше ресурсов, но дает качественно новый уровень взаимодействия. Для старта можно использовать quantized-модели на CPU. Alibaba’s Tongyi (2024):Обрабатывает 50M+ звонков/месяц. Особенность: Иерархия моделей, где «супервайзер» (Qwen-72B) корректирует ответы мелких моделей в реальном времени.
Ограничения и барьеры внедрения
-
Задержки:
Ответы >3 сек. убивают диалог. Решение:Квантование моделей (GGUF 5-bit)
Предгенерация шаблонных ответов
Детский фокус с угадыванием серии карточек.
-
Обнаружение:
Конкуренты используют детекторы ботов (например, Pindrop). Обход:Вставка «естественного» дыхания в аудиопоток
Рандомизация интонаций через Silero TTS
Перспектива
Такие системы появятся массово в самое ближайшее время. Этот стек немного опережает рынок, и требуется его доработка:
Заменить Vosk на Stormer-CTC для точности 98%
Добавить фильтр ложных срабатываний через MiniCPM (2B параметров)
Внедрить «этический слой»: автоматическую проверку ответов на соответствие ФЗ
Для старта MVP на базе Mistral 7B + Whisper.cpp — можно достичь результата за пару, тройку недель разработки.
Kahelman
Все это было бы прекрасно если бы не косячило налево и направо. Пока это не кольт а пищаль, которую заряжать заколебешься, а когда надо. То порох отсырел. Да и пуля летит куда хочет а не куда надо.
Так что старая добрая абордажная сабля/шпага выглядит надежнее.
Sly_tom_cat
Тут где-то рядом была другая ассоциация: нерадивый джун, умеющий быстро гуглить, которого десяток раз нужно носом ткнуть в косяки и он наконец сделает то, что самому было сделать в 2 раза быстрее.