Реализация любого проекта всегда сопряжена с человеческим фактором. Это аксиома.
Факапы происходят и при строительстве домов, и при проведении операций хирургом, и в нашей сфере при разработке сайтов и веб-приложений. Просто потому что все эти проекты выполняются живыми людьми (пока что).
У людей бывает разные:
- самочувствие
- настроение
- фоновый информационный шум
- степень усталости
- нагрузка в моменте
- взаимоотношения в команде и другие факторы, которые так или иначе влияют на финальный результат.
А еще люди болеют и ходят в отпуск, и работа с проектом при этом не должна прерываться и идти штатно.
При всем при этом заказчик ждет качественный продукт, в срок, в согласованный бюджет, желательно с проактивным подходом и вовлеченностью команды, с приятным взаимодействием с проджект-менеджером.
Как же снизить влияние человеческого фактора на процесс управления проектами в работе с разработкой сайтами и веб-приложениями?
Здесь нам на помощь пришли нейросети.
Давайте расскажу, что мы внедрили и как это повлияло на процесс и результат.
Исходные данные для организации работы
- 3 проджект-менеджера и около 30 проектов в работе одномоментно
- Битрикс24 для работы с командой разработки: управление проектами, задачами, ресурсами
Битрикс24: Сотрудники отдела
Битрикс24: Управление задачами
Битрикс24: Комментарии к задачам - Дашборд в Google Looker Studio для мониторинга ресурсов (выделенное и затраченное время в разрезе проектов, проджект-менеджеров, технических специалистов)
Дашборд запланированного времени по проектам
Дашборд запланированного времени (Круговая диограмма)
Дашборд запланированного времени (Таблица) - Телеграм-чаты как официальный канал общения с клиентами (согласование результатов работы, обмен материалами, решение операционных вопросов)
Телеграм-чаты с клиентами
Кроме этого по утрам команда полным составом собирается на 15тиминутные дейлики для обсуждения приоритетов и задач на день, а также дважды в неделю на часовые встречи для обсуждения как проектов, так и глобальных вопросов (развитие стека, инструменты, взаимодействие, вопросы по проектам, обучение
Эта система уже давала нам отличную точность в работе. Но хотелось получить еще большую отказоустойчивость, снизив в ней именно влияние человеческого фактора: забыл ответить клиенту, не поставил задачу, слишком долго делал задачу
А также добавить подстаховку на случай больничных и отпусков, чтобы заменяющий менеджер мог быстро разобраться и включиться в работу.
Мы поняли, что нам нужен помощник, который будет объединять все составляющие нашего процесса проджект-менеджмента в одном месте и сигнализировать о выходящих за рамки нормы показателях.
Реализация ИИ-агента для проджект-менеджеров
ИИ-агента создавали собственными силами.
Проджект-менеджеры выступали в роли заказчиков, а бэкэнд разработчик (спасибо, Валик!) собирал всю систему в рабочий прототип.
Работали на базе популярной платформы для создания ИИ-агентов n8n. Она позволяет программировать процесс как промптами, так и подключаться к другим системам по API, собирать и агрегировать данные.
В нашем случае мы объединили три источника данных:
- проекты и задачи из Битрикс24
- переписки с клиентами из Телеграм
- запланированные и используемые ресурсы из Дашборда
Технические детали создания ИИ-агента
Воркфлоу для сбора и архивации сообщений из Telegram-чатов в MySQL базу данных
Основной процесс
- **Telegram Trigger** → получение сообщений
- **Chat Filter** → фильтрация по whitelist (3 группы чатов)
- **Normalize** → нормализация данных
- **MySQL Insert** → сохранение в БД:
- `tg_users` - пользователи
- `tg_chats` - чаты
- `tg_members` - членство
- `tg_messages` - сообщения
- `tg_entities` - entities (mentions, links)
- `tg_files` + `tg_message_files` - медиафайлы
- `search_index` - поисковый индекс
Дополнительно
- Обработка всех размеров фото
- Сохранение медиа на диск `/data/{chat_id}/`
Воркфлоу для интеллектуальной маршрутизации пользовательских запросов из Telegram к специализированным обработчикам
Основной процесс
- **Telegram Trigger** → получение входящих сообщений
- **TG: Middleware** → предобработка сообщений
- **VoiceToText** → конвертация голосовых сообщений в текст
- **Function: Keyword Gate** → быстрая предварительная классификация по ключевым словам
- **IF: Intent already set?** → проверка уверенности классификации (≥0.85)
- Высокая уверенность → переход к Switch
- Низкая уверенность → отправка в OpenAI Router
- **Merge** → объединение результатов
- **Function: Validate & Merge** → валидация и формирование итогового JSON
- **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)
-
time → Execute Workflow: Time Q&A
Запросы о времени/трекинге:
- Entities: project, date_range, time_amount
- Примеры: «сколько часов за неделю», «время по проекту X»
-
chats → Execute Workflow: Chats Q&A
Поиск в переписках:
- Entities: user, chat_id, date, query
- Примеры: «что писал Иван вчера», «сообщения в канале X»
-
domen → Execute Workflow: Domen
Проверка доменов:
- Entities: domain
- Примеры: «проверь домен site.com», «срок SSL-сертификата»
-
unknown → Send Error Message
Отправка в Telegram: «Извините, не могу определить тип запроса»
Особенности
- Двухступенчатая классификация: быстрая (regex) + глубокая (LLM)
- Приоритет команд: `/time`, `/chats`, `/domen` всегда имеют confidence = 0.99
- Контекстный анализ: учёт упоминаний пользователей, проектов, временных периодов
- Graceful degradation: при неопределённости → OpenAI → fallback на «unknown»
- Поддержка голоса: автоматическая транскрибация через VoiceToText
Воркфлоу для автоматической генерации ежедневных отчётов по проектам и задачам для проект-менеджеров с отправкой в Telegram
Основной процесс
- **Trigger 9:00 AM** - запуск каждый будний день в 09:01
- **Config: Params** - установка параметров (список PM, текущий месяц/год)
Сбор данных по проектам
- **Timesheet Hours by Project Planning** - плановые часы по проектам
- **Timesheet Hours by Project** - фактически затреканные часы
- **Project Questions Tracker** - трекер вопросов клиентов по проектам
- **Last Activity by Project** - последняя активность с клиентом
Сбор данных по задачам
- **Code: Init PMs** - инициализация списка PM с ID
- **Get tasks for deadline (expired)** - просроченные задачи из B24
- **Get tasks for deadline (today)** - задачи на сегодня из B24
Обработка и объединение
- **Merge: Planned + Tracked** - объединение плановых и фактических часов
- **Code: Join PM metrics** - расчёт метрик (план/факт, остаток, процент, индикаторы)
- **MergeMetrics** - объединение метрик, вопросов и активности
- **CodeClient** - добавление client_communication и questions в проекты
- **Merge Final** - финальное объединение проектов и задач
Формирование и отправка отчётов
- **Code** - генерация сообщений для каждого PM с разделами: проекты (план/факт), вопросы клиентов, проекты без коммуникации >6 дней, просроченные задачи, задачи на сегодня, сводка для руководства
- **Send per-PM** - отправка в Telegram (HTML-разметка, автоматическое разбиение длинных сообщений, лимит 3800 символов)
Особенности
- Форматирование чисел с запятой как разделителем
- Индикаторы статуса: зеленый <50%, желтый 50−100%, красный >100%
- Сортировка проектов по затреканным часам
- Парсинг вопросов формата (Автор) — «Текст»
- Безопасный чанкинг с закрытием pre тегов
Далее мы подключили бота во все чаты с клиентами:
После этого настроили ежедневные отчеты для проджект-менеджеров:
Проджект менеджер теперь начинает свой день с изучения:
- остатка ресурсов по проектам
- вопросов, которые остались без ответа в телеграм (как со стороны клиента, так и со стороны проджект менеджера)
- списка чатов, в которых не было коммуникации более 6 дней (это знак, что пора дать клиенту статус по проекту)
- списка задач с дедлайном на сегодня (задачи, которые необходимо выполнить проджект менеджеру либо которые он делегировал технической команде)
- списка просроченных задач
Кроме этого бот в телеграме может отвечать на разнообразные вопросы и давать статус по проектам.
Как это помогает нам и нашим клиентам
- Краткосрочно планировать задачи на 1−2 дня вперед, расставляя приоритеты
- Минимизировать влияние человеческого фактора — даже при больничных или отпусках менеджеров заменяющий специалист может быстро понять текущие процессы
- Повышать предсказуемость проектов — все пожелания и договоренности сохраняются и учтены в процессе
- Обеспечить строгий контроль выполнения задач — бот автоматически напомнит, если задача просрочена или нужна коррекция
- Выстраивать отношения с клиентами — бот может помогать строить коммуникацию с учетом психотипа клиента, делая взаимодействие комфортным для обеих сторон
Около месяца мы уже работаем с использованием этого ИИ-агента и чат-бота.
И вот первые отзывы от проджект менеджеров:
Эти технологии не просто упрощают жизнь проджект менеджерам, но и повышают доверие со стороны клиентов.
А когда клиент уверен, что его проект под контролем, и все нюансы учтены, то и процесс идет приятнее для всех сторон. Довольные клиенты возвращаются к нам с новыми проектами и идеями, а также рекомендуют нас своим коллегам и знакомым.
Поэтому мы продолжим вкладывать ресурсы в собственные инструменты и продукты для автоматизации и повышения эффективности наших услуг.
Если вы хотите обеспечить стабильную работу проекта без сбоев, доверьтесь нам. С нами ваш проект всегда будет под контролем — без сюрпризов и в срок.
Комментарии