После каждого звонка менеджер тратит 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+ внедрений.







