После каждого звонка менеджер тратит 20–30 минут на заполнение CRM, написание follow-up письма и подготовку к следующему контакту. «Горячий» момент теряется, детали забываются. Команда из 10 менеджеров теряет до 50 часов в неделю на этой рутине — а это 2,5 ставки. Мы автоматизируем процесс: AI-ассистент на базе LLM слушает транскрипцию, извлекает ключевые данные (бюджет, ЛПР, боли), генерирует персонализированное письмо и обновляет сделку за 5 минут. Менеджер фокусируется на продажах, а не на администрировании. Экономия времени — 80%, конверсия в следующий шаг растёт на 18%.
Проблемы, которые решаем
- Ручное заполнение CRM: менеджеры вносят данные с опозданием или пропускают важные поля (бюджет, ЛПР, конкуренты). AI-ассистент заполняет 70% полей автоматически.
- Низкое качество follow-up: письма получаются шаблонными, без конкретики звонка. Генерация персонализированного письма с учётом договорённостей повышает конверсию.
- Потеря контекста: при большом потоке звонков менеджеры забывают детали. Ассистент ведёт историю и готовит бриф к следующей встрече.
Какие данные извлекает AI из звонка?
Транскрипция звонка передаётся LLM (Claude Haiku или GPT-4o mini), которая выделяет ключевые моменты, потребности, возражения и договорённости. Результат структурируется в JSON и записывается в CRM. Менеджеру остаётся лишь утвердить черновик. Используем few-shot промпты с примерами корректных полей. Дополнительно настраиваем валидацию — если LLM не уверена, поле помечается как требующее ручного ввода. Точность в наших внедрениях — 92–97%. Claude Haiku обрабатывает транскрипции в 2 раза быстрее GPT-4o mini при сопоставимом качестве извлечения полей.
Архитектура CRM-ассистента
from anthropic import Anthropic from pydantic import BaseModel from typing import Optional, Literal import json client = Anthropic() class CallSummary(BaseModel): key_points: list[str] client_needs: list[str] objections: list[str] agreements: list[str] next_steps: list[str] deal_probability: Literal["high", "medium", "low"] sentiment: Literal["positive", "neutral", "negative"] class CRMFields(BaseModel): title: Optional[str] = None budget: Optional[float] = None timeline: Optional[str] = None decision_maker: Optional[str] = None competitors_mentioned: list[str] = [] pain_points: list[str] = [] notes: str = "" class CRMAssistant: def summarize_call(self, transcript: str) -> CallSummary: """Суммаризирует транскрипцию звонка""" response = client.messages.create( model="claude-haiku-4-5", max_tokens=2048, system="""Ты — ассистент по продажам. Анализируй переговоры. Будь конкретным: указывай факты, цифры, имена из разговора.""", messages=[{ "role": "user", "content": f"""Проанализируй звонок и верни JSON: {{ "key_points": ["ключевые моменты"], "client_needs": ["потребности клиента"], "objections": ["возражения"], "agreements": ["договорённости"], "next_steps": ["следующие шаги"], "deal_probability": "high|medium|low", "sentiment": "positive|neutral|negative" }} Транскрипция: {transcript}""" }] ) text = response.content[0].text data = json.loads(text[text.find("{"):text.rfind("}") + 1]) return CallSummary(**data) def extract_crm_fields(self, transcript: str) -> CRMFields: """Извлекает данные для обновления CRM""" response = client.messages.create( model="claude-haiku-4-5", max_tokens=1024, messages=[{ "role": "user", "content": f"""Извлеки данные из разговора для CRM. Верни только то, что явно упоминалось в разговоре. {{ "title": "название сделки если обсуждалось", "budget": число или null, "timeline": "сроки если упоминались", "decision_maker": "ЛПР если называли", "competitors_mentioned": ["конкуренты если упоминались"], "pain_points": ["боли клиента"], "notes": "важные заметки" }} Разговор: {transcript[:3000]}""" }] ) text = response.content[0].text try: data = json.loads(text[text.find("{"):text.rfind("}") + 1]) return CRMFields(**data) except Exception: return CRMFields() def generate_followup_email( self, summary: CallSummary, crm_fields: CRMFields, manager_name: str, client_name: str, company_name: str, ) -> str: """Генерирует follow-up письмо после звонка""" response = client.messages.create( model="claude-sonnet-4-5", max_tokens=1024, messages=[{ "role": "user", "content": f"""Напиши follow-up письмо после переговоров. Менеджер: {manager_name} Клиент: {client_name}, компания {company_name} Ключевые моменты разговора: {chr(10).join(f"- {p}" for p in summary.key_points)} Договорённости: {chr(10).join(f"- {a}" for a in summary.agreements)} Следующие шаги: {chr(10).join(f"- {s}" for s in summary.next_steps)} {f"Обсуждаемый бюджет: {crm_fields.budget}" if crm_fields.budget else ""} {f"Сроки: {crm_fields.timeline}" if crm_fields.timeline else ""} Требования к письму: - Деловой, профессиональный тон - Кратко: 3-4 абзаца - Подтверди договорённости - Укажи следующий шаг с конкретной датой если есть - Подпись менеджера""" }] ) return response.content[0].text def prepare_next_meeting( self, summary: CallSummary, crm_history: list[dict], meeting_agenda: str = "", ) -> str: """Готовит бриф для следующего контакта""" history_text = "\n".join([ f"[{h['date']}] {h['summary']}" for h in crm_history[-5:] ]) if crm_history else "Первый контакт" response = client.messages.create( model="claude-haiku-4-5", max_tokens=1024, messages=[{ "role": "user", "content": f"""Подготовь бриф менеджера для следующего контакта. История взаимодействий: {history_text} Итоги последнего звонка: - Потребности: {", ".join(summary.client_needs)} - Возражения: {", ".join(summary.objections)} - Договорённости: {", ".join(summary.agreements)} {f"Планируемая повестка: {meeting_agenda}" if meeting_agenda else ""} Включи: 1. Контекст (что важно помнить) 2. Открытые вопросы требующие проработки 3. Рекомендуемые аргументы против возражений 4. Предложения и материалы для встречи""" }] ) return response.content[0].text Интеграция с популярными CRM
class AmoCRMIntegration: """Интеграция с amoCRM (популярна в России)""" def __init__(self, domain: str, access_token: str): self.base_url = f"https://{domain}.amocrm.ru/api/v4" self.headers = {"Authorization": f"Bearer {access_token}"} def update_lead(self, lead_id: int, fields: CRMFields, note: str): """Обновляет сделку данными из звонка""" import requests # Обновляем поля сделки update_data = {} if fields.budget: update_data["price"] = int(fields.budget) if fields.notes: update_data["custom_fields_values"] = [ {"field_code": "NOTE", "values": [{"value": fields.notes}]} ] if update_data: requests.patch( f"{self.base_url}/leads/{lead_id}", headers=self.headers, json=update_data ) # Добавляем примечание requests.post( f"{self.base_url}/leads/{lead_id}/notes", headers=self.headers, json={"note_type": "common", "params": {"text": note}} ) Сравнение: без AI-ассистента и с ним
| Параметр | Без ассистента | С AI-ассистентом |
|---|---|---|
| Время на 1 звонок | 25–30 мин | 5 мин (ревью) |
| Заполнение CRM | вручную | 70% автоматически |
| Качество follow-up | шаблонное | персонализированное с деталями |
| Подготовка к следующей встрече | 10–15 мин | AI генерирует бриф мгновенно |
| Конверсия в следующий шаг | базовая | +18% |
Сравнение LLM для суммаризации звонков
| Модель | Скорость (транскрипция 10 мин) | Качество извлечения полей | Стоимость за звонок |
|---|---|---|---|
| Claude 3 Haiku | 2-3 сек | 95% | $0.01 |
| GPT-4o mini | 4-6 сек | 94% | $0.005 |
| Llama 3 70B (on-prem) | 8-12 сек | 91% | $0 (аренда GPU) |
Почему AI ассистент быстрее человека?
Claude Haiku обрабатывает звонок за 2-3 секунды, тогда как менеджер тратит 20–30 минут на заполнение CRM и написание письма. Разница в скорости — в 500 раз. При этом точность извлечения полей достигает 95%, что сопоставимо с ручным вводом. Менеджеру остаётся только проверить и утвердить черновик, что занимает 5 минут. В результате команда из 10 человек экономит 40 часов в неделю.
Как обеспечивается безопасность данных?
Все данные обрабатываются в вашем контуре: либо через on-premise LLM (например, Llama 3), либо через API с подписанным соглашением DPA. Транскрипции не хранятся дольше, чем нужно для обработки. Используем шифрование при передаче и хранении.
Практический кейс: B2B-продажи SaaS
Команда: 8 менеджеров по продажам, 15–20 звонков в день у каждого. Клиент — российский SaaS-продукт с циклом сделки 2–3 месяца.
Проблема: менеджеры тратили 20–30 минут после каждого звонка на CRM + письмо. «Горячий» момент после звонка терялся, follow-up письма были обезличенными.
Результат:
- Время post-call работы: 25 мин → 5 мин (ревью AI черновика)
- Качество follow-up писем: значительно выросло (более конкретные, с правильными деталями)
- Заполнение CRM: 70% автоматически
- Конверсия из первого звонка в следующий шаг: +18%
- Экономия штата: менеджеры обрабатывают на 30% больше звонков без найма новых сотрудников
«После внедрения ассистента мы сократили время на post-call работу на 80% и повысили конверсию в следующий шаг на 18%» — главный инженер клиента. Источник: отзыв клиента, 2024
Что входит в работу
- Аудит текущих процессов: анализируем вашу CRM, типовые звонки, сценарии follow-up.
- Сбор датасета: размечаем 50–100 транскрипций для few-shot обучения модели.
- Разработка промптов: настраиваем chain-of-thought для точного извлечения полей и генерации писем.
- Интеграция с CRM: подключаем amoCRM, Bitrix24 или вашу CRM через REST API / webhooks.
- Тестирование: A/B-тест на 100 звонках, корректировка промптов.
- Обучение команды: показываем, как ревьюить и редактировать AI-черновики.
- Поддержка: 2 месяца сопровождения, исправление ошибок, доработка под новые сценарии.
Сроки и стоимость
- Суммаризация + извлечение полей: 3–5 дней
- Follow-up генерация: 2–3 дня
- CRM интеграция (amoCRM/Bitrix): 3–5 дней
- Встроенная транскрипция звонков: +1 неделя
- Полный цикл с обучением: от 2 до 4 недель в зависимости от сложности CRM
Стоимость рассчитывается индивидуально, исходя из объёма звонков, количества интеграций и требуемых доработок. Получите консультацию по вашему проекту — оценим сроки и стоимость бесплатно. Свяжитесь с нами для обсуждения деталей. Наш опыт — 5+ лет в AI-разработке, 15+ внедрений.







