惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
博客园_首页
博客园 - 聂微东
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
D
Docker
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
B
Blog RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Jina AI
Jina AI
博客园 - Franky
D
DataBreaches.Net

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Не робот, а коллега: как ИИ‑агент стал частью команды мед...
SovcomTech ( · 2026-05-18 · via Все публикации подряд на Хабре

Не робот, а коллега: как ИИ‑агент стал частью команды медпульта

Уровень сложностиСредний

Время на прочтение7 мин

Охват и читатели6.1K

Кейс

Привет, Хабр! Меня зовут Иван. Я работаю аналитиком в компании «Совкомбанк Технологии»: собираю требования, разбираю процессы с пользователями и помогаю доводить ИИ‑решения от этапа идеи до работающего сервиса. В этой статье расскажу, как мы с командой внедряли ИИ‑агента в работу медицинского пульта страховой компании.

Коротко о команде: над проектом работали аналитик, backend‑разработчики, специалист по интеграциям, ML/LLM‑инженеры, тестировщики и представители бизнеса.

Задача была не просто «поиграть с нейросетями», а реально встроить LLM в процесс, где цена ошибки очень высока: на линии находится клиент — застрахованный человек, который хочет быстро решить свою проблему, а мы стремимся оказать высокий уровень сервиса. Оператор должен быстро понять его проблему, корректно внести данные и не потерять важный медицинский контекст с помощью ИИ.

Главная идея: ИИ не заменяет оператора и не принимает медицинских решений. Он снимает рутинную нагрузку: готовит структурированный черновик, подсказывает возможный код МКБ (международная классификация болезней) и оставляет финальную проверку человеку.

ИИ-марафон в одной картинке: дедлайн еще не завтра, но ощущается как «вчера»

ИИ‑марафон в одной картинке: дедлайн еще не завтра, но ощущается как «вчера»

Контекст: ИИ‑марафон и сжатые сроки

Проект родился внутри ИИ‑марафона Совкомбанка. Это формат, близкий к корпоративному хакатону: командам необходимо реализовать работающее бизнес‑решение, а не просто презентацию, в сжатые сроки.

ИТ‑специалисты Совкомбанк Технологий работали над проектом совместно с представителями Страховой Группы Совкомбанка. Первичная формулировка звучала просто: автоматизировать ввод данных из телефонных разговоров. Но после погружения в контекст, стало понятно, что это задача не уровня «распознать аудио и перенести результат в текстовое поле», а целый участок операционной работы.

Оператор медицинского пульта одновременно ведет диалог, успокаивает клиента, если это необходимо, ищет данные в системе, фиксирует симптомы, причину обращения, диагноз, необходимые услуги и затем переносит всё в CRM. В среднем звонок длится около трех минут, а постобработка занимает примерно столько же, при этом в пиковые часы звонки могут идти почти без пауз.

Мы пошли к пользователям, посмотрели на процесс вживую и выявили ключевую боль: «Я не успеваю печатать так же быстро, как говорит человек». Поэтому мы решили спроектировать «третью руку», которая будет писать черновик за оператора.

От первой версии к промышленному сценарию

Разработку наша команда разделила на два этапа: сначала нужно было быстро доказать жизнеспособность идеи, а потом превратить прототип в сервис, который можно будет подключать к реальному процессу.

Первая версия

Для первой версии нам были важны скорость и возможность проверить гипотезу. Мы собрали минимальный контур:

  • Streamlit для интерфейса. Он позволил быстро собрать экран для загрузки записи и просмотра результата без отдельной frontend‑команды.

  • FastAPI для backend‑слоя. Через него мы принимали аудиозапись, запускали обработку и возвращали структурированный ответ.

  • VoiceKey для распознавания речи. На старте это был самый быстрый путь получить текстовую расшифровку звонка и сфокусироваться на LLM‑части.

  • Qwen3-30B для извлечения данных. Модель использовали как инструмент структурирования текста, а не как самостоятельного эксперта.

На первой защите оператор загружал запись, а через несколько секунд видел заполненные поля: ФИО, причина обращения, диагноз, предполагаемый код МКБ. Это показало, что направление рабочее. Но мы прекрасно понимали: красивый прототип и сервис с реальной нагрузкой — это разные вещи.

Командный вайб на первой защите: кажется, всё уже работает, но впереди еще самое интересное

Командный вайб на первой защите: кажется, всё уже работает, но впереди еще самое интересное

Переход к рабочему контуру

Следующий этап был про архитектуру, интеграции и устойчивость. По целевому сценарию система должна была выдерживать до 57 одновременных звонков, не теряя контекст сессии и работая в закрытом контуре банка.

Упрощенная схема целевого контура

Упрощенная схема целевого контура

  • Интеграция с телефонией. Записи и служебные данные приходили из связки SmartLogger и Avaya. Для нас это был источник аудио, идентификаторов звонков и метаданных, необходимых для связывания результата с операторской сессией.

  • Очереди и состояние. Redis использовали как быстрый слой для хранения промежуточного состояния и управления обработкой. Это помогало не «ронять» сервис при параллельных обращениях.

  • Безопасность. Так как речь идет о медицинских данных, модель и обработка должны были оставаться внутри закрытого контура. Также потребовались авторизация, разграничение доступа и понятный аудит действий.

Промпты: почему температура 0.1 важнее красивого текста

Сердце решения — LLM Qwen3-30B. Выбрали её, потому что помимо скорости и способности стабильно извлекать суть из русскоязычной транскрибации нам было важно, чтобы LLM была безопасной и минимально загружена запросами от других команд.

В медицине нельзя «додумывать» диагнозы. Поэтому основной риск был не в том, что модель ответит некрасиво, а в том, что она уверенно заполнит поле данными, которых не было в разговоре.

  • Temperature 0.1. Креативность нам не нужна. Нужна повторяемость: на один и тот же текст модель должна давать максимально близкий результат.

  • Жесткий системный промпт. Мы явно описали роль, формат ответа и правило: если данных нет в транскрибации, нужно писать «Не указано», а не угадывать.

  • JSON‑подобная структура. Ответ модели сразу приводился к формату, который можно валидировать и передавать дальше.

  • Негативные примеры. В промптах отдельно описали, чего делать нельзя: выдумывать ФИО, подменять жалобу диагнозом, выбирать код МКБ только по одному слову без контекста.

Базовое правило проекта: если данных нет в разговоре, не придумываем

Базовое правило проекта: если данных нет в разговоре, не придумываем

Работа с МКБ‑кодами

Самым сложным участком стали коды МКБ. На первый взгляд кажется: пусть модель прочитает диагноз и выдаст код. Но на практике похожие формулировки легко ведут к разным кодам, а транскрибация может исказить медицинский термин.

Мы пришли к многоэтапной схеме. Сначала модель извлекает диагноз текстом и отделяет его от жалоб пациента. Затем отдельным шагом сопоставляет формулировку со справочником МКБ, который подается в контекст. После этого валидатор проверяет, не противоречит ли выбранный код исходному разговору.

Такой подход оказался лучше одного большого запроса по двум причинам. Во‑первых, ошибку проще локализовать: проблема в распознавании, в извлечении диагноза или в сопоставлении со справочником. Во‑вторых, каждый шаг можно тестировать на своем наборе кейсов и отдельно дорабатывать промпт.

Цепочка агентов: меньше магии, больше инженерии

Мы назвали это агентной логикой, но без лишнего мистицизма. Внутри это несколько специализированных запросов и проверок, где каждый блок отвечает за свою часть результата.

Цепочка обработки: от сырой расшифровки до проверенного черновика для оператора

Цепочка обработки: от сырой расшифровки до проверенного черновика для оператора

  • Агент‑транскрибатор. Собирает текст из двух каналов, разделяет реплики оператора и клиента, убирает явный шум и междометия.

  • Агент‑экстрактор. Ищет сущности: ФИО, причину обращения, жалобы, диагноз, услуги, важные ограничения.

  • Агент‑нормализатор. Приводит формулировки к виду, пригодному для CRM: без разговорных оборотов и лишнего текста.

  • Агент МКБ. Сопоставляет диагноз со справочником и возвращает не только код, но и объяснение выбора.

  • Агент‑валидатор. Проверяет, подтверждаются ли извлеченные поля исходной расшифровкой. Если видит противоречие, отправляет результат на повторную обработку с уточнением.

Важный плюс для команды: такую систему проще обсуждать с бизнесом. Вместо фразы «нейросеть ошиблась» можно сказать точнее: «распознавание исказило термин», «экстрактор перепутал жалобу с диагнозом» или «код МКБ выбран слишком широко».

Результаты и честные ограничения

Главный измеримый эффект — сокращение времени обработки примерно на 30%. Оператору больше не нужно запоминать все слова клиента во время разговора и потом судорожно переносить заметки в CRM. Он получает черновик и проверяет его.

При этом качество результата сильно зависело от качества расшифровки. Мы использовали транскрибацию от смежной команды, и в части звонков она ошибалась на медицинских терминах, фамилиях и шумных фрагментах. Часть проблем удалось сгладить постобработкой текста и проверками валидатора, но полностью решить это на уровне LLM нельзя: если на входе потерян смысл, модель не должна его придумывать.

Что планируем улучшать дальше: переходить на более точную онлайн‑транскрибацию, дообучать или настраивать распознавание на медицинскую лексику, расширять словари терминов и добавлять подсказки оператору прямо во время разговора.

Обратную связь собирали у сотрудников пульта и у представителей Страховой Группы после демонстраций и пилотного использования. Она была не только позитивной: пользователи справедливо указывали на ошибки распознавания и спорные поля. Общий вывод: сервис полезен, если воспринимать его как ассистента, работа которого обязательно требует проверки человеком, а не как полностью автономного оператора.

Что бы я посоветовал командам, которые идут похожим путем

  • Идите к пользователям. Ни одно ТЗ не заменит часа рядом с оператором, который реально работает в системе.

  • Не продавайте магию. Объясняйте, где LLM помогает, а где остается риск и нужна проверка человеком.

  • Храните версии промптов как код. Фиксируйте изменения и регрессии, тестируйте на наборах звонков.

  • Разделяйте цепочку на шаги. Монолитный промпт сложнее отлаживать, объяснять и валидировать.

  • Смотрите на входные данные. Если транскрибация плохая, LLM не должна героически угадывать. Лучше честно вернуть неопределенность.

Для меня главный вывод такой: ИИ‑агент становится полезным не тогда, когда его называют «агентом», а когда он встроен в процесс, имеет понятные границы ответственности и помогает человеку делать работу быстрее и спокойнее.

Есть вопросы по архитектуре, промптам или организации пилота? Буду рад обсудить в комментариях.