Факт из Telegram — и перенос сроков одной фразой
В первом выпуске ИИ-помощник только читал: объяснял CPI, разбирал отставание, показывал, откуда взял числа. Теперь он умеет две вещи, которые меняют проект, — записать факт выполнения и перенести сроки работы. Обе сделаны по одному правилу: сначала карточка с тем, что произойдёт, и только потом, после кнопки «Подтвердить», запись.
Факт теперь можно ввести из Telegram. Прорабу на объекте некогда открывать браузер, поэтому бот @evanalysis_bot принимает обычное сообщение — «Рабочка 80 %, оплатили 5 млн» — и отвечает карточкой: «Записать: Рабочая документация — 80 % выполнения, затраты +5 000 000 ₽, дата 21.10.2026?», с проектом, с «было → стало» по выполнению и по затратам накопленным итогом. Сумма на карточке точная, а не «5 млн»: подтверждают запись, а не намерение. После «Подтвердить» приходит «Записано», а с ним две кнопки — «Как это повлияло на CPI?» и «Отменить».
Та же фраза работает и в приложении — в панели «Спросить ИИ» в карточке проекта. Карточка приходит та же: заголовок и строки «было → стало» собирает один и тот же серверный код, так что в чате и в панели одна фраза не может означать разное. Отличий два, и оба от того, что в панели проект уже открыт: про него не переспрашивают, а «Исправить» не просит набрать фразу заново — оно подставляет в поле ввода распознанные значения, чтобы поправить нужное.
То же самое можно сказать голосовым — до 30 секунд. Отдельных голосовых команд нет: распознанный текст идёт туда же, куда напечатанный, поэтому голосом работают и факт, и перенос сроков, и вопрос по проекту. Над любым ответом на голосовое стоит строка «Услышал: «…»» — подтверждать цифру, которую помощник только услышал, можно лишь увидев, что именно он услышал. Строительный жаргон перед разбором проходит через словарь: «рабочка» становится рабочей документацией, «нулевик» — нулевым циклом, «пять лямов» — 5 млн.
Перенос сроков работает и в приложении, и в боте. На «Сдвинь комплексное испытание на 2 недели» приходит карточка «Изменение графика»: даты до и после, какой родительский этап расширится, что станет со сроком проекта и обязательная строка «Плановая S-кривая сдвинется — PV, SPI и прогноз окончания пересчитаются». Отдельно сказано, чего НЕ произойдёт: связанные задачи не двигаются — связей между работами в продукте пока нет, про каждую следующую работу нужно сказать отдельно. Если под названием подходит несколько работ, помощник не угадывает, а показывает их кнопками с плановыми датами.
Текст карточки собирает наш код по тому плану, который будет применён, а не модель по своим намерениям: карточка не может пообещать одно, а записать другое. Сама запись идёт тем же путём, что ручной ввод факта и перетаскивание работы на Ганте, — с теми же правилами для этапов, теми же проверками прав и той же строкой в журнале действий. Поэтому записать факт из бота может тот же участник, что и в вебе, а «Наблюдатель» получает отказ.
Отменить можно и то и другое. «Отменить» под записанным фактом помечает запись отменённой, «Отменить» под применённым сдвигом возвращает прежние даты — те, что стояли в момент применения, так что правку коллеги отмена не затрёт. Срока давности у отмены нет, и лимита она не расходует. Ограничение по времени есть только у неподтверждённой карточки: она живёт 30 минут.
Если ИИ-функции у компании не включены, бот работает как раньше — пересылает сообщение в переписку с поддержкой. Включение добавляет возможность, выключение убирает, и поддержка не ломается ни в одном из состояний. Одно сообщение — один запрос из лимита компании; голосовое стоит столько же, сколько напечатанное.
Что именно изменилось
- Факт выполнения из Telegram: сообщение → карточка «Записать: …?» → «Подтвердить» → запись в проект.
- Та же запись факта в панели «Спросить ИИ» в приложении — одной фразой, с той же карточкой.
- Голосовые сообщения до 30 секунд: факт, перенос сроков и вопрос по проекту — всё то же, что текстом.
- Строка «Услышал: «…»» над каждым ответом на голосовое, в том числе на карточке подтверждения.
- Словарь строительного жаргона перед разбором: «рабочка», «нулевик», «вентфасад», «пять лямов», СМР, ПНР.
- Перенос сроков по просьбе: «Сдвинь кладку на неделю», «Отложи монтаж», «Закончи фасад 28 ноября».
- Карточка «Изменение графика»: даты до и после, расширение этапа и срока проекта, сдвиг плановой S-кривой.
- Строка «Связанные задачи не двигаются» на каждой карточке переноса — связей между работами пока нет.
- Уточнение кнопками, когда под названием подходит несколько работ: название и плановые даты на каждой.
- Сдвиг этапа применяется к его подзадачам, а даты этапа пересчитываются из них.
- «Отменить» после применения: у факта — отмена записи, у сдвига — возврат прежних дат; без срока давности.
- «Как это повлияло на CPI?» — кнопка под только что записанным фактом.
- Выбор проекта в Telegram: ответ по последнему активному и кнопка «Другой проект».
- Команда /help в боте с примерами, которые работают, — отвечает и до включения ИИ.
- Две новых страницы документации: «Сдвиг дат по запросу» и «Факт в Telegram».