Как превратить запись встречи в задачи
Одной расшифровки мало. Полезный продукт должен провести разговор через несколько независимых этапов и вернуть результат туда, где команда уже работает.
TL;DR
• Каждый этап должен быть повторяемым и наблюдаемым
• Длинное аудио обрабатывается в фоне, а не внутри одного HTTP-запроса
• Резюме не заменяет исходный текст и таймкоды
• Последний шаг — доставка результата в рабочий процесс
Проблема не в записи
Записать встречу сегодня несложно. Телефон, компьютер или браузер сохранят аудио. Настоящая проблема начинается после: часовой файл лежит в папке, никто не хочет переслушивать его целиком, а важные решения всё равно остаются в памяти участников.
Поэтому полезность системы определяется не качеством кнопки «Записать», а тем, насколько надёжно она превращает неструктурированный разговор в проверяемые действия.
Расшифровка отвечает на вопрос «что было сказано». Рабочая система должна ответить ещё на два: «что решили» и «что теперь делать».
Этап 1. Принять аудио и не потерять его
Клиентское приложение не должно держать длинное соединение, пока сервер обрабатывает запись. Оно загружает файл, получает идентификатор задачи и дальше отслеживает состояние: загружено, подготовка, распознавание, резюме, готово или ошибка.
Сам файл разумно отправлять напрямую в объектное хранилище по временной подписанной ссылке. API при этом управляет правами и метаданными, но не становится узким местом для гигабайтов аудио.
Этап 2. Подготовить звук
Записи приходят в разных форматах, с разной громкостью и количеством каналов. Перед распознаванием их нужно привести к предсказуемому виду: нормализовать, при необходимости преобразовать частоту дискретизации и проверить длительность.
Подготовка кажется технической мелочью, но именно здесь отсекаются повреждённые файлы и большая часть труднообъяснимых ошибок следующих этапов.
Этап 3. Распознать речь и сохранить таймкоды
Для русской речи мы используем GigaAM-v3 как основную модель, а Whisper — как резервный вариант для отдельных сценариев. Важно хранить не только итоговый текст, но и сегменты с временными границами.
Таймкоды позволяют открыть исходный фрагмент из поиска, проверить спорную формулировку и позже пересобрать текст без повторного распознавания всего файла.
AI-резюме должно быть проверяемым. Ссылка от вывода модели к исходной реплике важнее ещё одного красивого абзаца.
Этап 4. Понять, кто говорил
Диаризация делит аудио на голоса и связывает сегменты с условными спикерами. Это отдельная задача: модель распознавания отвечает за слова, а модель диаризации — за границы голосов.
Автоматическая подпись «Спикер 1» уже полезна, но продукт должен позволять пользователю один раз указать имя и применить его ко всем репликам. Здесь интерфейс исправления важен не меньше точности модели.
Этап 5. Получить структуру, а не пересказ
Большой текст отправляется в языковую модель с конкретной схемой результата: тема, решения, риски, вопросы без ответа и задачи. Для каждой задачи нужны формулировка, ответственный и срок — если они действительно прозвучали.
Модель не должна придумывать отсутствующие данные. Если срок не назван, система пишет «не указан», а не подставляет удобную дату. Такой результат менее эффектен на демо, зато ему можно доверять.
Этап 6. Вернуть результат в работу
Даже хорошее резюме быстро станет ещё одним архивом, если за ним нужно специально заходить. Поэтому последняя часть конвейера — интеграция: добавить итог звонка в таймлайн сделки Битрикс24, создать задачи или отправить ответственному уведомление.
Именно здесь AI-функция становится частью процесса. Человек продолжает работать в привычной CRM, а система незаметно убирает ручной конспект и перенос договорённостей.
Надёжность конвейера
Главный вывод
Ценность создаёт не отдельная AI-модель, а весь маршрут данных. Если загрузка нестабильна, пользователь не дождётся распознавания. Если нет таймкодов, он не доверяет резюме. Если результат не попал в CRM, задачи снова придётся переносить вручную.
Хорошая архитектура делает каждый этап заменяемым. Можно улучшить модель распознавания, поменять LLM или добавить новую интеграцию, не пересобирая продукт целиком.
Посмотреть реализацию
В кейсе Verba показаны архитектура, клиентские приложения, интерфейс и технические решения такого конвейера.