Остались вопросы?

Автор статьи на связи!
Оставить комментарий

Поделитесь с коллегами

Реализация любого проекта всегда сопряжена с человеческим фактором. Это аксиома.

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

У людей бывает разные:

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

А еще люди болеют и ходят в отпуск, и работа с проектом при этом не должна прерываться и идти штатно.

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

Как же снизить влияние человеческого фактора на процесс управления проектами в работе с разработкой сайтами и веб-приложениями?

Здесь нам на помощь пришли нейросети.

Давайте расскажу, что мы внедрили и как это повлияло на процесс и результат.

Исходные данные для организации работы

  1. 3 проджект-менеджера и около 30 проектов в работе одномоментно
  2. Битрикс24 для работы с командой разработки: управление проектами, задачами, ресурсами
    Команда разработки
    Битрикс24: Сотрудники отдела
    Управление задачами
    Битрикс24: Управление задачами
    Комментарии к задачам
    Битрикс24: Комментарии к задачам
  3. Дашборд в Google Looker Studio для мониторинга ресурсов (выделенное и затраченное время в разрезе проектов, проджект-менеджеров, технических специалистов)
    Дашборд запланированного времени по проектам
    Дашборд запланированного времени по проектам
    Дашборд запланированного времени (Круговая диограмма)
    Дашборд запланированного времени (Круговая диограмма)
    Дашборд запланированного времени (Таблица)
    Дашборд запланированного времени (Таблица)
  4. Телеграм-чаты как официальный канал общения с клиентами (согласование результатов работы, обмен материалами, решение операционных вопросов)
    Телеграм-чаты с клиентами
    Телеграм-чаты с клиентами

Кроме этого по утрам команда полным составом собирается на 15тиминутные дейлики для обсуждения приоритетов и задач на день, а также дважды в неделю на часовые встречи для обсуждения как проектов, так и глобальных вопросов (развитие стека, инструменты, взаимодействие, вопросы по проектам, обучение и т. д.)

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

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

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

Реализация ИИ-агента для проджект-менеджеров

ИИ-агента создавали собственными силами.

Проджект-менеджеры выступали в роли заказчиков, а бэкэнд разработчик (спасибо, Валик!) собирал всю систему в рабочий прототип.

Работали на базе популярной платформы для создания ИИ-агентов n8n. Она позволяет программировать процесс как промптами, так и подключаться к другим системам по API, собирать и агрегировать данные.

В нашем случае мы объединили три источника данных:

  1. проекты и задачи из Битрикс24
  2. переписки с клиентами из Телеграм
  3. запланированные и используемые ресурсы из Дашборда

Технические детали создания ИИ-агента

Воркфлоу для сбора и архивации сообщений из Telegram в MySQL

Воркфлоу для сбора и архивации сообщений из Telegram-чатов в MySQL базу данных

Основной процесс

  1. **Telegram Trigger** → получение сообщений
  2. **Chat Filter** → фильтрация по whitelist (3 группы чатов)
  3. **Normalize** → нормализация данных
  4. **MySQL Insert** → сохранение в БД:
    • `tg_users` - пользователи
    • `tg_chats` - чаты
    • `tg_members` - членство
    • `tg_messages` - сообщения
    • `tg_entities` - entities (mentions, links)
    • `tg_files` + `tg_message_files` - медиафайлы
    • `search_index` - поисковый индекс

Дополнительно

  1. Обработка всех размеров фото
  2. Сохранение медиа на диск `/data/{chat_id}/`

Воркфлоу для интеллектуальной маршрутизации пользовательских запросов из Telegram к специализированным обработчикам

Воркфлоу для интеллектуальной маршрутизации пользовательских запросов из Telegram к специализированным обработчикам

Основной процесс

  1. **Telegram Trigger** → получение входящих сообщений
  2. **TG: Middleware** → предобработка сообщений
  3. **VoiceToText** → конвертация голосовых сообщений в текст
  4. **Function: Keyword Gate** → быстрая предварительная классификация по ключевым словам
  5. **IF: Intent already set?** → проверка уверенности классификации (≥0.85)
    • Высокая уверенность → переход к Switch
    • Низкая уверенность → отправка в OpenAI Router
  6. **Merge** → объединение результатов
  7. **Function: Validate & Merge** → валидация и формирование итогового JSON
  8. **Switch** → маршрутизация по intent

Классификация запросов

Keyword Gate (Fast Path)

Жёсткие правила для команд и паттернов:

  • `/time` → intent: time (трекинг времени)
  • `/chats` → intent: chats (поиск в переписках)
  • `/domen` → intent: domen (проверка доменов)
  • Семантический анализ текста с подсчётом весов паттернов

OpenAI Router (Fallback)

GPT-4 Mini для сложных/неоднозначных запросов:

  • Temperature: 0 (детерминированность)
  • Max tokens: 200
  • Возврат строгого JSON без markdown

Маршрутизация (Switch)

  1. time → Execute Workflow: Time Q&A

    Запросы о времени/трекинге:

    • Entities: project, date_range, time_amount
    • Примеры: «сколько часов за неделю», «время по проекту X»
  2. chats → Execute Workflow: Chats Q&A

    Поиск в переписках:

    • Entities: user, chat_id, date, query
    • Примеры: «что писал Иван вчера», «сообщения в канале X»
  3. domen → Execute Workflow: Domen

    Проверка доменов:

    • Entities: domain
    • Примеры: «проверь домен site.com», «срок SSL-сертификата»
  4. unknown → Send Error Message

    Отправка в Telegram: «Извините, не могу определить тип запроса»

Особенности

  1. Двухступенчатая классификация: быстрая (regex) + глубокая (LLM)
  2. Приоритет команд: `/time`, `/chats`, `/domen` всегда имеют confidence = 0.99
  3. Контекстный анализ: учёт упоминаний пользователей, проектов, временных периодов
  4. Graceful degradation: при неопределённости → OpenAI → fallback на «unknown»
  5. Поддержка голоса: автоматическая транскрибация через VoiceToText

Воркфлоу для автоматической генерации ежедневных отчётов по проектам и задачам для проект-менеджеров с отправкой в Telegram

Воркфлоу для автоматической генерации ежедневных отчётов по проектам и задачам для проект-менеджеров с отправкой в Telegram

Основной процесс

  1. **Trigger 9:00 AM** - запуск каждый будний день в 09:01
  2. **Config: Params** - установка параметров (список PM, текущий месяц/год)

Сбор данных по проектам

  1. **Timesheet Hours by Project Planning** - плановые часы по проектам
  2. **Timesheet Hours by Project** - фактически затреканные часы
  3. **Project Questions Tracker** - трекер вопросов клиентов по проектам
  4. **Last Activity by Project** - последняя активность с клиентом

Сбор данных по задачам

  1. **Code: Init PMs** - инициализация списка PM с ID
  2. **Get tasks for deadline (expired)** - просроченные задачи из B24
  3. **Get tasks for deadline (today)** - задачи на сегодня из B24

Обработка и объединение

  1. **Merge: Planned + Tracked** - объединение плановых и фактических часов
  2. **Code: Join PM metrics** - расчёт метрик (план/факт, остаток, процент, индикаторы)
  3. **MergeMetrics** - объединение метрик, вопросов и активности
  4. **CodeClient** - добавление client_communication и questions в проекты
  5. **Merge Final** - финальное объединение проектов и задач

Формирование и отправка отчётов

  1. **Code** - генерация сообщений для каждого PM с разделами: проекты (план/факт), вопросы клиентов, проекты без коммуникации >6 дней, просроченные задачи, задачи на сегодня, сводка для руководства
  2. **Send per-PM** - отправка в Telegram (HTML-разметка, автоматическое разбиение длинных сообщений, лимит 3800 символов)

Особенности

  • Форматирование чисел с запятой как разделителем
  • Индикаторы статуса: зеленый <50%, желтый 50−100%, красный >100%
  • Сортировка проектов по затреканным часам
  • Парсинг вопросов формата (Автор) — «Текст»
  • Безопасный чанкинг с закрытием pre тегов

Далее мы подключили бота во все чаты с клиентами:

Подключение бота в чаты с клиентами в Telegram
Подключение бота в чаты с клиентами в Telegram

После этого настроили ежедневные отчеты для проджект-менеджеров:

Ежедневные отчеты для проджект-менеджеров
Ежедневные отчеты для проджект-менеджеров

Проджект менеджер теперь начинает свой день с изучения:

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

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

Ответы бота на разнообразные вопросы и статус по проектам | Стабильно
Ответы бота на разнообразные вопросы и статус по проектам | Стабильно
Ответы бота на разнообразные вопросы и статус по проектам | Критично
Ответы бота на разнообразные вопросы и статус по проектам | Критично
Ответы бота на разнообразные вопросы и статус по проектам | Отлично
Ответы бота на разнообразные вопросы и статус по проектам | Отлично

Как это помогает нам и нашим клиентам

  • Краткосрочно планировать задачи на 1−2 дня вперед, расставляя приоритеты
  • Минимизировать влияние человеческого фактора — даже при больничных или отпусках менеджеров заменяющий специалист может быстро понять текущие процессы
  • Повышать предсказуемость проектов — все пожелания и договоренности сохраняются и учтены в процессе
  • Обеспечить строгий контроль выполнения задач — бот автоматически напомнит, если задача просрочена или нужна коррекция
  • Выстраивать отношения с клиентами — бот может помогать строить коммуникацию с учетом психотипа клиента, делая взаимодействие комфортным для обеих сторон

Около месяца мы уже работаем с использованием этого ИИ-агента и чат-бота.

И вот первые отзывы от проджект менеджеров:

Первые отзывы от проджект менеджеров о работе с ИИ-агентом и чат-ботом
Первые отзывы от проджект менеджеров о работе с ИИ-агентом и чат-ботом

Эти технологии не просто упрощают жизнь проджект менеджерам, но и повышают доверие со стороны клиентов.

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

Поэтому мы продолжим вкладывать ресурсы в собственные инструменты и продукты для автоматизации и повышения эффективности наших услуг.

Если вы хотите обеспечить стабильную работу проекта без сбоев, доверьтесь нам. С нами ваш проект всегда будет под контролем — без сюрпризов и в срок.

Комментарии

Дима
27.01.2026 10:30
Вот это действительно полезная штука! В коде конечно тяжело мне разобраться, который в статье, но суть понятна. Попробуем с моим айтишником сделать )

Больше из раздела «Разработка»

tvd:blog_category:containsOne:39

Больше от автора

г. Минск, ул. Притыцкого, 2/3, 3 этаж, офис 23