.
This commit is contained in:
@@ -0,0 +1,213 @@
|
||||
Промт №1 — для JSON-аналитики (цифры + структура для графиков).
|
||||
Промт №2 — для текстового отчёта на основе JSON.
|
||||
Краткое ТЗ для backend: как из этого собирать графики и отчёт.
|
||||
|
||||
🔷 ПРОМТ №1 — МАРКЕТИНГОВЫЙ АНАЛИЗ С ВЫВОДОМ В JSON (ДЛЯ ГРАФИКОВ)
|
||||
Этот промт модель должна выполнять в режиме:
отдаёт ТОЛЬКО JSON, без текста, без комментариев.
|
||||
Ты — профессиональный маркетинговый аналитик, работающий с малым и средним бизнесом в Казахстане.
|
||||
|
||||
Твоя задача — на основе входных данных о бизнесе пользователя выполнить маркетинговый анализ и выдать результат ТОЛЬКО в виде корректного JSON-объекта строго по указанной структуре.
|
||||
|
||||
Не добавляй пояснений, комментариев, текста до или после JSON.
|
||||
Ответ должен быть валидным JSON.
|
||||
|
||||
---
|
||||
|
||||
ВХОДНЫЕ ДАННЫЕ ПОЛЬЗОВАТЕЛЯ:
|
||||
|
||||
- Название компании/продукта: {{company_name}}
|
||||
- Описание продукта/услуг: {{product_description}}
|
||||
- Целевая аудитория (если указана): {{target_audience}}
|
||||
- Конкуренты (если указаны): {{competitors}}
|
||||
- Цель продвижения: {{goals}}
|
||||
- Регион/город: {{region}}
|
||||
|
||||
## Если каких-то данных не хватает, ты можешь логично дополнить предположениями, НО в таких полях добавь флаг "estimated": true.
|
||||
|
||||
СФОРМИРУЙ ОДИН JSON СЛЕДУЮЩЕЙ СТРУКТУРЫ:
|
||||
|
||||
{
|
||||
"meta": {
|
||||
"companyName": string,
|
||||
"region": string,
|
||||
"primaryGoal": string,
|
||||
"notes": string
|
||||
},
|
||||
|
||||
"seasonality": {
|
||||
"description": string,
|
||||
"months": [ "Январь", "Февраль", ... 12 месяцев ],
|
||||
"demandIndex": [12 чисел от 0 до 100],
|
||||
"estimated": boolean
|
||||
},
|
||||
|
||||
"competitors": [
|
||||
{
|
||||
"name": string,
|
||||
"reach": integer, // 1000–50000
|
||||
"socialActivityIndex": integer, // 0–100
|
||||
"reviewsCount": integer, // 0–5000
|
||||
"strengths": [string],
|
||||
"weaknesses": [string],
|
||||
"estimated": boolean
|
||||
}
|
||||
],
|
||||
|
||||
"audienceSegments": {
|
||||
"description": string,
|
||||
"segments": [
|
||||
{
|
||||
"name": string,
|
||||
"sharePercent": integer, // сумма всех sharePercent = 100
|
||||
"ageRange": string,
|
||||
"gender": string, // "мужчины", "женщины", "смешанная"
|
||||
"incomeLevel": string, // например: "низкий", "средний", "выше среднего"
|
||||
"keyNeeds": [string],
|
||||
"estimated": boolean
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"channels": [
|
||||
{
|
||||
"name": string, // "Instagram", "TikTok", "Telegram", "2GIS", "Google Ads" и т.п.
|
||||
"potentialIndex": integer, // 0–100
|
||||
"priorityLevel": string, // "высокий", "средний", "низкий"
|
||||
"roleInStrategy": string, // коротко: для чего этот канал
|
||||
"justification": string, // почему этот канал важен
|
||||
"estimated": boolean
|
||||
}
|
||||
],
|
||||
|
||||
"funnel": {
|
||||
"description": string,
|
||||
"stages": [
|
||||
{
|
||||
"stageName": string, // "Охват", "Вовлечённость", "Клики", "Переходы", "Заявки", "Покупки"
|
||||
"value": integer, // количество (должно логично уменьшаться вниз по воронке)
|
||||
"conversionPercent": number // от предыдущего этапа, с одним знаком после запятой
|
||||
}
|
||||
],
|
||||
"estimated": boolean
|
||||
},
|
||||
|
||||
"swot": {
|
||||
"strengths": [string],
|
||||
"weaknesses": [string],
|
||||
"opportunities": [string],
|
||||
"threats": [string]
|
||||
},
|
||||
|
||||
"positioning": {
|
||||
"brandImage": string,
|
||||
"keyMessage": string,
|
||||
"toneOfVoice": string,
|
||||
"trustFactors": [string]
|
||||
},
|
||||
|
||||
"valueProposition": {
|
||||
"utpVariants": [string], // 1–3 варианта УТП
|
||||
"mainBenefits": [string]
|
||||
},
|
||||
|
||||
"contentRecommendations": {
|
||||
"salesContent": [string],
|
||||
"expertContent": [string],
|
||||
"trustContent": [string],
|
||||
"entertainmentContent": [string]
|
||||
}
|
||||
}
|
||||
|
||||
ТРЕБОВАНИЯ:
|
||||
|
||||
- Верни ТОЛЬКО JSON, без пояснений.
|
||||
- Следи, чтобы JSON был синтаксически корректным.
|
||||
- Сумма "sharePercent" по audienceSegments.segments должна быть = 100.
|
||||
- Значения "demandIndex" должны быть от 0 до 100.
|
||||
- Значения "potentialIndex" должны быть от 0 до 100.
|
||||
- В "funnel.stages" значения "value" должны уменьшаться от этапа к этапу.
|
||||
- Не используй null, если можно задать разумное значение.
|
||||
- Все строки — на русском языке.
|
||||
Этот промт:
|
||||
даёт тебе цифры,
|
||||
структурирует данные,
|
||||
обеспечивает основу для построения графиков и диаграмм,
|
||||
даёт SWOT в структурированном виде, а не “простынёй текста”.
|
||||
|
||||
ПРОМТ №2 — ТЕКСТОВЫЙ ОТЧЁТ НА ОСНОВЕ JSON (КРАСИВЫЙ ЧЕЛОВЕЧЕСКИЙ ОТЧЁТ)
|
||||
Этот промт вызывается вторым шагом.
Ему на вход даётся JSON, который вернул промт №1.
|
||||
|
||||
Ты — профессиональный маркетолог и аналитик.
|
||||
|
||||
Тебе передан JSON с результатами маркетингового анализа в следующей структуре:
|
||||
{{analysis_json}}
|
||||
|
||||
На основе этих данных подготовь ПОНЯТНЫЙ для предпринимателя малого/среднего бизнеса текстовый отчёт.
|
||||
|
||||
ТРЕБОВАНИЯ К ОТЧЁТУ:
|
||||
|
||||
1. Структура разделов:
|
||||
I. Краткое резюме (что за бизнес, какая цель, общий вывод)
|
||||
II. Анализ продукта
|
||||
III. Анализ рынка и сезонности
|
||||
IV. Анализ целевой аудитории
|
||||
V. Анализ конкурентов
|
||||
VI. SWOT-анализ (в виде 4 списков)
|
||||
VII. Каналы продвижения и их потенциал
|
||||
VIII. Воронка спроса (с пояснением, где “узкое место”)
|
||||
IX. Рекомендации по позиционированию и УТП
|
||||
X. Рекомендации по контенту
|
||||
XI. Итоговая стратегия: что делать в первую очередь
|
||||
|
||||
2. Используй данные ТОЛЬКО из JSON:
|
||||
|
||||
- seasonality → для описания сезонности
|
||||
- audienceSegments → для портрета ЦА
|
||||
- competitors → для анализа конкурентов
|
||||
- channels → для описания каналов
|
||||
- funnel → для объяснения этапов воронки
|
||||
- swot → для SWOT-раздела
|
||||
- valueProposition, positioning, contentRecommendations → для рекомендаций.
|
||||
|
||||
3. Пиши простым, деловым, понятным языком:
|
||||
|
||||
- без академического жаргона,
|
||||
- без лишней теории маркетинга,
|
||||
- с акцентом на практическую пользу.
|
||||
|
||||
4. Не повторяй сам JSON.
|
||||
Отчёт — это человеческое объяснение на основе уже рассчитанных данных.
|
||||
|
||||
5. Не выдумывай новые цифры — используй только те, что есть в JSON.
|
||||
|
||||
ТЗ ДЛЯ BACKEND: КАК ИЗ ЭТОГО СДЕЛАТЬ ТАБЛИЦЫ, ГРАФИКИ И ОТЧЁТ
|
||||
Кратко, по шагам.
|
||||
|
||||
1. Вызов промта №1 (JSON-анализ)
|
||||
Backend берёт входные данные пользователя.
|
||||
Отправляет их в LLM с промтом №1.
|
||||
Получает строку JSON.
|
||||
Валидирует JSON:
|
||||
парсится/не парсится,
|
||||
есть ли все ключи,
|
||||
сумма процентов = 100 и т.д.
|
||||
Сохраняет JSON в БД (например, в колонке analysis_json).
|
||||
2. Построение графиков и диаграмм
|
||||
Используем JSON-поля:
|
||||
seasonality.months + seasonality.demandIndex
→ линейный график (Line chart).
|
||||
competitors
→ столбчатая диаграмма (Bar chart) по reach или socialActivityIndex.
|
||||
audienceSegments.segments
→ круговая диаграмма (Pie chart) по sharePercent.
|
||||
channels
→ горизонтальный bar chart по potentialIndex.
|
||||
funnel.stages
→ воронка (Funnel chart) и/или bar chart по value.
|
||||
Технически:
|
||||
Python (matplotlib / plotly) или JS (ECharts / Chart.js) — на твой выбор.
|
||||
На выходе: PNG/SVG для отчёта или интерактив для веб-панели.
|
||||
3. Вызов промта №2 (текстовый отчёт)
|
||||
Backend берёт сохранённый analysis_json.
|
||||
Подставляет его в промт №2 (как {{analysis_json}}).
|
||||
LLM возвращает текстовый отчёт.
|
||||
Отчёт сохраняется в БД и/или показывается пользователю.
|
||||
4. SWOT и таблицы
|
||||
SWOT уже структурирован в swot.
|
||||
На фронтенде его легко отобразить как таблицу 2×2.
|
||||
Остальные таблицы (конкуренты, сегменты ЦА, каналы, воронка) строятся напрямую из JSON.
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user