56 lines
2.6 KiB
Markdown
56 lines
2.6 KiB
Markdown
|
|
# Оптимизация генерации визарда
|
||
|
|
|
||
|
|
## Проблема
|
||
|
|
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 сек
|
||
|
|
|
||
|
|
|