Записка к плану ремонтов (ИИ)

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

Где найти
«Инструменты» (значок чемоданчика справа вверху) → Расчёты и диагностика → «Износ и план ремонтов» → «Записка к плану». То же — палитрой команд: Ctrl+K и начните набирать название.
Права
право «Запуск расчётов»; на сервере должен быть включён помощник ИИ — иначе кнопок и переключателей ИИ нет.
Читаю как

Возможности

  • Получить пояснительную записку к выбранному расчёту износа: общая оценка и насколько ей можно доверять.
  • Увидеть группы участков со сроком — «в этот сезон», «в следующий сезон», «наблюдение» — с причиной и действием.
  • Щелчком по номеру участка показать его на карте (в группе видны первые 12, остальные — «ещё N»).
  • Прочитать замечания к данным и следующие шаги.
  • Ограничить записку фрагментом — тем же фильтром фрагмента, что у таблицы участков.

Как это работает

Что уходит в модель (ai/wear_plan.py): сводка расчёта износа (участков, средний износ, распределение по категориям, полнота факторов, участки без даты прокладки, с повреждениями, с расходом по расчёту) и 40 участков с наибольшим приоритетом. По каждому участку — узлы, фрагмент, Ø, длина, тип прокладки, срок службы, повреждения, баллы восьми факторов, износ, категория, коэффициент последствий, расход, приоритет.

Замечания к данным считает код и передаёт модели вместе со сводкой:

  • заполнено не больше 2 факторов из 8 у более чем 80 % участков — «индекс опирается на срок и повреждаемость»;
  • ни одного нарушения, привязанного к участкам, — «повреждаемость везде 0»;
  • без даты прокладки больше 10 % участков.

Что делает модель. Объединяет участки в группы, для каждой — название, причина, действие и срочность (1 — в этот сезон, 2 — в следующий, 3 — наблюдение). Номера участков в группах сервер сверяет со списком из 40: чужие номера убираются. Текст записки — на языке интерфейса.

Записка не сохраняется: каждое нажатие — новый вызов модели.

Что нужно для работы

  • Выполненный расчёт износа (окно «Износ и план ремонтов»). Кнопка неактивна, пока расчёт не выбран.
  • Право «Запуск расчётов» и помощник ИИ, включённый на сервере. Без них кнопки «Записка к плану» нет.

Шаги

  1. Откройте «Инструменты» и наберите в поиске «Износ и план ремонтов» — пункт выделен рамкой.

    Пункт «Износ и план ремонтов» в панели «Инструменты»

  2. Нажмите пункт — откроется окно.

    Окно «Износ и план ремонтов»

  3. Выберите расчёт износа и нажмите «Записка к плану». Через несколько секунд появится записка: общая оценка и её достоверность, группы участков со сроком («в этот сезон», «в следующий сезон», «наблюдение»), причина и действие. Щелчок по номеру участка показывает его на карте.

    Записка к плану ремонтов (ИИ): шаг 3

Примеры

Расчёт износа №3 на копии Алматы («Износ участков 23.10.2026 21:21»): 91 004 участка, средний износ 27,67 %; во 2-й категории (20–40 %) — 90 990, в 3-й — 13. Код добавил к входу модели три замечания:

  • у всех 91 004 участков заполнено не больше 2 факторов из 8 (у 81 417 — два, у 9586 — один);
  • журнал нарушений не содержит привязанных к участкам записей — повреждаемость везде 0;
  • без даты прокладки 9574 участка (больше 10 %).

Поэтому записка по этому расчёту говорит о низкой достоверности: индекс держится на сроке службы.

Если не получается

  • Кнопки «Записка к плану» нет — ИИ выключен на сервере или нет права «Запуск расчётов».
  • В записке «достоверность низкая» — у участков мало заполненных факторов износа; заполните год прокладки и результаты обследований.
  • «Помощник ИИ не ответил: Расчёт износа ещё не выполнялся» — сначала выполните расчёт износа.
  • «Помощник ИИ не ответил: Расчёт износа ещё не выполнялся» — сначала выполните расчёт износа.
  • «Помощник ИИ не ответил: Ошибка на сервере: …» — модель недоступна (лимит, нет связи, ИИ выключен); таблица участков работает.
  • В группе нет участков — модель назвала номера не из 40 переданных, сервер их убрал.

Для администратора

  • Флаги: AI_ENABLED, ANTHROPIC_API_KEY, AI_MODEL. Средний уровень рассуждения. Запись «AI» в журнале действий — tool=wear_plan, с номером расчёта, фрагментом и числом участков.

Для разработчика

  • API: POST /api/v1/ai/wear/plan (calculation_id — пусто: последний; fragment_id; top 5–40) → calculation_id, summary, sections, notes, plan (summary, groups[]: title, reason, line_ids, recommended_action, urgency; data_quality, next_steps).
  • Сервер: routers/ai.py, ai/wear_plan.py (build_user_input, _data_notes, _sanitize, MAX_SECTIONS = 40), database/wear.py, промпт ai/prompts/wear_plan.md.
  • Веб: components/WearIndexDialog.vue (makePlan, блок .wear__plan), services/wearService.ts.
  • Тесты: API — tests/test_wear.py; e2e — e2e/functions/ai.spec.ts.
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо