Files
crm.clientright.ru/ticket_form/docs/WIZARD_OPTIMIZATION.md
Fedor de011efba9 fix: исправлен конфликт имён переменных в loadDraft (claimId -> finalClaimId)
- Исправлена ошибка ReferenceError при загрузке черновиков
- Переименована локальная переменная claimId в finalClaimId для избежания конфликта с параметром функции
- Обновлена логика извлечения claim_id из разных источников (claim.claim_id, payload.claim_id, body.claim_id, claim.id)
- Добавлен fallback на параметр claimId функции для надёжности
2025-11-19 23:33:52 +03:00

2.6 KiB

Оптимизация генерации визарда

Проблема

AI Agent генерирует визард за ~40 секунд, что слишком долго для UX.

Варианты оптимизации

1. Сократить промпт (приоритет: ВЫСОКИЙ)

Текущий промпт ~2000+ символов. Можно сократить до ~800-1000, убрав:

  • Повторения инструкций
  • Детальные объяснения форматов (оставить только примеры)
  • Лишние поля в ответе (если не используются)

Ожидаемый эффект: -15-20 секунд

2. Использовать более быструю модель

  • gpt-4o-mini вместо gpt-4.1-mini (быстрее в 2-3 раза)
  • Или gpt-3.5-turbo для простых случаев

Ожидаемый эффект: -20-25 секунд

3. Streaming ответа

Начать обрабатывать JSON по частям, как только начинают приходить данные.

Ожидаемый эффект: UX улучшится (показываем прогресс), но общее время не изменится

4. Кэширование для похожих запросов

Кэшировать результаты для похожих описаний (по хэшу первых 200 символов).

Ожидаемый эффект: -35-40 секунд для повторных запросов

5. Упростить схему ответа

Убрать неиспользуемые поля:

  • coverage_report.questions (если не используется)
  • risks, deadlines (если не критично)
  • Детальные rationale для каждого вопроса

Ожидаемый эффект: -5-10 секунд

6. Разбить на этапы

  1. Быстро генерировать базовый план (5-7 вопросов, список документов) - 10-15 сек
  2. Параллельно/асинхронно дорабатывать prefill и coverage_report

Ожидаемый эффект: UX улучшится (показываем план быстрее)

Рекомендуемый подход

Комбинация 1 + 2 + 5:

  • Сократить промпт до минимума
  • Переключиться на gpt-4o-mini
  • Убрать неиспользуемые поля

Ожидаемый результат: 40 сек → 10-15 сек