9.9 KiB
9.9 KiB
AI-генерация маркетинговых стратегий — Документация
Обзор
Система AI-генерации создаёт профессиональные маркетинговые стратегии на 4 недели с 16 постами, используя строгую валидацию и профессиональные промпты.
Архитектура
┌─────────────────────────────────────────────────────────────┐
│ ФРОНТЕНД (Vue 3) │
├─────────────────────────────────────────────────────────────┤
│ AIStrategyGenerator.vue (UI компонент) │
│ ↓ │
│ strategyPromptGenerator.ts (генерация промпта) │
│ ↓ │
│ AIStrategyService.ts (сервис API + валидация) │
│ ↓ │
│ validateAIStrategy.ts (полная валидация) │
│ ↓ │
│ ai-strategy.types.ts (TypeScript интерфейсы) │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ BACKEND API │
│ POST /api/ai/strategy/generate │
│ Тело: { prompt, model, temperature, maxTokens } │
└─────────────────────────────────────────────────────────────┘
Файлы
| Файл | Назначение |
|---|---|
src/types/ai-strategy.types.ts |
TypeScript интерфейсы и константы |
src/utils/validateAIStrategy.ts |
Утилита полной валидации AI-ответа |
src/utils/strategyPromptGenerator.ts |
Генератор промпта и парсер JSON |
src/service/AIStrategyService.ts |
Сервис работы с AI-стратегиями |
src/components/marketing/AIStrategyGenerator.vue |
UI компонент генератора |
src/views/pages/marketing/AIStrategyGeneratorPage.vue |
Страница генератора |
TypeScript интерфейсы
PostCalendarItem
interface PostCalendarItem {
postIndex: number; // 0-15
publishDate: string; // "2026-04-13T09:00:00"
weekNumber: 1 | 2 | 3 | 4;
platform: 'Instagram' | 'TikTok';
contentType: 'фото' | 'видео';
theme: string; // Конкретная тема
postText: string; // 150+ слов
hashtags: string[]; // 5-8 хэштегов
publishTime: '09:00' | '12:00' | '18:00' | '20:00';
imageUrl?: string;
videoUrl?: string;
taskStatus?: string;
}
WeeklyPlan
interface WeeklyPlan {
weekNumber: 1 | 2 | 3 | 4;
mainThemes: string[]; // Ровно 4 темы
contentRecommendations: string; // 50+ слов
priorityPlatforms: string[];
}
AIStrategyResponse
interface AIStrategyResponse {
selectedModel: string;
scoringRationale: string;
recommendedDurationWeeks: 4;
recommendedPlatforms: string[];
rationale: string; // 60+ слов
weeklyPlans: WeeklyPlan[]; // 4 недели
postCalendar: PostCalendarItem[]; // 16 постов
}
Правила валидации
Критические ошибки (ERROR)
| Правило | Проверка |
|---|---|
| Количество постов | Ровно 16 (4 × 4 недели) |
| Недели | Каждая из 4 недель представлена |
| Даты | ISO формат, правильные дни (Пн, Ср, Пт, Сб) |
| Время | Только 09:00, 12:00, 18:00, 20:00 |
| Видео | Ровно 4 (первый пост каждой недели) |
| Фото | Ровно 12 (остальные посты) |
| Хэштеги | 5-8 на пост, каждый начинается с # |
| Текст | 150+ слов на пост |
| Темы | Конкретные, не абстрактные |
Предупреждения (WARNING)
| Правило | Проверка |
|---|---|
| Абстрактные темы | Темы без конкретики |
| Стиль | Рекомендации по улучшению |
Использование
1. Через UI
Перейдите на /marketing-analysis/ai-strategy
Заполните:
- Ниша бизнеса
- Название бренда
- Город продвижения
- Модель стратегии (ENTRY/AUTHORITY/TRUST/CONVERSION)
- Дата начала (опционально)
2. Программно
import AIStrategyService from '@/service/AIStrategyService';
const result = await AIStrategyService.generateAIStrategy({
niche: 'Кондитерская',
brand: 'Sweet Dreams',
city: 'Алматы',
model: 'CONVERSION'
});
console.log(result.strategy); // AIStrategyResponse
console.log(result.validation); // ValidationResult
3. Валидация готовй стратегии
import { validateAIStrategy } from '@/utils/validateAIStrategy';
const validation = validateAIStrategy(myStrategy);
if (!validation.isValid) {
console.error(validation.errors);
}
4. Экспорт
// JSON
AIStrategyService.exportStrategyAsJSON(strategy, 'my-strategy');
// CSV
AIStrategyService.exportCalendarAsCSV(strategy, 'my-calendar');
Константы
STRATEGY_CONSTANTS = {
TOTAL_POSTS: 16,
POSTS_PER_WEEK: 4,
TOTAL_WEEKS: 4,
TOTAL_VIDEOS: 4,
TOTAL_PHOTOS: 12,
MIN_POST_WORDS: 150,
MIN_HASHTAGS: 5,
MAX_HASHTAGS: 8,
MIN_WEEKLY_RECOMMENDATION_WORDS: 50,
MIN_RATIONALE_WORDS: 60,
VALID_PUBLISH_TIMES: ['09:00', '12:00', '18:00', '20:00']
}
Модели стратегий
| Модель | Описание | Когда использовать |
|---|---|---|
| ENTRY | Вход / Формирование присутствия | Новые бизнес, узнаваемость |
| AUTHORITY | Экспертность / Компетентность | B2B, длинный цикл сделки |
| TRUST | Усиление доверия | Высокая конкуренция |
| CONVERSION | Прямая конверсия | Быстрые покупки, B2C |
API Endpoints
Генерация стратегии
POST /api/ai/strategy/generate
Content-Type: application/json
{
"prompt": "...",
"model": "gpt-4",
"temperature": 0.7,
"maxTokens": 8000
}
Response:
{
"data": {
"content": "{...JSON стратегии...}"
}
}
Распределение постов
Неделя 1-4 (одинаковая структура)
| Пост | День | Время | Тип |
|---|---|---|---|
| 1 | Понедельник | 09:00 | 🎥 Видео |
| 2 | Среда | 12:00 | 📸 Фото |
| 3 | Пятница | 18:00 | 📸 Фото |
| 4 | Суббота | 20:00 | 📸 Фото |
Пример правильного ответа AI
{
"selectedModel": "CONVERSION",
"scoringRationale": "Модель Conversion оптимальна...",
"recommendedDurationWeeks": 4,
"recommendedPlatforms": ["Instagram", "TikTok"],
"rationale": "Instagram и TikTok являются...",
"weeklyPlans": [
{
"weekNumber": 1,
"mainThemes": ["Кейс клиента", "Процесс работы", "Отзыв", "Экспертный"],
"contentRecommendations": "На этой неделе фокусируемся...",
"priorityPlatforms": ["Instagram"]
}
],
"postCalendar": [
{
"postIndex": 0,
"publishDate": "2026-04-13T09:00:00",
"weekNumber": 1,
"platform": "Instagram",
"contentType": "видео",
"theme": "Кейс: Как клиент увеличил продажи на 40%",
"postText": "Хотите узнать, как наш клиент из Алматы...",
"hashtags": ["#кейс", "#алматы", "#бизнес"],
"publishTime": "09:00"
}
]
}
Troubleshooting
Ошибка: "Невалидный JSON"
AI вернул текст с markdown блоками. Функция extractJSONFromResponse автоматически очищает ответ.
Ошибка валидации: "postCalendar должен содержать ровно 16 постов"
AI вернул меньше или больше постов. Проверьте промпт и температуру (рекомендуется 0.7).
Предупреждение: "Тема выглядит абстрактной"
AI создал тему без конкретики. Стратегия валидна, но темы можно улучшить.
Roadmap
- Сохранение стратегии на бэкенде
- Интеграция с автопостингом
- Редактор постов в UI
- A/B тестирование тем
- Мульти-язычность
Лицензия
Внутренний проект Konturai.