Что именно автоматизировать
Локальная расшифровка встреч полезна не как «диктофон с ИИ», а как управляемый конвейер: получить аудио, распознать речь, разделить реплики, извлечь решения и задачи, дать человеку проверить результат и только затем записать его в CRM или систему проектов.
Такой контур уместен для совещаний с коммерческими условиями, внутренними планами, персональными данными и техническими деталями, которые компания не хочет отправлять во внешний API. Но локальное размещение решает лишь вопрос маршрута данных. Ошибки распознавания, неверные подписи спикеров, сроки хранения и доступы остаются задачей архитектуры и процесса.
whisper.cpp предоставляет локальный C/C++-рантайм для моделей Whisper: поддерживает CPU, Apple Silicon, NVIDIA, AMD, Vulkan, OpenVINO и целочисленные квантизации. Это делает его удобным базовым слоем для офлайн-распознавания на имеющемся сервере или рабочей станции. Для слова «кто сказал» нужен отдельный компонент diarization; для более точной привязки слов ко времени — выравнивание.
Конвейер из семи этапов
1. **Запись и согласие.** Интерфейс явно показывает, что встреча записывается, кто владелец и зачем создаётся расшифровка. До пилота компания утверждает категории встреч, срок хранения и круг доступа.
2. **Приём аудио.** Файл попадает в закрытое хранилище по одноразовой ссылке или из утверждённой папки. Сохраняются контрольная сумма, источник, длительность и идентификатор встречи.
3. **Нормализация.** ffmpeg приводит дорожку к единому формату, частоте и числу каналов. Оригинал не перезаписывается, а производный файл получает собственную запись в журнале.
4. **Распознавание.** whisper.cpp или другой локальный ASR создаёт сегменты, текст и временные метки. Версии модели, квантизации и параметров фиксируются.
5. **Выравнивание и спикеры.** WhisperX может уточнять метки слов и подключать pyannote для diarization. Результат содержит условные метки Speaker 1/2, а не автоматически доказанные имена людей.
6. **Структурирование.** Языковая модель получает уже распознанный текст и формирует черновик: решения, задачи, сроки, риски и вопросы. Она не должна додумывать отсутствующие поля.
7. **Проверка и экспорт.** Секретарь встречи или владелец проекта слушает спорные фрагменты, исправляет имена и цифры, утверждает протокол. Только подтверждённые задачи отправляются во внешние системы.
Разделение этапов позволяет заменить модель, повторить только неудачную часть и понять источник ошибки. Монолитная кнопка «сделать протокол» скрывает, где именно возникло искажение.
Почему diarization — не идентификация личности
Speaker diarization отвечает на вопрос «какие отрезки принадлежат одному голосу», а не «как зовут человека». Назначение реального имени требует расписания встречи, представления участников, ручной разметки или отдельной биометрической процедуры с собственными основаниями и рисками.
pyannote.audio — открытый Python-инструментарий для diarization. Актуальная community-пайплайн может работать офлайн после принятия условий модели и предварительной загрузки файлов. Репозиторий также сообщает об опциональной телеметрии: перед эксплуатацией её настройки следует проверить и зафиксировать.
WhisperX прямо перечисляет ограничения: пересекающаяся речь обрабатывается плохо, diarization далека от идеала, для выравнивания нужен языковой фонемный модуль, а некоторые числа и символы могут не получить точной временной метки. Для русских встреч это означает обязательный тест на фамилиях, аббревиатурах, суммах, датах и отраслевой лексике.
Данные и инфраструктура
Для пилота достаточно одного изолированного сервера, объектного или файлового хранилища, очереди заданий и небольшой базы метаданных. GPU ускоряет большие модели и пакетную обработку, но whisper.cpp поддерживает CPU; выбор делают по допустимому времени готовности протокола, а не по максимальной скорости в демонстрации.
Хранить нужно раздельно:
- исходное аудио с самым коротким оправданным сроком;
- нормализованную дорожку как временный артефакт;
- черновую расшифровку и оценки уверенности;
- исправленный человеком протокол;
- журнал доступа, версий моделей и экспорта.
Права наследуются от встречи. Сотрудник, не имеющий доступа к записи, не должен находить её фрагменты через общий поиск или RAG. Ссылки на аудио делают короткоживущими, сервисы запускают без исходящего интернета, если он не нужен, а модельные файлы загружают и проверяют заранее.
Как оценивать качество
Одна метрика «процент точности» мало что говорит бизнесу. Нужны четыре группы проверок:
- текст: word error rate на размеченной выборке и отдельная точность имён, чисел, дат и терминов;
- спикеры: diarization error rate и доля реплик с верной меткой;
- протокол: полнота решений и задач, отсутствие выдуманных обязательств, корректность исполнителя и срока;
- операция: время готовности, доля ручных исправлений, стоимость часа аудио и число неудачных заданий.
Золотой набор собирают из 20–30 встреч разных типов: тихая переговорная, ноутбук в центре стола, удалённые участники, плохой микрофон, перебивания и смешение русского с английскими терминами. Чувствительные данные заменяют или размечают внутри защищённого контура.
Критичные поля проверяют строже общего текста. Ошибка в вводной фразе редко влияет на бизнес; неверная сумма, дата или исполнитель меняют обязательство. В интерфейсе спорные места связывают с аудиофрагментом и показывают для быстрой проверки.
Безопасность и ограничения
Расшифровка — производная копия разговора, которую легче искать и копировать, чем аудио. Поэтому доступ к тексту не должен быть шире доступа к записи. Индексацию в корпоративном RAG включают только после утверждения протокола и с теми же ACL.
Автоматическое резюме рассматривается как черновик. Модель может объединить разные обсуждения, приписать решение не тому человеку или превратить предположение в обещание. Экспорт в CRM, календарь и трекер задач проходит через строгую схему и подтверждение владельца встречи.
Нельзя обещать идеальное разделение голосов при перебиваниях и шуме. Если цель — юридически значимая фиксация, кадровое решение или контроль качества с высокими последствиями, требуется отдельная процедура и экспертная проверка; обычный meeting assistant для этого недостаточен.
Модельная экономика
Допустим, 20 сотрудников проводят в сумме 120 часов встреч в месяц. Ручной протокол занимает ещё 15 минут на каждый час аудио — 30 часов. После внедрения проверка черновика занимает 6 минут на час, то есть 12 часов. Высвобождается 18 часов.
При полной стоимости часа 1 500 рублей ресурсный эффект равен 27 000 рублей в месяц. Дополнительный эффект появляется, если задачи реже теряются: допустим, предотвращение двух пропущенных действий экономит ещё 40 000 рублей. Поддержка сервера и контроль качества стоят 25 000 рублей; модельный чистый эффект — 42 000 рублей. При внедрении за 420 000 рублей простой срок окупаемости — десять месяцев.
Это пример. Если встречи короткие, протоколы не используются или сотрудники всё равно пересматривают запись целиком, экономика не сойдётся. В пилоте нужно измерять фактическое время проверки и ценность подтверждённых действий.
Пилот на две недели
В первую неделю выберите один тип встреч и десять записей. Зафиксируйте правила согласия и хранения, разверните ASR без внешнего доступа, сравните две модели или квантизации и разметьте ошибки по именам, цифрам и спикерам.
Во вторую неделю добавьте черновик протокола, но запретите автоматическую запись во внешние системы. Владелец встречи утверждает решения и задачи, а команда измеряет время проверки, полноту и число опасных ошибок.
Масштабировать стоит только при трёх условиях: текст достаточно точен на реальном звуке, ответственный человек действительно экономит время, а права и сроки удаления проверены. Локальная расшифровка становится бизнес-инструментом не тогда, когда распознала все слова, а когда надёжно доставила подтверждённые решения тем, кому они нужны.
