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

推荐订阅源

The Cloudflare Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
小众软件
小众软件
J
Java Code Geeks
V
Visual Studio Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
博客园 - 叶小钗
N
Netflix TechBlog - Medium
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
T
The Exploit Database - CXSecurity.com
The Hacker News
The Hacker News
Cisco Talos Blog
Cisco Talos Blog
Hacker News: Ask HN
Hacker News: Ask HN
Hacker News - Newest:
Hacker News - Newest: "LLM"
AWS News Blog
AWS News Blog
Webroot Blog
Webroot Blog
The Last Watchdog
The Last Watchdog
T
Threatpost
I
Intezer
T
Tenable Blog
L
LINUX DO - 热门话题
T
Tailwind CSS Blog
Scott Helme
Scott Helme
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cybersecurity and Infrastructure Security Agency CISA
Engineering at Meta
Engineering at Meta
S
Schneier on Security
Recent Announcements
Recent Announcements
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
腾讯CDC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Troy Hunt's Blog
量子位
H
Hacker News: Front Page
V2EX - 技术
V2EX - 技术
Google Online Security Blog
Google Online Security Blog
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
博客园 - Franky
www.infosecurity-magazine.com
www.infosecurity-magazine.com

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

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет 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 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Интеллектуальная маршрутизация входящих документов: как мы наняли ИИ в диспетчеры документооборота
LictorTheAlp · 2026-04-28 · via Все публикации подряд на Хабре

Интеллектуальная маршрутизация входящих документов: как мы наняли ИИ в диспетчеры документооборота

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

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

Охват и читатели110

Кейс

Привет! Меня зовут Антон Топчиев, я ведущий аналитик команды продукта «Среда ЭДО» в МТС. Мы автоматизируем электронный документооборот и периодически делаем то, что обычно обещают на презентациях, — действительно снимаем рутину с людей. В том числе и с помощью искусственного интеллекта. 

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

В МТС ежедневно поступает от 6 до 10 тысяч входящих документов от клиентов и контрагентов — разбирать такое количество писем вручную, конечно, просто нереально. Чтобы письма доходили в нужное подразделение, у нас была настроена маршрутизация по некоторым фильтрам и критериям — например, по имени, ИП или ООО контрагентов. Однако в этой схеме не учитывалось то, что сами документы — это файлы разных типов и форматов, и часто с неинформативными именами отправителей или отсутствующими метаданными. Из-за этого время от времени часть писем терялась, так к что схему распределения нужно было оптимизировать.

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

Какую схему маршрутизации придумали

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

  1. Перехват. Сервис обработки входящих документов Среды ЭДО постоянно следит за ящиком организации в операторе ЭДО. Как только появляется новый документ, он забирает его файл и метаданные.

  2. Анализ. Документ попадает в сервис классификации SmartDocs, где происходит:

1) извлечение текста, в том числе OCR, если нужно;

2) предобработка текста, очистка, нормализация, устранение «шумов»;

3) классификация — определение типа документа и степени уверенности в ответе.

  1. Уведомление. Получив ответ от классификатора, сервис Среды ЭДО автоматически информирует через брокер сообщений всех, кто подписан на этот тип документа.

Потребителем может выступать любой продукт — СЭД, CRM, ERP, программный робот, витрина и прочие.

Как выбирали метод классификации

Для классификации документов мы рассматривали два основных варианта:

  1. Сделать собственный ML-классификатор. Мы попробовали обучить свою модель: собрали датасет и на его базе команда SmartDocs обучила классификатор. Для этого нам пришлось разработать структуру категорий документов, собрать и разметить тысячи примеров и обучить алгоритм. Подготовка была серьезной и в итоге получился предсказуемый и точный инструмент.

  1. Работать с готовыми большими языковыми моделями (LLM). Параллельно мы экспериментировали с внутренними моделями в контуре MWS GPT — они понимают контекст без специального обучения и могут работать с нестандартными документами. Однако на выходе мы часто получали неструктурированные ответы, иногда с ошибками, которые требовали дополнительной проверки.

В итоге для промышленной эксплуатации мы выбрали ML-классификатор. Он оказался надежнее и лучше подавался контролю внутри нашего контура, что критично для работы с корпоративным документооборотом. А LLM мы в итоге использовали как инструмент, помогающий в разметке датасета и валидации результатов.

Как готовили данные для обучения модели

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

  • Построили дерево классов. Мы не стали брать за основу готовые классификации, все типы входящих документов выделили на основе анализа документооборота компании.

Упрощенный пример части дерева подклассов

Упрощенный пример части дерева подклассов

  • Собрали исходный материал. Взяли за основу реестры входящих документов за несколько предыдущих месяцев из оператора ЭДО.

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

  • Организовали файловый датасет. Получили документы из оператора ЭДО и разместили их в каталогах согласно разработанной нами категоризации классов.

  • Проверили документы с помощью LLM. Чтобы найти возможные ошибки в базовой разметке, прогнали тексты документов через большую языковую модель.Так мы быстро обнаружили моменты, которые стоило перепроверить, и избавились от мусора в обучении модели. 

  • Завершили работу экспертной проверкой. Чтобы наше видение не расходилось с реальностью, финальную верификацию всего датасета сделал специалист по документообороту, после чего пару моментов мы доработали.

Так мы получили эталонный набор документов для обучения и тестирования классификатора.

Как улучшаем точность классификатора

Мы постоянно дорабатываем классификатор и начали это делать еще до боевой проверки сервиса:

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

  • Учимся на ошибках. Специально отбираем документы, которые модель классифицирует неверно или с низкой уверенностью. При дообучении они работают лучше, чем случайные примеры, — качество ответов растет намного быстрее.

  • Учим классификатор работать с разными форматами. Один из кейсов — формализованные XML-документы. Их почти не было в изначальной выборке, и модель начинала плавать — теги и служебная структура ломали привычные текстовые паттерны. Решение было максимально приземленным: мы добавили в датасет тексты XML-документов и доработали предобработку. После этого качество выровнялось.

  • Пересматриваем классификацию. Иногда проблема не в модели, а в том, что не слишком удачно выделены классы — слишком крупные, слишком мелкие или пересекающиеся по смыслу. В таких случаях мы объединяем или удаляем избыточные категории и согласовываем обновленную разметку с экспертом. Например, так мы упразднили все виды приложений: выяснилось, что по сути они являются самостоятельным документом, для которого можно определить свой класс. И когда они были в выборке, возникали взаимные пересечения по смыслу с другими классами. Мы это поправили. 

Как его уже использует команда документооборота

Отдел документооборота регистрирует все официальные письма, уведомления и обращения, а затем распределяет документы и контролирует их исполнение. Чтобы упростить этот путь, мы взяли за основу процесс регистрации бумажной корреспонденции в корпоративной СЭД и адаптировали его под цифровой формат.

Теперь все работает так:

  1. Классификатор как фильтр. Наш сервис, подключенный к оператору ЭДО, передает каждый новый документ в классификатор. Среди счетов, контрактов и прочего классификатор находит нужные письма, обращения и уведомления.

  2. Автоматическая маршрутизация и регистрация. Все такие документы автоматически пересылаются в СЭД, где на основе полученных реквизитов создается карточка входящего документа и задача для регистратора.

  3. Финальный контроль. Сотрудник проверяет корректность автоматической классификации, официально регистрирует документ и отправляет по внутренним маршрутам для исполнения. 

  4. Обратная связь. Если документ попал в модуль регистрации ошибочно, сотрудник отправляет его в корзину. На основе ее содержимого мы расширяем датасет и дообучаем классификатор.

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

Чтобы решение могли использовать и другие команды, мы:

  1. совместно определяем источник документов, интересующую тематику и бизнес-задачу. То есть понимаем, что ловим, где ловим и куда отправляем; 

  2. сверяемся, покрывает ли одна из наших моделей нужные типы документов или ее нужно дообучить;

  3. дообучаем классификатор или создаем новую модель, а затем подключаем пользователей к нашему сервису.

Итоги и наши планы

Мы превратили хаотичный поток входящих документов в довольно упорядоченную систему и сняли объемную часть работы с сотрудников. Мы не гнались за модными технологиями ради них самих, а взяли проверенный ML-подход, чтобы система работала стабильно и предсказуемо. При этом большие языковые модели использовали как умных помощников для подготовки данных и научились не просто создавать модели, а встраивать их в реальные процессы, учитывая нюансы разных подразделений.

Что дальше? Система построена так, чтобы ее можно было легко адаптировать к новым задачам — сейчас мы подключаем к сервису новые команды. А еще улучшаем точность и учимся на тех ошибках, которые периодически еще случаются. В общем, сделали большой шаг от идеи к практике. И это только начало пути.