Знакомая сцена. Идёт созвон, и на десятой минуте кто-то говорит: «Подождите, мы же это уже обсуждали». Обсуждали. Тем же составом, несколько недель назад. И даже решили. Только никто не может вспомнить, что именно решили, кто должен был это сделать и почему оно не сделано. Протокола нет. Есть несколько человек, и у каждого своя версия того разговора.
Дальше созвон проводится второй раз. Он приходит к тому же решению, потому что вводные не изменились. Проект за это время не сдвинулся.
У нас в GPTunneL такое случалось не раз, и я долго считал это проблемой дисциплины. Потом разобрался, почему так выходит, и за несколько дней собрал транскрибатор созвонов: он записывает встречу, расшифровывает её и присылает сводку с решениями. А потом несколько партнёров увидели его в работе и попросили себе такой же. Ниже разбор: откуда берётся проблема, что именно собрано, на чём я споткнулся и с чего начать, если в команде то же самое.
От чего на самом деле устают
Принято говорить, что все устали от созвонов. По-моему, это неточно. Час разговора с толковыми людьми сам по себе никого не утомляет. Утомляет другое: час потрачен, а задача осталась там же, где была. Усталость от созвонов — это усталость от их низкого КПД. Люди чувствуют, что время уходит, а проект стоит, и злятся на календарь.
Причина при этом не в людях и не в том, как они ведут встречи. Она в самой природе видеосвязи. Договорённость, данная по звонку, забывается легче, чем данная лично, и на это есть как минимум пять причин.
Памяти не за что зацепиться. Личная встреча привязана к месту, дороге, обстановке, лицу собеседника, даже к тому, что вы пили. Мозг запоминает событие вместе с контекстом, и эти детали потом работают как крючки, за которые вытаскивается воспоминание. Звонки проходят с одного и того же стула перед одним и тем же экраном и сливаются друг с другом. Через неделю уже не вспомнить, о чём договорились во вторник, а о чём в четверг.
Внимание разделено. На созвоне почти каждый параллельно смотрит в почту, мессенджер или соседнюю вкладку. Договорённость, услышанная вполуха, в память толком не записывается. Вживую так себя вести невежливо, поэтому там внимание полнее.
Слово стоит дешевле. Когда обещаешь, глядя человеку в глаза, включаются очень старые механизмы: взаимность, репутация, неловкость перед конкретным лицом. Нарушить слово, данное лично, психологически дорого. Слово, данное голосу в наушнике или квадратику на экране, весит меньше. Чем бестелеснее собеседник, тем слабее ощущение обязательства.
Звонок ничего не стоит. На личную встречу тратят дорогу, время и подготовку, и это вложение поднимает цену всего, о чём там договорились. Звонок встраивается в щель между двумя другими. Поэтому его итог воспринимается как «обсудили», а не как «решили».
Нет ритуала завершения. Вживую есть рукопожатие, «ну что, договорились», проводы до двери. Это фиксирует момент, когда разговор стал обязательством. Звонок обрывается на «окей, давай, на связи», и остаётся непонятным, что из сказанного было решением, а что рассуждением вслух.
Получается, что видеозвонок устроен как разговор, который легко провести и легко забыть. Он не создаёт того веса, который личная встреча даёт сама собой.
Рецепт все знают. Его никто не выполняет
Что с этим делать, давно известно. В конце звонка проговорить итог: кто, что, к какому сроку. В течение часа отправить письменное резюме и попросить подтверждения. Сразу завести задачи, пока разговор свежий. Из всего списка сильнее всего работает письменное резюме: текст заменяет памяти недостающие крючки и делает обещание публичным. Звонок нужно искусственно утяжелить письменной фиксацией.
Этот рецепт знают все, и почти никто его не выполняет. Причина простая: следующий созвон начинается через пять минут. Тот, кто должен писать резюме, сам был участником разговора, думал, спорил и ничего не записывал. К вечеру у него в голове четыре встречи, слипшиеся в одну. «Я потом запишу» не срабатывает никогда.
Отсюда вывод, с которого начался проект. Раз человек стабильно не делает эту работу, её должен делать не человек.
Почему не подошло готовое
Сервисов, которые записывают встречи и пишут по ним конспект, много. Нам не подошёл ни один, и по трём причинам.
Первая — платформы. Наши встречи идут в Zoom, Discord, МТС Линк и Google Meet, в зависимости от того, кто позвал. Готовые сервисы обычно хорошо умеют что-то одно.
Вторая — язык. Мы говорим на русском, густо перемешанном с английским: «задеплоим», «апрув», названия моделей и провайдеров. На такой речи распознавание, которое отлично справляется с диктором новостей, начинает терять слова, причём самые важные.
Третья — данные. На внутренних созвонах обсуждают деньги, людей и условия договоров. Отдавать эти записи в непроверенное облако я не хотел.
Что получилось
Я пишу боту в Telegram «запиши» или кидаю ссылку на встречу. Дальше всё происходит без меня.

- Рекордер сам заходит на встречу как участник и сам уходит, когда она закончилась. Останавливать запись руками не нужно.
- Запись распознаётся на Mac mini, который стоит у нас и всегда включён. Час встречи обрабатывается примерно за восемь минут. Звук при этом никуда наружу не уходит.
- Реплики размечаются по спикерам. Если по разговору понятно, кто есть кто, в тексте стоят имена.
- Через несколько минут после конца встречи в Telegram приходит сводка до пятнадцати строк: о чём говорили, какие решения приняты, какие задачи и на ком, какие договорённости и сроки.
- Полный транскрипт ложится в базу заметок и на Диск. По нему работает обычный поиск.
- Если Mac mini по какой-то причине молчит пятнадцать минут, запись распознаёт резервная модель на сервере, так что сводка придёт и в этом случае.
- Для встреч, куда бота не позовёшь, есть команда на ноутбуке: она пишет системный звук и микрофон и отправляет файл по тому же конвейеру.
Это и есть то самое письменное резюме в течение часа, только его никто не пишет. Оно приходит, пока участники ещё помнят разговор, и его можно сразу переслать в рабочий чат со словами «подтвердите, что договорились так».
Несколько дней и несколько граблей
Собрал я всё это за несколько дней, в одиночку, с ИИ-агентом для разработки. Я описывал словами, что должно получиться, агент писал код, гонял тесты и чинил то, что сломал. Моя часть работы состояла в решениях и в проверках на живых встречах. И почти все интересные проблемы оказались не там, где я ждал.
Запись звука. Стандартная утилита для захвата аудио на свежей macOS молча теряла больше 80 % звука. Файл получался нормальной длины, а распознавание выдавало ноль слов. Вторая утилита просто зависала. В итоге агент написал свой маленький рекордер на Swift, и он записал тестовую фразу целиком, тридцать слов из тридцати.
Выбор модели. Сначала распознавание работало на сервере, на самой быстрой модели. Потом я устроил моделям сравнение на одинаковых записях, и быстрая проиграла там, где для нас важнее всего: на тестовой встрече с англицизмами она ошибалась в 16 % слов против 6,6 % у победителя. Я перенёс распознавание на Mac mini и переделал половину конвейера. Раньше такая переделка означала бы «давайте не будем трогать то, что работает». Сейчас она заняла пару дней.
Словарь терминов. Модели можно подсказать слова, которые ей встретятся: названия продуктов, фамилии, жаргон. На нашей проверке это снизило долю ошибок с 6,6 до 2,9 %. У подсказки нашёлся побочный эффект: на тишине модель начинала «слышать» этот словарь и выдавала его подряд, как будто кто-то зачитал его на встрече. Пришлось научить конвейер пропускать тихие куски и выбрасывать ответы, которые подозрительно похожи на сам словарь. Теперь словарь пополняется одной фразой боту: «добавь в глоссарий встреч».
Шифрование. Одна из платформ за это время включила обязательное сквозное шифрование голоса. Публичная библиотека после этого слышала одних участников и не слышала других, причём через раз. Исправление в исходниках уже было, в опубликованной сборке его ещё не было. Собрали библиотеку из исходников сами.
Мой собственный тест. Одну живую запись оборвал я сам. Проверял настройки звука на той же машине, переключил аудиовыход, и в запись пошли ровные нули. Через несколько минут рекордер решил, что встреча закончилась, и ушёл. Теперь он раз в полминуты возвращает устройства на место, а конец встречи определяет по сетевой активности приложения, тишина осталась только страховкой. И появилось правило: пока идёт запись, звук на этой машине не трогает никто, включая меня.
Ни одну из этих проблем нельзя было предугадать на этапе плана. Все они нашлись на живых встречах, и каждая чинилась за часы, а не за спринт. Несколько лет назад такой инструмент был бы проектом для команды на квартал, и его бы никто не начал, потому что «купим готовое». Сейчас это несколько дней одного человека, который знает, чего хочет.
Что изменилось
Замеров у меня нет, есть наблюдения за несколько недель.
Сводка приходит раньше, чем участники успели забыть разговор. Стоит переслать её в рабочий чат, и договорённость становится публичной: это тот самый ритуал завершения, которого звонку не хватает.
Спор «мы же договаривались иначе» решается поиском по транскрипту и занимает минуту. Раньше он решался новым созвоном.
Один такой спор я запомнил. На созвоне зашла речь о данных для партнёров, и один из участников сказал, что кто-то уже упоминал: эти данные партнёрам переданы. Остальные этого не подтвердили. Никто не врал: один человек помнил фразу, остальные не помнили, и обе стороны были уверены в себе. Вопрос при этом не праздный, от ответа зависит, передавать данные ещё раз или нет. Без записи такой спор выигрывает тот, кто увереннее говорит или выше по должности. Единственным объективным арбитром оказался транскрибатор, потому что у него лежит не только сводка, но и полный текст разговора. К нему и обратились: открыли транскрипт, нашли нужное место, и спор закончился. У транскрипта нет своей версии событий, и в этом его ценность.
Созвонов по уже решённым вопросам, по моим ощущениям, стало заметно меньше. Когда решение записано, с именем ответственного и сроком, его гораздо труднее не выполнить незаметно.
«А нам так можно?»
Продукт из этого я делать не собирался. Это внутренний инструмент, собранный под нашу боль. Но его увидели в работе партнёры, и уже несколько из них пришли с одним и тем же вопросом: можно ли им такое же.
Для меня это самое интересное во всей истории. Я решал свою задачу и не думал, что она чья-то ещё. Оказалось, что проблема не наша, а общая: созвонов много, договорённости теряются, вопросы возвращаются по второму кругу. Растёт она из самой природы видеосвязи, поэтому сама не пройдёт.
Что пойдёт не так, если повторять
- Сводка без имён и сроков. Пересказ «обсудили то-то» ничего не меняет: через неделю он так же бесполезен, как память участников. В задании на сводку должны быть явно названы решения, задачи с ответственными и сроки, иначе модель напишет изложение.
- Сводка приходит не туда. Отдельный кабинет с протоколами никто не открывает. Итог должен попадать туда, где команда уже переписывается, и в течение часа после встречи.
- Запись втихую. Рекордер должен быть видимым участником встречи, а о записи нужно предупреждать в начале разговора. Скрытая запись разрушит доверие быстрее, чем транскрипты его создадут, а во внешних переговорах добавит юридических вопросов.
- Нет словаря. Без списка фамилий, названий продуктов и внутреннего жаргона транскрипт ошибается именно в тех словах, по которым его потом будут искать.
- Проверки на боевой машине. Всё, что тестируется на компьютере, который прямо сейчас пишет встречу, рано или поздно попадёт в запись или оборвёт её. У нас случилось и то и другое.
Что делать в понедельник
Собственный контур для начала не нужен. Достаточно одной недели эксперимента на том, что уже есть.
Записать ближайший рабочий созвон штатной записью платформы, предупредив участников. Загрузить файл в «Аудио и видео в текст» и получить расшифровку. Отдать её любой сильной модели в чате с коротким заданием: принятые решения, задачи с ответственными, договорённости и сроки, не больше пятнадцати строк. Отправить результат в рабочий чат в течение часа и попросить участников подтвердить.
Через неделю станет видно главное: возвращаются ли вопросы по второму кругу реже. Если да, ручные шаги стоит автоматизировать — под свои платформы, свои правила хранения и свой словарь. Об инструменте расшифровки подробнее на его странице, условия для команд — в разделе для компаний, цены на модели — в прайсе.
Если первая сцена этой статьи похожа на вашу команду и нужен контур, как у нас, напишите нам через консалтинг по внедрению. Мы сейчас разбираемся, как превратить внутренний инструмент в то, чем смогут пользоваться другие, и нам важно понять, как эта проблема выглядит у вас.



