Главная / Архитектура

Функционал и архитектура системы

Роли и функции этапов B2C и B2B, C4-схемы от контекста до развёртывания, модель данных, интеграции, дорожная карта и ключевые решения.

7 схемМодель C420 мин чтения

Часть 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. Контекст системы#

Контекст системыSVG · PNG · нажмите на схему, чтобы увеличить

3.3. C4 — уровень 2. Контейнеры (этап 1)#

Контейнеры этапа 1: путь запросаSVG · PNG · нажмите на схему, чтобы увеличить

Вторая половина контейнеров этапа 1 — эксперт, знания, обучение:

Контейнеры этапа 1: эксперт, знания, обучениеSVG · PNG · нажмите на схему, чтобы увеличить

3.4. C4 — уровень 3. Компоненты конвейера анализа#

Компоненты конвейера анализаSVG · PNG · нажмите на схему, чтобы увеличить

3.5. Динамика: путь одного запроса#

Путь одного запросаSVG · PNG · нажмите на схему, чтобы увеличить

3.6. C4 — уровень 2. Контейнеры этапа 2 (B2B, дополненная реальность)#

Контейнеры этапа 2: промсад и дополненная реальностьSVG · PNG · нажмите на схему, чтобы увеличить

3.7. Развёртывание (этап 1)#

Развёртывание этапа 1SVG · PNG · нажмите на схему, чтобы увеличить

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-сервер хозяйства и синхронизация при связи; тяжёлые расчёты — в ядре заранее