Часть 2. Функционал системы#
2.1. Роли#
| Роль | Этап | Что делает в системе |
|---|---|---|
| Дачник (пользователь B2C) | 1 | Присылает фото, получает разметку и объяснение, задаёт вопросы по уходу, платит за премиум |
| Эксперт-садовод и его ученики | 1–2 | Правят черновики разметки, отвечают на премиум-запросы, ведут базу правил |
| Оператор сервиса (ПаркЛаб) | 1–2 | Следит за очередью, качеством, метриками, тарифами; управляет моделями и выпуском версий |
| ML-инженер | 1–2 | Выгружает датасет, обучает и оценивает модели, публикует новые версии в роутер моделей |
| Агроном хозяйства (B2B) | 2 | Задаёт стандарт обрезки для квартала сада, утверждает правила, смотрит отчёты по бригадам |
| Рабочий бригады (B2B) | 2 | В очках или на телефоне видит метки на дереве, подтверждает выполнение |
2.2. Функции этапа 1 (B2C)#
Бот для пользователя.
- Онбординг: согласие на обработку данных, выбор региона и языка, инструкция по съёмке с примерами «хорошо / плохо».
- Приём 1–3 фото и метаданных кнопками (яблоня / груша, возраст, была ли обрезка, система формировки «не знаю»).
- Контроль качества снимка до анализа: размытие, листва, обрезанный кадр, посторонние объекты, слишком далеко; понятный отказ и совет, как переснять.
- Ответ: фото с оверлеем и легендой, текст по каждой метке с обоснованием и уверенностью, общий совет по срокам и инструменту; кнопки «понятно / не согласен / спросить эксперта / переснять».
- Профиль участка: несколько деревьев, история запросов, напоминания о сроках (по региону и погоде), «план обрезки участка» в PDF.
- Текстовый ассистент по уходу за садом: вопросы и ответы по базе знаний эксперта с указанием источника; напоминания по календарю работ.
- Тарифы: бесплатный лимит фото в сезон, сезонная подписка, платный ответ эксперта, оплата через Telegram Stars и ЕРИП; чеки и история платежей.
- Обратная связь: оценка ответа, фото «после обрезки», фото летом (результат) — замыкает цикл обучения.
Кабинет эксперта.
- Очередь запросов с приоритетом (платные — первыми), фильтры по региону, типу дерева, уверенности модели.
- Редактор разметки поверх фото: черновик модели, перетаскивание и удаление меток, изменение действия и комментария, шаблоны частых объяснений, голосовой ввод комментария.
- Отправка ответа одной кнопкой; учёт времени на запрос; статистика правок (какие правила модель нарушает чаще).
- Редактор базы правил: правило «если — то» с фото-примерами, версии, привязка меток к правилам.
- Ученики эксперта: роли, лимиты, контроль качества экспертом (выборочная проверка).
Ядро анализа.
- Роутер моделей: выбор модели по типу задачи, стоимости и доступности (локальная Qwen-VL, внешние API), логирование запросов, лимиты.
- Конвейер: контроль качества → сегментация ствола и ветвей → оценка глубины по одному кадру → скелет дерева и признаки ветвей (угол, длина, диаметр в пикселях, положение относительно проводника) → применение правил → черновик разметки; мультимодальная модель объясняет и проверяет черновик, а также работает как единственный анализатор на ранней стадии.
- Оценка уверенности и решение «нужен второй ракурс».
- Рендер оверлея в едином стиле; хранение результата в формате разметки.
Данные и обучение.
- Хранилище пар «фото — черновик — правки — итог — метаданные — обратная связь пользователя».
- Выгрузка датасета по версиям; интеграция с инструментом разметки для доразметки (полигоны ветвей).
- Обучение и оценка: дообучение мультимодальной модели на парах «фото → JSON», дообучение сегментации, тесты на скрытом наборе, сравнение версий, выпуск в роутер.
- Панель метрик: согласие с экспертом, доля отказов, время и стоимость ответа, конверсия в платные ответы.
2.3. Функции этапа 2 (B2B)#
- Профиль хозяйства: кварталы, сорта, подвои, система формировки, стандарт обрезки от агронома (правила B2B поверх базы B2C).
- Съёмка дерева видео или RGB-D камерой (телефон с LiDAR, промышленная камера глубины на штанге) и 3D-реконструкция скелета; точки обрезки в 3D.
- Подсказки рабочему: очки дополненной реальности или телефон на штативе — метки на ветках в поле зрения, голосовые команды «дальше / готово / сомневаюсь»; работа без интернета (вычисления на телефоне или edge-сервере хозяйства).
- Контроль исполнения: фото «после», сравнение с планом, отчёт агроному по бригадам и кварталам, выявление систематических ошибок рабочих.
- Обучение бригад: режим тренажёра на реальных деревьях, оценка рабочего по совпадению с экспертом.
- Интеграция с учётом хозяйства (кварталы, работники, наряды), с картой сада, с данными о погоде и урожайности для оценки эффекта обрезки.
Часть 3. Архитектура#
3.1. Принципы#
- Эксперт в контуре с первого дня: система не выпускает ответ без пути к правке экспертом, пока автоматическое качество не подтверждено.
- Один формат разметки на всех этапах: черновик модели, правка эксперта, обучающий пример, ответ пользователю — один JSON.
- Роутер моделей вместо привязки к одному поставщику: локальные модели с открытыми весами в контуре ПаркЛаб плюс внешние API там, где они доступны и дешевле.
- Данные и модели — активы: хранение в Беларуси, версии датасетов и моделей, воспроизводимая оценка на скрытом наборе.
- Telegram — первый интерфейс, но не единственный: ядро доступно по API для веб-кабинета, Viber-бота (в Беларуси Viber используют 70 % жителей, Telegram — 34 %), будущего приложения и B2B-клиента в очках.
- Доступность моделей из Беларуси — ограничение архитектуры: API OpenAI, Anthropic и Google Gemini официально не работают из РБ, поэтому основной анализатор — локальная модель с открытыми весами, внешние API подключаются через роутер там, где они доступны (OpenRouter, Yandex AI Studio, GigaChat).
3.2. C4 — уровень 1. Контекст системы#
3.3. C4 — уровень 2. Контейнеры (этап 1)#
Вторая половина контейнеров этапа 1 — эксперт, знания, обучение:
3.4. C4 — уровень 3. Компоненты конвейера анализа#
3.5. Динамика: путь одного запроса#
3.6. C4 — уровень 2. Контейнеры этапа 2 (B2B, дополненная реальность)#
3.7. Развёртывание (этап 1)#
3.8. Модель данных (основные сущности)#
| Сущность | Ключевые поля | Назначение |
|---|---|---|
| User | telegram_id, регион, язык, тариф, согласие, дата регистрации | Пользователь бота |
| Plot / Tree | user_id, название, вид, возраст, формировка, история | Профиль участка и дерева |
| Request | tree_id, статус (new / rejected / draft / expert_queue / answered), приоритет, платный ли | Один запрос на разметку |
| Photo | request_id, ключ в S3, ракурс, EXIF, оценка качества | Исходные снимки |
| Analysis | request_id, версия модели, JSON разметки (схема 1.0), уверенность, стоимость, время | Черновик системы |
| ExpertReview | analysis_id, expert_id, итоговый JSON, список правок, время работы | Ответ эксперта |
| Rule | код (R07), условие, действие, объяснение, фото-примеры, версия | База правил эксперта |
| KnowledgeDoc | источник, текст, эмбеддинг, теги | База ассистента по уходу |
| Feedback | request_id, оценка, «не согласен», фото после, фото летом | Замыкание цикла |
| Payment / Subscription | user_id, тариф, сумма, канал (Stars / ЕРИП), период | Монетизация |
| DatasetVersion / ModelVersion | состав, метрики на скрытом наборе, дата, кто выпустил | Воспроизводимость |
| (этап 2) Farm / Block / TreeRow / WorkOrder / Execution | хозяйство, квартал, ряд, наряд, факт | Промсад |
3.9. Интеграции#
| Интеграция | Необходимость | Этап | Назначение и заметки |
|---|---|---|---|
| Telegram Bot API (webhook, Stars, Mini App) | Обязательно | 1 | Канал, оплата цифровых услуг через Stars; Mini App — для редактора «не согласен» и просмотра истории. Лимиты: скачивание файлов до 20 МБ, отправка фото до 10 МБ, 1 сообщение в секунду в чат (core.telegram.org) |
| Viber Bot API | Желательно | 1 (после сезона 2027) | Канал для Беларуси, где Viber вдвое популярнее Telegram (aif.by); тот же Core API, отдельный адаптер |
| Локальная мультимодальная модель (Qwen2.5-VL / Qwen3-VL, vLLM или Ollama, OpenAI-совместимый API) | Обязательно | 1 | Основной анализатор и объяснитель в контуре ПаркЛаб; Qwen2.5-VL выдаёт координаты объектов на фото, 7B работает от 8 ГБ памяти, 72B — 49 ГБ (ollama.com); не зависит от доступности зарубежных API |
| Внешние мультимодальные API через роутер | Желательно | 1 | OpenAI, Anthropic, Gemini из Беларуси недоступны (OpenAI, Anthropic, Google). Рабочие варианты: OpenRouter — без гео-ограничений, оплата картой или USDC, Qwen2.5-VL-72B $0,8/$1 за 1 млн токенов (openrouter.ai); Yandex AI Studio через партнёра Softman с оплатой в BYN, мультимодальная Qwen3.6 35B (softman.cloud); GigaChat — изображения до 15 МБ, бесплатный лимит для физлиц (developers.sber.ru). Ключи — на ПаркЛаб, сравнение качества и резерв мощности |
| Модели сегментации и глубины с открытыми весами (SAM2, YOLO-seg, Depth Anything v2) | Обязательно | 1–2 | Геометрия ветвей; дообучение на своём датасете |
| S3-совместимое хранилище, PostgreSQL и GPU в Беларуси | Обязательно | 1 | Хранение данных в РБ — принцип Общества. beCloud: Kubernetes и IaaS в BYN, GPU в тарифах нет (becloud.by); hoster.by: GPU-серверы RTX 6000 Ada / PRO в минском ЦОД, цены по запросу (hoster.by) — резерв до ввода собственного узла Общества |
| Инструмент разметки (Label Studio или CVAT) | Обязательно | 1 | Доразметка масок ветвей для обучения сегментации; импорт-экспорт в формат схемы 1.0 |
| Платежи: ЕРИП через bePaid / Assist Belarus; ЮKassa или СБП для РФ; Kaspi для КЗ | Желательно | 1 | Подписка и платный ответ эксперта вне Telegram Stars |
| Погода и география (Open-Meteo, справочник регионов и климатических зон) | Желательно | 1 | Календарь работ и напоминания «пора резать» |
| Определение вида растения (Pl@ntNet API) | Возможно | 1 | Подтверждение «это яблоня» по фото летом; на зимних фото малополезно |
| Аналитика и панели (Metabase / Grafana, Prometheus) | Обязательно | 1 | Метрики качества и бизнеса |
| Мониторинг ошибок и логов (Sentry-совместимый, Loki) | Желательно | 1 | Эксплуатация |
| Реестр моделей и экспериментов (MLflow) | Желательно | 1 | Версии моделей и метрики |
| Очки дополненной реальности | Обязательно | 2 | Кандидаты 2026 г.: RealWear Navigator 520 (промышленные, голосовое управление), Rokid Glasses (49 г, монохромный дисплей до 1 500 нит — важно на снегу и солнце, $479–599), Meta Ray-Ban Display ($799); HoloLens 2 снят с производства. Android SDK, ARCore; отображение меток на ветках, голосовые команды, работа в перчатках и на морозе. MVP этапа 2 — на смартфоне и планшете, как у DFKI и 3D2cut |
| Камеры глубины и LiDAR (iPhone / iPad LiDAR, Intel RealSense, Orbbec) | Обязательно | 2 | RGB-D для 3D-реконструкции |
| 3D-реконструкция (COLMAP, Gaussian Splatting, Open3D) | Обязательно | 2 | Скелет дерева в 3D по видео-обходу |
| Учёт хозяйства и карта сада (1С: Сельское хозяйство, ГИС QGIS, данные с дронов) | Желательно | 2 | Кварталы, наряды, отчёты по бригадам, эффект обрезки на урожай |
| Единая учётная запись и SSO для хозяйства | Возможно | 2 | Бригады, роли |
Часть 4. Дорожная карта реализации#
| Период | Что строится | Результат |
|---|---|---|
| 29.09 – 15.10.2026 | Стартовый набор кода (шаблон бота, схема разметки, рендер, скрипт оценки, baseline на Qwen2.5-VL); GPU-сервер с локальной моделью; роутер с внешними ключами; 30–50 размеченных фото и правила v0 | Инфраструктура хакатона |
| 16–18.10.2026 | Хакатон: прототипы бота, кабинета эксперта и конвейера анализа от 10–15 команд | Лучшие части — в один репозиторий; команда |
| Ноябрь 2026 – январь 2027 | Перенос в контур ПаркЛаб: Core API, очередь, хранилище в РБ, кабинет эксперта, роутер моделей, панель метрик; полная база правил (20–40) и 50–100 размеченных фото; инструкция по съёмке; тарифы и оплата Stars | Версия 0.1 к сезону |
| Февраль – апрель 2027 | Сезонный запуск с экспертом в контуре: черновик модели → правка эксперта → ответ; сбор 1–3 тыс. пар; ассистент по уходу (RAG) | Датасет сезона 2027, первые платежи |
| Май – сентябрь 2027 | Дообучение сегментации ветвей и мультимодальной модели на парах «фото → JSON»; скрытый набор и замер согласия с экспертом; автоответ для типовых случаев; Viber-адаптер | MVP: согласие ≥70 %, ответ за минуты |
| IV кв. 2027 – 2028 | Автомат для типовых деревьев, эксперт — премиум; выход на РФ и КЗ; пилот этапа 2 в хозяйстве партнёра (видео и RGB-D, 3D-скелет, правила промсада) | Рабочая версия B2C; датасет промсада |
| 2028 – 2029 | Подсказки в очках, edge-сервер хозяйства, интеграция с учётом; пилот с бригадой в сезон 2029 | Продукт B2B на рынке |
Часть 5. Ключевые архитектурные решения и риски#
| Решение | Почему | Риск и ответ |
|---|---|---|
| Единый JSON-формат разметки на всех этапах | Один формат для ответа, правки, датасета и обучения убирает конвертации и потери данных | Формат придётся расширять (3D для этапа 2) — заложена версия схемы |
| Локальная модель как основной анализатор, внешние API через роутер | Внешние API недоступны из РБ, данные хранятся в стране, стоимость ответа контролируема | Локальная модель слабее лучших внешних — компенсируется дообучением на своих данных и правилами эксперта |
| Эксперт в контуре с первого дня | Ответственность за конкретное дерево, датасет правок как побочный продукт сервиса | Узкое место — время эксперта; ответ — ученики эксперта, приоритет платных запросов, автоответ для типовых случаев после подтверждения качества |
| Правила эксперта как отдельный движок, а не только промпт | Объяснимость, версии, обучение персонала, перенос в B2B | Правила зависят от формировки и сорта — начинаем с одной формировки, версии правил по типам деревьев |
| Telegram-first, ядро за API | Быстрый старт без приложения; те же сервисы для Viber, веб-кабинета и AR-клиента | В Беларуси Telegram уступает Viber — адаптер Viber после сезона 2027 |
| Хранение в Беларуси (beCloud, hoster.by), GPU ПаркЛаб | Принцип Общества, персональные данные по Закону № 99-З | GPU-узел Общества может быть не введён к хакатону — аренда в hoster.by |
| Этап 2 без интернета в саду | Связи в саду нет, очки автономны 6 часов | Edge-сервер хозяйства и синхронизация при связи; тяжёлые расчёты — в ядре заранее |