7 мин

IX.3. Как устроен анализ (технический путевой лист)

Суть за 30 секунд

Анализ eyeCARD — это 9-шаговый конвейер в GCP Workflows: 8 шагов на ИИ (извлечение и классификация признаков) + 1 шаг — детерминированный алгоритм Math Engine (расчёт 8 векторов + ICC + нормировка). Результат стабилен: при одинаковых входных данных анализ даёт одинаковый результат. Этот документ объясняет, как устроен конвейер «под капотом».

Общая схема конвейера

┌─────────────────────────────────────────────────────────────┐
│                    ВИЗУАЛЬНЫЙ ПАСПОРТ                        │
│                 (итоговый JSON + отчёт)                      │
└─────────────────────────────────────────────────────────────┘
                            ↑
                    ┌───────────────┐
                    │   ШАГ P4      │  ← Сборка результата
                    │  (ИИ + код)   │     (визуализация, вердикт)
                    └───────────────┘
                            ↑
                    ┌───────────────┐
                    │  MATH ENGINE  │  ← Детерминированный алгоритм
                    │   (ШАГ P3)    │     (расчёт векторов, ICC, нормировка)
                    └───────────────┘
                            ↑
                    ┌───────────────┐
                    │   ШАГ P2      │  ← Классификация признаков
                    │    (ИИ)       │     (6 слоёв: цвет, форма, композиция...)
                    └───────────────┘
                            ↑
                    ┌───────────────┐
                    │   ШАГ P1      │  ← Извлечение признаков
                    │    (ИИ)       │     (что видит ИИ на карточке)
                    └───────────────┘
                            ↑
                    ┌───────────────┐
                    │   ВХОДНЫЕ     │
                    │   ДАННЫЕ      │  ← Изображение карточки (ArrayBuffer)
                    └───────────────┘

Шаг P1: Извлечение признаков

Что делает: ИИ анализирует изображение карточки и извлекает визуальные признаки:

  • Цвета (доминирующие, акцентные)
  • Формы (круглые, острые, геометрические)
  • Композиция (центрированная, асимметричная)
  • Шрифты (антиква, гротеск, рукописный)
  • Фото (изолят, lifestyle, макро)
  • Текстуры (гладкие, шероховатые, матовые)

Технология: Gemini API (мультимодальная модель)

Результат: JSON с сырыми признаками

Статус: ИИ-шаг (недетерминированный, но с температурой 0 для стабильности)

Шаг P2: Классификация признаков

Что делает: ИИ классифицирует признаки по 6 слоям:

  1. Цвет — семантика цвета (красный = срочность, синий = доверие)
  2. Форма — семантика формы (круг = мягкость, треугольник = динамика)
  3. Композиция — структура макета (баланс, выравнивание)
  4. Шрифт — семантика шрифта (антиква = классика, гротеск = современность)
  5. Фото — семантика фото (изолят = функциональность, lifestyle = эмоция)
  6. Текстура — семантика текстуры (мрамор = премиум, дерево = уют)

Технология: Gemini API (промт с классификационными правилами)

Результат: JSON с классифицированными признаками по слоям

Статус: ИИ-шаг (с чёткими правилами классификации)

Шаг P3: Math Engine (детерминированный алгоритм)

Что делает: Python-скрипт на FastAPI (Cloud Run) выполняет:

1. Расчёт 8 семантических векторов

На основе классифицированных признаков вычисляются 4 оси (по 2 полюса каждая):

ОсьПолюс AПолюс B
СтабильностьСтабильностьИзменения
СоциальностьПринадлежностьИндивидуализм
РеализацияМастерствоСлужение
МентальностьРациональностьЭмоциональность

Каждый вектор = значение от -100 до +100 (отрицательное = полюс A, положительное = полюс B).

2. Расчёт ICC (Индекс Когнитивного Комфорта)

Формула ICC учитывает:

  • Количество элементов (меньше = лучше)
  • Упорядоченность (структурированность)
  • Контраст (не чрезмерный)
  • Баланс (симметрия/асимметрия)

Диапазон: 0–100

  • 0–40 — ПЛОХАЯ (высокая когнитивная нагрузка)
  • 40–60 — СРЕДНЯЯ
  • 60–80 — ХОРОШАЯ
  • 80–100 — ОТЛИЧНАЯ (минимальная нагрузка)

Версия алгоритма: Soft Clamping V2.1

3. Нормировка

Все значения нормируются к единой шкале для сравнимости между карточками.

Технология: Python, FastAPI, Cloud Run

Результат: JSON с 8 векторами + ICC + нормированными значениями

Статус: Детерминированный алгоритм (не промпт, не ИИ). При одинаковых входных данных результат всегда одинаковый.

Шаг P4: Сборка результата

Что делает: ИИ генерирует:

  • Визуальный паспорт (JSON + отчёт)
  • Вердикт (СООТВЕТСТВУЕТ / ЧАСТИЧНО / ПРОТИВОРЕЧИТ)
  • Рекомендации (что улучшить)
  • Evidence-блоки (обоснования)

Технология: Gemini API (промт с шаблоном отчёта)

Результат: Визуальный паспорт (JSON + HTML/PNG)

Статус: ИИ-шаг (с шаблоном для стабильности)

Версии методики

ВерсияДатаИзменения
V1.02024-01Первый релиз: 3 оси, базовый ICC
V2.02024-064 оси (добавлена «Ментальность»), улучшенный ICC
V2.12024-09Soft Clamping (плавная нормировка), стабилизация
V3.02025-03Параллельные ветки Nature/Design в YAML
V3.12025-06Отказоустойчивость: глобальные try/except, ретраи
V4.02025-129-шаговый конвейер в GCP Workflows
V4.12026-08Текущая версия (стабильная)

Changelog (ключевые изменения)

V4.1 (2026-08) — Текущая версия

  • Стабилизация конвейера
  • Улучшенная обработка ошибок
  • Оптимизация стоимости (меньше повторных вызовов ИИ)

V4.0 (2025-12) — 9-шаговый конвейер

  • Переход с одного промпта на многошаговый конвейер
  • GCP Workflows для оркестрации
  • Параллельные ветки Nature/Design

V3.1 (2025-06) — Отказоустойчивость

  • Глобальные try/except в YAML
  • Автоматические ретраи при сбоях
  • Логирование всех шагов

V3.0 (2025-03) — Параллельные ветки

  • Разделение на Nature (природа товара) и Design (дизайн карточки)
  • Параллельное выполнение для ускорения

V2.1 (2024-09) — Soft Clamping

  • Плавная нормировка (вместо жёстких порогов)
  • Стабилизация ICC

V2.0 (2024-06) — 4 оси

  • Добавлена ось «Ментальность» (Рациональность ↔ Эмоциональность)
  • Улучшенный ICC (учёт контраста, баланса)

V1.0 (2024-01) — Первый релиз

  • 3 оси (Стабильность, Социальность, Реализация)
  • Базовый ICC (только количество элементов)

Почему результат стабилен

Math Engine (шаг P3) — детерминированный алгоритм:

  • Нет ИИ-промптов
  • Нет случайности
  • При одинаковых входных данных результат всегда одинаковый

ИИ-шаги (P1, P2, P4) — с температурой 0:

  • Температура 0 = минимальная случайность
  • Чёткие промпты с шаблонами
  • Валидация результата

Итог: при одинаковых входных данных анализ даёт одинаковый результат (с точностью до незначительных колебаний ИИ).

Что делать
  1. Проверьте лог в Cloud Logging
  2. Найдите шаг, на котором произошёл сбой
  3. Повторите анализ (автоматический ретрай)
  4. Проверьте входные данные (качество изображения)
  5. Проверьте лог Math Engine (расчёты ICC, векторов)
  6. Сравните с предыдущими версиями (changelog)
  7. Math Engine поддерживает версионирование
  8. Можно запустить анализ с параметром version=v2.0 для сравнения

Технические детали

Инфраструктура:

  • GCP Workflows (оркестрация)
  • Cloud Run (Math Engine, FastAPI)
  • Gemini API (ИИ-шаги)
  • Cloud Storage (входные/выходные данные)
  • Cloud Logging (логи)

Формат данных:

  • Вход: ArrayBuffer (бинарное изображение)
  • Промежуточный: JSON (признаки, классификация)
  • Выход: JSON (векторы, ICC) + HTML/PNG (отчёт)

API:

  • Math Engine: REST API (FastAPI)
  • Эндпоинт: POST /analyze
  • Параметры: image (binary), version (optional)

Мониторинг:

  • Cloud Logging (логи всех шагов)
  • Cloud Monitoring (метрики: время, стоимость, ошибки)
  • Alerting (уведомления о сбоях)
Как на самом деле
«Анализ — это один промпт ИИ»
Анализ — это 9-шаговый конвейер: 8 шагов ИИ + 1 детерминированный алгоритм.
«Результат каждый раз разный»
Math Engine (шаг P3) — детерминированный алгоритм. Результат стабилен.
«ICC — это субъективная оценка»
ICC — объективная метрика, рассчитываемая по формуле (Soft Clamping V2.1).
«Векторы — это магия»
Векторы — результат математических расчётов на основе классифицированных признаков.
Что делать
  1. Понимайте схему — 9 шагов: P1 → P2 → Math Engine → P4.
  2. Знайте, где ИИ, где код — Math Engine детерминирован, ИИ-шаги — с температурой 0.
  3. Следите за версиями — методика эволюционирует (changelog).
  4. Проверяйте логи — при сбоях или странных результатах.
  5. Используйте версионирование — для сравнения с предыдущими версиями.
Читайте также: IX.1·IX.2·IX.4·II.5.3