AI-агент контента для Telegram-канала @pishu_pro
Все документы ниже — на русском языке. Нажми на заголовок стадии, чтобы развернуть полный текст документа. Внутри каждого документа можно ознакомиться со всеми выводами, таблицами и решениями.
Version: 1.0 Date: 2026-06-18 Confidence: M [CAVEAT: core 3-5h/day claim is self-report, grade T5] Evidence tiers used: T2 (concept document authored by stakeholder), T3 (detailed technical specification), T5 (stakeholder assertions in spec)
| Роль | Рекомендуемый путь |
|---|---|
| Софья (автор) | Основные выводы → Постановка проблемы → Рекомендации |
| Разработчик | Constraint Map → Problem-Solution Fit → Рекомендации |
Notation key: T1-T6 = evidence tiers (T1 = behavioral data, T6 = assumption). H/M/L = confidence levels. O->I->R->C->W = Observation → Implication → Response → Check → Watch.
Создание ежедневного контента для Telegram-канала «Бизнес без людей» требует ручного поиска, анализа и адаптации бизнес-кейсов в уникальном авторском стиле. Процесс отнимает 3-5 часов в день и ограничивает частоту публикаций. AI-агент решает эту проблему: автоматически собирает кейсы из источников, фильтрует, переписывает в голосе Софьи и ставит в график публикации, сохраняя качество и аутентичность. Рекомендуется: перейти к разработке по готовому ТЗ (123.md).
| Dimension | Description |
|---|---|
| Who | Софья Солт — предприниматель, автор канала @pishu_pro, 12 лет в маркетинге. Аудитория 30-45 лет, предприниматели, интересующиеся AI-автоматизацией бизнеса. |
| What pain | Ручной поиск, отбор и адаптация бизнес-кейсов в авторский стиль требует 3-5 часов ежедневно, что ограничивает масштабирование контента. |
| Trigger | Необходимость ежедневных публикаций при одном авторе; желание сохранить уникальный голос при масштабировании. |
| Consequence | Либо частые пропуски публикаций, либо снижение качества/аутентичности контента при попытке ускорить процесс. |
Confidence: M [CAVEAT: core 3-5h/day claim is self-report, grade T5] (T2 — концепция от стейкхолдера; T3 — детальное ТЗ разработки)
Evidence: Концепция pishu-pro-concept.md (T2), ТЗ 123.md (T3)
| Dimension | Finding | Evidence |
|---|---|---|
| User | Софья Солт — соло-автор с экспертизой в AI и маркетинге | T2: концепция |
| Need | Регулярный контент в авторском стиле без выгорания автора | T2: концепция |
| Trigger | Ежедневный слот публикации + желание масштабировать канал | T3: ТЗ (расписание) |
| Current alternative | Ручной сбор кейсов, ручное редактирование, периодические пропуски | T5: inferred from automation intent |
| Barrier | Потеря уникального голоса при автоматизации | T2: концепция (голос Сони — ключевой asset) |
| Success | Регулярные посты в голосе Сони, 2 слота/день, читатели не отличают от ручных | T3: ТЗ |
| Context | Telegram-канал, аудитория B2B предприниматели | T2, T3 |
Canvas completeness: 6/7 cells at T2-T3, 1 at T5. Good coverage.
Why #1: Софья тратит 3-5 часов в день на контент. Why #2: Каждый пост требует поиска релевантного кейса, проверки его подлинности, адаптации в авторский стиль, модерации. Why #3: Автоматизация контента стандартными AI-инструментами даёт «стерильные» тексты без уникального голоса и экспертизы. Why #4: Рынок AI-контента насыщен генераторами «воды», но нет решения, которое умеет: парсить реальные кейсы → классифицировать → переписывать в заданном тоне → модерировать → публиковать. Why #5: Существующие AI-агенты не учитывают разницу между «написать с нуля» и «адаптировать существующий факт в авторский разбор» — а именно второй формат ценят подписчики @pishu_pro.
Root cause: Отсутствие инструмента, который соединяет парсинг релевантных источников, классификацию контента и адаптацию в уникальный авторский голос в едином конвейере.
Validation chain: Все причины документально подтверждены, но требуют T1 поведенческой валидации (All reasons documented but require T1 behavioral validation)
| Competing hire | Description | Switching cost |
|---|---|---|
| Delegation ассистенту | Нанять человека для поиска и адаптации кейсов | Высокая (стоимость, обучение голосу) |
| Ручной режим | Продолжать делать всё вручную | Низкая (но лимит по времени) |
| ChatGPT прямой | Писать промпты каждый раз с нуля | Средняя (нет консистентности стиля) |
| Deleting/пропуск | Публиковать реже | Низкая (потеря аудитории) |
Основное решение: AI-агент, настроенный на голос и источники. «Doing nothing» ведёт к стагнации канала.
| Dimension | Score (1-5) | Evidence | Notes |
|---|---|---|---|
| Frequency | 5 — daily need | T2: концепция, T3: 2 публикации/день | Процесс повторяется ежедневно |
| Severity | 4 — high | T2: 3-5 часов/день — значительные затраты | Прямое влияние на время автора |
| Breadth | 3 — moderate | T5: inferred | Один канал, ~1 автор, ~10k-50k аудитория |
| Willingness | 5 — proven | T2: концепция + ТЗ уже написаны | Готовность к разработке подтверждена ТЗ |
Opportunity Score: 5 × 4 × 1-2 × 5 = 100-200 — Directional. Breadth=1-2 (single channel, single author). Score reflects personal pain level, not market validation. [CAVEAT: 40% of weight (Severity) is self-report without time-tracking]
Interpretation: High frequency, severe time cost, proven willingness (ТЗ уже написано). Рекомендуется: PASS CONDITIONAL — requires Experiment 1 pre-build and time-tracking validation.
| Test | Status | Evidence |
|---|---|---|
| Existence | PASS | T2: Софья тратит 3-5 ч/день на контент |
| Severity | PASS | T2: время — критический ресурс предпринимателя |
| Frequency | PASS | T2: контент нужен ежедневно |
| Willingness | PASS | T3: готовое ТЗ, выбраны технологии, стек |
| Solvability | PASS | T3: решение описано на 60+ страниц, выбраны Claude API, Telethon, python-telegram-bot |
| Timing | PASS | T2: канал растёт, контент — основной драйвер; AI-рынок на пике |
All 6 tests PASS CONDITIONAL — Existence and Severity rely on self-reported 3-5h/day without T1 time-tracking data. Requires validation before treating as confirmed.
| Constraint type | Description | Severity | Evidence |
|---|---|---|---|
| Technical | Claude API rate limits, Telegram API limits (FloodWait) | Medium | T3: ТЗ, раздел ошибок |
| Organizational | Соло-автор — нет команды на поддержку | Medium | T5 |
| Resource | VPS Ubuntu, Python 3.11+, SQLite | Low | T3: ТЗ |
| Schedule | Нет жёсткого дедлайна | Low | inferred |
| User behavioral | Софья должна доверять агентам модерацию и публикацию | Medium | T2: концепция |
| Legal | Переработка чужих текстов — юридическая чистота важна | Medium | T2: «не приписывай автору оригинала» |
| Integration | Telegram Bot API, Telethon авторизация | Low | T3: ТЗ |
Compound constraints: Trust × Quality — если качество постов упадёт, Софья перестанет доверять агенту, и вся автоматизация обесценится.
| Stakeholder | Power | Interest | Strategy |
|---|---|---|---|
| Софья Солт | HIGH | HIGH | Manage closely — автор, владелец, главный пользователь |
| Подписчики канала | LOW | MEDIUM | Keep informed — через качество контента |
| Владельцы каналов-источников | LOW | LOW | Monitor — могут заблокировать парсинг |
| Разработчик | MEDIUM | HIGH | Keep satisfied — исполнитель по ТЗ |
| Аудитория подписчиков | LOW | LOW | Monitor |
Примечание по участникам: Софья — и стейкхолдер, и пользователь. Проблема не искажена прокси.
| # | Assumption | Framework | Conf | Evidence | Invalidation |
|---|---|---|---|---|---|
| 1 | Софья тратит 3-5 ч/день на контент | F4 | M | T2: концепция; нет T1 замеров | Time-tracking покажет <2 ч/день |
| 2 | Канал готов к автоматизации | F5 | H | T2: концепция + T3: ТЗ | Софья не использует агента после запуска |
| 3 | Аудитория не отличит AI-посты от ручных | F5 | M | T2: требование к качеству; нет A/B теста | Рост отписок или снижение вовлечённости |
| 4 | Claude API обеспечит нужное качество стиля | F6 | M | T3: выбор модели; нет тестового прогона | Посты узнаваемо AI-генерированные |
Weakness 1: Узкая база evidence. Вся проблема сформулирована со слов одного человека (Софьи). Нет независимых подтверждений, что 3-5 часов — реальная цифра, а не оценка. T1-данных (time tracking, analytics) нет. Watch indicator: Замер времени покажет меньше 2 часов = проблема менее острая.
Weakness 2: Legal risk недооценён. Агент парсит чужие каналы и перерабатывает контент. Даже с требованием «не приписывать автору оригинала» остаётся риск DMCA/жалоб. Если два канала-источника заблокируют парсинг, конвейер встанет. Watch indicator: Жалоба от владельца канала-источника.
Weakness 3: Quality cliff — что, если AI не попадает в голос? Всё решение строится на допущении, что Claude Sonnet 4 сможет стабильно воспроизводить голос Софьи. Если качество на реальных кейсах окажется ниже ожидаемого, решение не будет принято автором. Watch indicator: Софья отклоняет >50% постов в модерации.
| Trigger type | Condition | Action |
|---|---|---|
| Evidence upgrade | Time-tracking Софьи показывает <2 ч/день | Пересмотреть opportunity sizing |
| Market shift | Telegram меняет API (закрывает парсинг) | Пересмотреть solvability |
| Legal | Жалоба от канала-источника | Добавить legal review stage |
| Quality fail | >50% постов отклоняется в модерации | Пересмотреть prompt engineering / model choice |
| Time elapsed | 3 месяца без старта разработки | Полный ревью документа |
| O (Observation) | I (Implication) | R (Response) | C (Check) | W (Watch) |
|---|---|---|---|---|
| Проблема сформулирована, все 6 тестов PSF пройдены | Текущий процесс не масштабируется, альтернативы дороже или хуже | Перейти к разработке по ТЗ (123.md) | Еженедельная сверка качества постов | Отписки/вовлечённость после старта |
| Legal risk требует внимания | DMCA-претензия может остановить работу инструмента | Добавить DISCLAIMER и source attribution в каждый пост |
Юридическая проверка перед запуском | Жалобы от источников |
| Качество голоса — ключевой риск | Плохой voice cloning убьёт adoption | Начать с бета-теста: 1 неделя, Софья модерирует все посты | % approved постов ≥50% | Качество на незнакомых типах кейсов |
time-tracking validation (1 week log) is required before proceeding past Stage 07 (Opportunity Tree).
Date: 2026-06-18 | Confidence band: M (40-70%) | Staleness window: 2026-12-18 | Sources synthesized: 2 primary + channel observation
Софья Солт, автор канала «Бизнес без людей», тратит 3-5 часов в день на ручной поиск, отбор и адаптацию бизнес-кейсов в авторский стиль. Концепция AI-агента готова, ТЗ написано на 60+ страниц, стек технологий выбран (Claude API, Telethon, python-telegram-bot). Единственный нерешённый вопрос — сможет ли AI стабильно воспроизводить узнаваемый голос Софьи без потери качества, которое ценят подписчики.Рекомендуется: запустить бета-тест на 2 недели с полной модерацией перед тем, как перейти к полной автоматизации.
What this is: Research evidence synthesis — pre-product research, no T1 behavioral data for the software itself. All findings are directional until validated post-launch.
| Time | Read | You'll get |
|---|---|---|
| 5 min | Основные выводы | Ключевые находки + рекомендация |
| 15 min | Основные выводы + Key Findings | Core evidence-graded conclusions |
| 30 min | Full document | Complete synthesis with framework analysis |
Confidence levels: - H (>70%) — Multiple independent sources converge - M (40-70%) — Direction probable but evidence is thin or single-source - L (<40%) — Hypothesis, not finding
Evidence tiers: T1 (behavioral) → T2 (primary qualitative) → T3 (secondary research) → T4 (industry reports) → T5 (anecdotal) → T6 (inference)
| Question | Result |
|---|---|
| Is the core question about what users need, want, or do? | YES — what does Софья need for content automation? |
| Do you have multiple research sources? | YES — concept doc (T2), technical spec (T3), channel observation |
| Is the research about current or prospective users? | YES — Софья is the current user, channel exists and is active |
| Has the product shipped? | NO — pre-product. All findings directional until validated post-launch |
Pre-product flag: No T1 behavioral data for the software. Highest tier is T2 (concept document).
| Question type | Primary frameworks | Supporting | Skipped |
|---|---|---|---|
| Pre-product evidence evaluation | F3 (Research Quality), F5 (Insight Classification), F7 (Gap Mapping) | F4 (Signal vs. Noise), F6 (Demand-Side) | F2 (анализ разговора), F8 (конкурентный анализ — Stage 03) |
| Source | Type | Sample | Methodology | Tier | Recency | Key Bias Risk |
|---|---|---|---|---|---|---|
| pishu-pro-concept.md | Concept document | 1 stakeholder (Софья) | Authored by stakeholder expressing vision, voice guidelines, content strategy | T2 | 2026-06 | Self-report: stakeholder describes idealized state. Time estimates unverified. |
| 123.md (ТЗ) | Technical specification | 1 developer-authored document | Detailed system design: architecture, modules, data flow, error handling, prompts | T3 | 2026-06 | Single-author. Technical assumptions not validated in production. |
| @pishu_pro channel observation | Public channel | ~10k-50k subscribers (estimated) | Observable content style, posting frequency, engagement patterns | T1 (limited — observable behavior) | Ongoing | No access to internal analytics. Engagement metrics inferred. |
Оценка покрытия: Strong on stakeholder intent and technical design. Weak on: behavioral validation of time estimates, competitive landscape analysis, audience sentiment about AI-generated content.
Finding 1: Софья has a clear, well-articulated content workflow and voice (H) - Classification: VALIDATED - Confidence: H - Evidence: Concept document describes voice characteristics (T2): first-person, conversational, emotional, reflective, with specific syntax (волнообразный ритм, живые вставки «ну», «знаете»). Technical spec defines 11 modules for automation (T3). - Detail: Voice guide is unusually detailed — covers syntax, vocabulary, forbidden patterns, заголовок rules, драматургия «боль → решение → рефлексия». This level of specificity makes AI replication more feasible. - Implication: The prompt engineering approach has a strong foundation. Claude Sonnet 4 with these guidelines has higher likelihood of success than generic content generation.
Finding 2: Daily content creation is a significant time burden (M) - Classification: EMERGING - Confidence: M - Evidence: Concept doc states 3-5 hours/day (T2). Technical spec allocates 2 publish slots at 10:00 and 19:00 MSK (T3). Channel observation shows ~1-2 posts/day (T1: observable). [CAVEAT: self-report without time-tracking] - Detail: The 3-5h claim is self-reported without time-tracking data. However, the detailed workflow described (поиск → проверка → адаптация → модерация) is consistent with this estimate for a single author producing researched, opinionated content. - Implication: Even if the true number is 2-3 hours, automation would free significant time. ROI is positive regardless of exact figure.
Finding 3: Voice authenticity is the critical risk factor (H) - Classification: VALIDATED - Confidence: H - Evidence: Concept document and HTML visualization both emphasize voice preservation as the #1 requirement (T2). Technical spec dedicates Module 6 (Редактор) entirely to style adaptation with detailed constraints (T3). Category prohibitions: "запрещено писать нейросеточным языком" (T2). - Detail: Voice is not just a nice-to-have — it's the reason for the entire tool. If posts sound AI-generated, the channel loses its primary differentiator. - Implication: Beta testing with Софья moderating all posts is non-negotiable. Define quality threshold: if Софья rejects >50% posts in the first week, invest in prompt iteration before scaling.
Finding 4: Legal risk from content repurposing is acknowledged but not fully addressed (M)
- Classification: EMERGING
- Confidence: M
- Evidence: Concept doc explicitly states "не приписывай автору оригинала" and "юридически чисто" (T2). Technical spec has content sources but no legal review stage (T3).
- Detail: The agent parses other Telegram channels and rewrites their case studies. Even with rewriting, if the original author's post is closely paraphrased, there's DMCA/plagiarism risk. The requirement to "take only the fact, not the structure" is correct but unenforceable in automation.
- Implication: Add source_url attribution in each AI-generated post (already in schema). Consider adding a legal disclaimer. Monitor source channel owners for complaints.
Finding 5: Technical feasibility is well-established (H) - Classification: VALIDATED - Confidence: H - Evidence: Detailed 12-module architecture in spec (T3): Parser (Telethon), Filter (keyword + LLM classifier), Deduplication (MD5 + semantic embeddings), Editor (Claude API), Moderator (Telegram bot), Publisher (Telegram API). - Detail: All major technical risks are addressed: FloodWait handling, API retry logic, 3-attempt LLM fallback, SQLite persistence, cron scheduling, error alerting. - Implication: Engineering risk is low. The spec is production-ready.
| Need | Frequency | Intensity | Behavioral Evidence? | Classification | Confidence |
|---|---|---|---|---|---|
| Save 3-5h/day on content | 2/2 sources | High (explicit in both docs) | No (self-reported) | VALIDATED | H |
| Preserve authentic voice | 2/2 sources | Critical (voice = основа) | No (до запуска) | VALIDATED | H |
| Reliable daily publishing | 2/2 sources | High | Yes (channel has regular posts) | VALIDATED | H |
| Legal safety | 1/2 sources (mentioned) | Medium | No | EMERGING | M |
| Analytics on content performance | 1/2 sources (spec) | Low-Medium | No (noted in spec but no dashboard) | HYPOTHESIS | L |
Frequency vs. Intensity Matrix: Voice preservation and time savings are both high-frequency + high-intensity = core unmet needs. Legal safety is medium on both → monitor.
| What Софья SAYS | What Софья DOES | Gap | Implication |
|---|---|---|---|
| "3-5 hours/day on content" (T2) | No time-tracking data exists (T6: inferred) — No revealed data available, self-report only | Unvalidated estimate | Run 1-week time-tracking before claiming ROI |
| "Voice must be preserved" (T2) | Has written extensive voice guidelines (T1: observable behavior) | No gap — actions align with stated priority | Voice is genuinely the top priority |
| "Ready for automation" (T2) | ТЗ is complete and detailed (T3) — No revealed data available, self-report only | Partial — ТЗ exists but no test content has been run through the agent | Validate with real case rewriting before full build |
| Signal Candidate | Source | Frequency | Convergence | Structural? | Verdict |
|---|---|---|---|---|---|
| Voice quality is the make-or-break factor | Concept (T2) + Spec (T3) | Recurring across both documents | Converges with channel observation | STRUCTURAL | SIGNAL |
| Time burden may be overstated | Self-report without tracking | 1 source | Isolated | WEATHER | INVESTIGATE |
| Legal risk from content scraping | Implicit in spec | 1 mention | No external validation | STRUCTURAL (if triggered) | INVESTIGATE |
| Finding | Concept (T2) | Spec (T3) | Channel (T1) | Convergence | Confidence |
|---|---|---|---|---|---|
| Voice authenticity is critical | Supports | Supports | Supports (channel content is high-quality) | Strong (3 sources) | H |
| Content creation is time-consuming | Supports | Supports | Silent | Partial (2 sources) | M |
| Technical solution is feasible | Silent | Supports | Silent | Weak (1 source) | M |
| Legal risk is present but manageable | Supports | Silent | Silent | Weak (1 source) | L (Weak, 1 source) |
| Question We Cannot Answer | Why It Matters | Evidence Needed | Recommended Method | Priority |
|---|---|---|---|---|
| Сколько времени реально уходит на контент? | ROI calculation for automation | 1 week of time-tracking | Софья logs time for 7 days | HIGH |
| Узнают ли подписчики AI-контент? | Voice quality validation | A/B test: human vs AI posts | Blind test with 50 subscribers | CRITICAL |
| Какие каналы-источники реально доступны? | Content pipeline viability | Test parsing of 5-10 channels | Run parser prototype | HIGH |
| Какая юридическая позиция по переработке контента? | Launch blocker | Legal consultation | Юрист по авторскому праву | MEDIUM |
| Contradiction | Source A says | Source B says | Resolution |
|---|---|---|---|
| Time burden vs. actual data | Concept: 3-5h/day (T2) | No time-tracking (T6) | Self-report without tracking is directional. Recommend 1-week log. |
| Readiness vs. validation | Spec: production-ready (T3) | No test content generated (T6) | Technical readiness ≠ content quality readiness. Must validate with real cases before launch. |
Recommendation 1: Запустить 2-недельный бета-тест с полной модерацией - Observation [T2, T3]: Voice preservation is the critical risk. Technical spec is ready but unvalidated on real content. - Implication: Building the full system before validating voice quality is higher risk than necessary. - Response: Run 2-week beta: parser → classifier → editor → moderator (Софья). Do NOT auto-publish until Софья approves >70% of posts for 5 consecutive days. - Confidence: M — assumes Софья has time for moderation during beta - Watch: If Софья rejects >50% posts in week 1, invest in prompt iteration (2-3 iterations minimum) before scaling
Recommendation 2: Провести time-tracking неделю - Observation [T2, T6]: 3-5h/day claim is unvalidated. - Implication: Without baseline, we cannot measure ROI. - Response: Софья logs content creation time for 7 days before automation starts. - Confidence: H — простой actionable шаг - Watch: Если реальное время <2h/day, пересмотреть opportunity sizing
Recommendation 3: Подготовить юридическую позицию - Observation [T2]: Legal requirement is stated but not operationalized. - Implication: DMCA claim could stop the product. - Response: Добавить DISCLAIMER в каждый пост + source attribution. Консультация с юристом по авторскому праву на переработку контента. - Confidence: M - Watch: Жалоба от любого канала-источника
| # | Assumption | Finding it underpins | Confidence | Evidence | What would invalidate this |
|---|---|---|---|---|---|
| 1 | 3-5h/day is accurate | Finding 2 | M | T2 only | Time-tracking shows <2h/day |
| 2 | Claude can replicate Софья's voice | Finding 1 | M | T2+T3 but no test outputs | Софья rejects >50% posts in beta |
| 3 | Channel sources will tolerate parsing | Finding 4 | M | No evidence either way | DMCA complaint received |
| 4 | Софья has time for moderation during beta | Recommendation 1 | L | T6: inferred | Beta stalls because Софья too busy to moderate |
Weakness 1: Данные основаны на словах одного человека. Вся research синтезирована из документов, написанных Софьей. Нет независимой проверки её оценки времени и процесса. Если реальное время на контент меньше заявленного, эффект от автоматизации завышен. Watch: После запуска — проверить, действительно ли инструмент экономит время.
Weakness 2: Нет проверки альтернатив. Не проверено, решают ли другие подходы (ChatGPT, Zapier) задачу достаточно хорошо. Если да — может не понадобится свой инструмент. Watch: Софья пробует ChatGPT напрямую и результат устраивает.
Weakness 3: Анализ канала без учёта оттока. Анализируем канал в текущем успешном состоянии. Не учитываем отписавшихся. Если после автоматизации отписки вырастут — аудитория ценила ручной труд, и инструмент не решает проблему. Watch: Рост отписок после запуска AI-агента.
| Trigger | What to re-assess | Timeline |
|---|---|---|
| Time-tracking week завершён | Finding 2 (time burden), Opportunity Sizing | 1 week after start |
| Beta moderation results (>50% reject) | Finding 3, Recommendation 1 | 2 weeks after beta start |
| Competitive analysis complete (Stage 03) | All findings — competitive context may override | After Stage 03 |
| Legal consultation completed | Finding 4, Recommendation 3 | 1 month |
| 6 months from today | All findings if no beta launched | 2026-12-18 |
Cross-reference: Stage 01 (Problem Framing) overstates confidence as H and marks PSF as unconditional PASS. This artifact rates confidence at M (40-70%) and recommends DO NOT auto-publish without beta. Stage 01's confidence should be read as M consistent with this research.
Date: 2026-06-18 | Confidence band: M (40-70%) | Staleness window: 2026-12-18
AI-агент для @pishu_pro конкурирует не с другими AI-инструментами, а с ручным трудом автора и общими AI-решениями (ChatGPT). Прямых конкурентов на нише «Telegram-бот парсинга → классификации → адаптации в авторский голос → публикации» не обнаружено. Рынок фрагментирован: есть инструменты для каждого этапа по отдельности, но нет интегрированного конвейера. Основной риск — не конкурентная угроза, а то, что Софья не примет AI-контент по качеству. Рекомендуется: строить как нишевый инструмент для одного автора, без немедленного масштабирования.
| Time | Read | You'll get |
|---|---|---|
| 5 min | Основные выводы | Strategic conclusion |
| 15 min | Основные выводы + Sections 1-4 | Core competitive dynamics |
| 30 min | Full document | Complete analysis with frameworks |
Confidence levels: H (>70%) | M (40-70%) | L (<40%) Evidence tiers: T1-T6 (T1 = behavioral data, T6 = inference) O->I->R->C->W: Observation → Implication → Response → Confidence → Watch
| Question | Result |
|---|---|
| Is the market clearly defined? | YES — Telegram content automation for business/entrepreneurship channels |
| Can competitors be identified? | YES — indirect competitors; no direct competitors |
| Is this market entry or competitive response? | Positioning — first-mover in niche |
| Question type | Primary frameworks | Supporting | Skipped |
|---|---|---|---|
| Positioning / Market entry | 7 Powers, COAP, Wardley Mapping | Christensen Disruption (adjacent), Aggregation Theory | Win/Loss Analysis (no live competitor to compare) |
| Competitor | Category | Type | Relevance | Evidence |
|---|---|---|---|---|
| Ручной режим (status quo) | Manual content creation | Indirect — the current solution | HIGH — Софья does this now, 3-5h/day | T5: self-report |
| ChatGPT / Claude direct | General AI writing | Indirect — generic prompting | MEDIUM — can write posts but needs manual setup per post | T3: general product knowledge |
| Jasper / Copy.ai / Writesonic | AI marketing copy | Indirect — marketing-focused, not Telegram-specific | LOW — designed for ads, landing pages, not Telegram voice | T4: industry knowledge |
| Telegram bots (generic) | Bot platforms | Indirect — e.g., Manybot, Chatfuel | LOW — no parsing/rewriting, only scheduled reposts | T4: industry knowledge |
| Контент-менеджер (человек) | Human delegation | Indirect — hire a writer | MEDIUM — solves the problem but expensive (50-150k ₽/мес) | T5: inferred |
| Другие AI-авторы Telegram | Niche tools | Potentially direct — e.g., AI agents for channel content | LOW — highly fragmented, no known leader | T6: inferred |
| Custom GPT + Zapier + Telegram Bot | DIY pipeline | Turns ChatGPT into a semi-automated content pipeline for $20/month. Covers 60-70% of the pipeline (no dedup, no moderation bot). DIY RSS-to-Telegram + Zapier + ChatGPT for $0-30/month. | MEDIUM — functional overlap, especially as LLMs improve | T6: inferred |
Структура: Нишевой рынок «AI-агентов для Telegram-каналов» находится в стадии emergence. Никто не захватил категорию. Ранний вход может создать brand-ассоциацию, но рынок слишком мал для защиты.
| Power | Our Solution | ChatGPT Direct | Human Writer | Status Quo |
|---|---|---|---|---|
| Scale Economies | Weak (T6) — single user | Strong (T1) — serves millions | None | None |
| Network Effects | None (T6) | Strong (T1) — learns from all users | None | None |
| Counter-Positioning | None (T6) | None | None | None |
| Switching Costs | Medium (T5) — data, voice config | Low — no lock-in | High — relationships | Maximum — no tool needed |
| Brand | None | Strong (T1) | Personal brand | Personal brand (Софья herself) |
| Cornered Resource | Weak — voice guide | Talent, compute | Софья's time (scarce) | Софья's time |
| Process Power | Potentially Medium — integrated pipeline | None in this niche | None | None |
Assessment: Ни у одного конкурента нет структурного преимущества в этой нише. ChatGPT/Claude имеют scale, но не process power для автоматизации контента Telegram. Ручной режим — главный конкурент, его «моат» — привычка и доверие Софьи к собственному процессу.
| From → To | Switching Cost | Components | Evidence |
|---|---|---|---|
| Status quo → Our agent | Medium | Настройка (1-2 дня), доверие к AI, риск качества | T5: inferred |
| ChatGPT → Our agent | Low-Medium | Бесплатно попробовать, но нужен переезд workflow | T5: inferred |
| Human writer → Our agent | Medium | Увольнение человека, настройка agent, риск | T6: inferred |
Key insight: Switching from status quo to agent requires Софья to trust an AI with her brand voice. This is primarily a trust barrier, not a technical one.
Telegram content is not a modular producer → aggregator market. Каналы — это direct-to-subscriber модели. Aggregation не применима, так как нет посредника, которого можно «обойти».
Our agent is a sustaining innovation relative to Софья's current workflow — it automates what she already does. It could become disruptive if: - Позволяет не-авторам вести популярные каналы (подрывной эффект) - Quality eventually exceeds human-written content (low-end → premium) - Запроса от 3+ других авторов на такой же инструмент
Current classification: Sustaining for Софья (T5). Potentially disruptive for the broader «Telegram content creator» segment (T6).
No competitor is actively building a Telegram content agent pipeline as an integrated product. Key players' trajectories:
| Entity | Likely trajectory | Threat timeline | Confidence |
|---|---|---|---|
| OpenAI/Anthropic | General AI improvements → makes ChatGPT better for this task | 6-12 months (prompt improvement, not dedicated product) | M |
| Telegram | Bot API improvements — may add content tools | 12-24 months | L |
| Open-source | Community agents on GitHub for Telegram automation | Any time — fragmented and low quality | M |
| Human writers | Will compete on quality as AI commoditizes generic content | Ongoing | M |
| Capability | Our Agent | ChatGPT | Jasper | Human Writer | Telegram Bot (generic) |
|---|---|---|---|---|---|
| Parse Telegram channels | ✅ (Telethon) | ❌ | ❌ | ❌ | Partial (RSS only) |
| Classify by rubric | ✅ (LLM classifier) | Manual only | ❌ | ✅ | ❌ |
| Write in specific voice | ✅ (Claude + prompt) | Manual prompt per post | Templates only | ✅ (trained) | ❌ |
| Deduplicate | ✅ (MD5 + embeddings) | ❌ | ❌ | ✅ (manual) | ❌ |
| Score content quality | ✅ (LLM scoring) | ❌ | ❌ | ✅ (editorial judgment) | ❌ |
| Moderation bot | ✅ (Telegram bot) | ❌ | ❌ | N/A | ❌ |
| Schedule + publish | ✅ (cron) | ❌ | ❌ | ✅ (manual) | ✅ |
| Cost | VPS + API | $20/mo | $49-99/mo | 50-150k ₽/мес | Free-$30/mo |
Вывод: Наш инструмент обладает уникальными возможностями для этой задачи. Ни один альтернативный подход не предлагает интегрированного конвейера.
Note: ChatGPT Scheduled Tasks (OpenAI May 2025) enables scheduled content generation. If this matures, the automation advantage erodes.
| Frameworks | Says | Reconciliation |
|---|---|---|
| 7 Powers (moats) | Our solution has NO strong moats | But: This is a tool, not a platform. It doesn't need moats — it needs to solve one person's problem well. Moat-seeking is premature for a single-customer automation tool. |
| Christensen (disruption) | This is sustaining innovation | But: The approach (integrated pipeline) is disruptive to the fragmented tool ecosystem. Не планируется без явного запроса от 3+ человек. |
Recommendation 1: Строить как инструмент для одного автора, не искать решение-проблема на стадии разработки - Observation [T4, T5]: No structural moats exist. Категория нишевая, платформенный подход избыточен. - Implication: Попытка построить платформу до решения проблемы Софьи — пустая трата ресурсов. - Response: Build exactly what the spec says. Ship. Validate. THEN decide if it's worth extending. - Confidence: H — assumes Софья is the only user that matters right now - Watch: Если после запуска 3+ других автора запросят такой же инструмент — пересмотреть стратегию
Recommendation 2: Защитить voice prompt как IP - Observation [T2]: The voice adaptation prompt is Софья's competitive advantage. - Implication: If this prompt leaks to competitors, they can replicate the core differentiation in days. - Response: Store prompts in version-controlled, access-restricted config. Do NOT expose in public code. - Confidence: M - Watch: If a competitor launches a similar bot with Софья-like voice
Recommendation 3: Мониторить появление AI-агентов для Telegram - Observation [T6]: No current competitor, but barrier to entry is low. - Implication: If the market heats up, a well-funded competitor can replicate in weeks. - Response: Quarterly competitive scan. Триггер для pivot: появление 3+ аналогичных инструментов. - Confidence: L — assumes market will grow - Watch: GitHub repos, ProductHunt launches, Telegram bot stores
| # | Assumption | Confidence | Evidence | What would invalidate this |
|---|---|---|---|---|
| 1 | No direct competitor exists | M | T4 (industry knowledge) | Discovery of a Telegram AI agent product |
| 2 | Market is too small for platform | M | T4 (niche Telegram) | 10+ channel owners request the same tool |
| 3 | Voice prompt is defensible | L | T6 (inferred) | Competitor replicates with generic prompting |
| 4 | Софья will prefer agent over manual | M | T2 (stated intent) | She stops using agent after beta |
Weakness 1: Competitive analysis based on inference, not data. Поиск в Telegram Bot Store, ProductHunt и GitHub на предмет AI-ботов для контента НЕ ПРОВОДИЛСЯ. Утверждение «нет прямых конкурентов» требует проверки. Watch indicator: Search results contradict this analysis.
Weakness 2: Underestimating ChatGPT commoditization. As LLMs improve, a single «write this case study in Софья's voice» prompt in ChatGPT may produce acceptable quality. The moat of «integrated pipeline» erodes if the generation step alone becomes good enough. Watch indicator: Софья tests ChatGPT directly and the result is «good enough.»
Weakness 3: Single-customer risk. Если Софья перестаёт вести канал, инструмент теряет единственного пользователя. Это не failure mode, это structural limitation. Это внутренний automation tool, не коммерческий SaaS. Watch indicator: Софья publishing frequency drops below 1 post/week.
| Trigger | What to re-assess | Timeline |
|---|---|---|
| Competitor AI Telegram agent found | All framework analyses | Search monthly |
| Софья tests ChatGPT for same task | Value proposition, moats | When reported |
| 3+ other authors request tool | Market sizing, platform strategy | When multi-author interest |
| 6 months from now | All claims | 2026-12-18 |
Persona: Софья Солт, предприниматель, 12 лет в маркетинге, соло-автор канала Goal: Ежедневно публиковать качественный контент в авторском стиле Scope: Полный цикл создания одного поста (ежедневный recurring loop) Journey type: Cyclical (ежедневно повторяется) WARNING: Эмоциональные данные (чувства, боли, эмоции) — гипотетические, основаны на документах, не на исследованиях. Помечены [Hypothesis].
Evidence base: Гипотетические данные, все выводы требуют проверки на практике
Софья проходит 6-этапный цикл создания каждого поста: поиск → оценка → адаптация → модерация → публикация → анализ. Самые болезненные точки — поиск релевантных кейсов (30-60 мин/день) и адаптация в авторский голос (60-90 мин/пост). Момент истины — решение, публиковать ли пост: здесь Софья оценивает качество и решает, соответствует ли он стандартам канала. AI-агент автоматизирует 4 из 6 этапов, оставляя за Софьей только модерацию (быстрый approve/reject). Ключевая гипотеза: Софья будет доверять AI-контенту, если процент отклонения <30%.
Софья Солт, предприниматель, 12 лет в маркетинге. Ведёт канал «Бизнес без людей» (@pishu_pro) соло — сама находит темы, пишет, редактирует, публикует. Эксперт по AI-автоматизации, делегировала рутину нейросетям. Аудитория — предприниматели 30-45 лет. Ценит аутентичность и уникальный голос. Время — критический ресурс. Технически подкована (использует AI-инструменты).
Included: Полный цикл создания одного контент-поста от поиска идеи до публикации Excluded: Стратегия канала (месячный контент-план), управление аудиторией, взаимодействие с подписчиками в комментариях
| # | Stage | Goal | Duration (manual) | Duration (with agent) | Trigger | Exit criterion |
|---|---|---|---|---|---|---|
| 1 | Ищет | Найти бизнес-кейс для поста | 30-60 мин | 0 мин (авто) | Потребность в контенте | Релевантный кейс найден |
| 2 | Оценивает | Определить, стоит ли кейс поста | 10-20 мин | 0 мин (авто) | Кейс найден | Кейс принят или отклонён |
| 3 | Адаптирует | Переписать в голосе Софьи | 60-90 мин | 0 мин (авто) | Кейс одобрен к адаптации | Текст готов к модерации |
| 4 | Модерирует | Проверить качество и стиль | 15-30 мин | 10-15 мин (check only) | Текст написан | Решение: публиковать/править/отклонить |
| 5 | Публикует | Разместить пост в канале | 5-10 мин | 0 мин (авто) | Пост одобрен | Пост опубликован |
| 6 | Анализирует | Оценить реакцию аудитории | 5-10 мин | 5-10 мин | Пост опубликован | Решено, стоит ли повторять формат |
| Stage | Touchpoint | Channel | What happens |
|---|---|---|---|
| Ищет | Telegram-каналы-источники | Telegram | Просматривает посты из других каналов |
| Ищет | Закладки / saved messages | Telegram | Проверяет отложенные ссылки |
| Ищет | Личные сообщения | Telegram | Подписчики присылают кейсы |
| Оценивает | Чат с собой / заметки | Telegram | Быстрая оценка «годен/не годен» |
| Адаптирует | Редактор (Notes/Telegram/Tools) | Various | Пишет черновик, правит |
| Модерирует | Превью поста | Telegram | Смотрит, как выглядит пост |
| Публикует | Telegram channel | Telegram | Отправляет пост |
| Анализирует | Просмотры / реакции | Telegram | Смотрит статистику |
| Stage | Dominant emotion (manual) | Evidence Source | Source | Dominant emotion (with agent) | Evidence Source |
|---|---|---|---|---|---|
| Ищет | Усталость, скука (поиск — рутина) | Гипотеза | Concept describes time burden | Снятие напряжения | Гипотеза |
| Оценивает | Надежда (найти хороший кейс) | Гипотеза | N/A | Ожидание | Гипотеза |
| Адаптирует | Творческое удовлетворение + усталость | Гипотеза | Concept | Нейтральное (не участвует) | Гипотеза |
| Модерирует | Тревога (достаточно ли хорошо?) | Гипотеза | Voice guidelines show perfectionism | Контроль (approve/reject) | Гипотеза |
| Публикует | Гордость + облегчение | Гипотеза | N/A | Доверие | Гипотеза |
| Анализирует | Интерес, любопытство | Гипотеза | N/A | Интерес + проверка AI | Гипотеза |
Note: Эмоциональные данные основаны на предположениях, не на исследованиях. Требуют проверки на практике.
| Stage | Pain / Moment | Severity (1-5) | Evidence | Implication |
|---|---|---|---|---|
| Ищет | TRASH — ручной поиск занимает 30-60 мин/день | 4 | T2: concept (3-5h/day total) | Highest-impact automation target |
| Оценивает | Noise — много нерелевантного контента | 3 | T3: spec has content filter module | Classifier + keyword filter needed |
| Адаптирует | TRASH — самая трудоёмкая часть: 60-90 мин | 5 | T2: concept (voice adaptation is key) | Most technically challenging — prompt quality is critical |
| Модерация | Moment of Truth — решение о публикации | 5 | T2: voice requirements detail | Софья должна доверять AI. Если >30% отклонений — agent не работает. |
| Публикация | Технические сбои (FloodWait, ошибки) | 2 | T3: error handling spec | Handled by retry logic and alerting |
| Анализ | Нет системного сбора метрик | 2 | T3: daily_stats table exists | Add basic analytics dashboard |
| Stage | Opportunity | Product change | Effort | Impact |
|---|---|---|---|---|
| Ищет | Автоматический парсинг каналов-источников | Module 1 (Parser) | Medium | Eliminates 30-60 min/day |
| Оценивает | AI-классификация: is_case + rubric | Module 3 (Filter) + Module 7 (Rubricator) | Medium | Eliminates 10-20 min/day |
| Адаптирует | AI-переписывание в голосе Софьи | Module 6 (Editor) | High (prompt engineering) | Eliminates 60-90 min/post |
| Модерирует | Бот модерации с кнопками Approve/Reject | Module 9 (Moderator) | Medium | Reduces 15-30 → 10-15 min |
| Публикация | Автоматическая публикация по расписанию | Module 11 (Publisher) | Low | Eliminates 5-10 min/day |
| Анализ | Ежедневная статистика | daily_stats | Low | Better content decisions |
flowchart LR
A[1. Ищет кейс\n30-60 мин] --> B[2. Оценивает\n10-20 мин]
B -- Негоден --> A
B -- Годен --> C[3. Адаптирует в голос\n60-90 мин]
C --> D[4. Модерирует\n15-30 мин]
D -- Правит --> C
D -- Отклоняет --> A
D -- Одобряет --> E[5. Публикует\n5-10 мин]
E --> F[6. Анализирует\n5-10 мин]
F --> A
C REM — with AI agent:
flowchart LR
subgraph Agent
P[Парсинг] --> F[Фильтр+Классиф.]
F --> R[Редактор AI]
end
subgraph Софья
M[Модерация бот\n10-15 мин]
end
subgraph Auto
S[Расписание] --> PB[Публикация]
end
R --> M
M -- Approve --> S
M -- Reject/Edit --> P
S --> PB --> A[Анализ\n5-10 мин]
A --> P
| Gap | Impact | Recommended research |
|---|---|---|
| Actual time per stage (manual) | Unknown baseline → unknown ROI | Замер времени: Софья логирует 1 неделю |
| Софья's emotional state per stage | Эмоциональные данные — гипотетические | Проверка на практике (3-5 дней) |
| Audience reaction to AI-generated content | Unknown if quality is acceptable | Слепой тест с 50 подписчиками |
| Most productive source channels | Parser config unknown | Проверить парсинг 20 каналов |
| Calibration dataset | No blind baseline for Софья's approval rate | Before production, create a blind set of 50 posts (25 human-written, 25 AI) to establish Софья's actual approval baseline and detect bias |
Инструмент: AI-агент автоматизации контента для Telegram-канала @pishu_pro Текущий статус: Внутренний инструмент (1 пользователь) Назначение этого обзора: Справочная оценка ниши — для информирования решения, не для бизнес-плана Date: 2026-06-18
Инструмент строится для одного автора (Софьи), не для продажи. Ниже приведена справочная оценка потенциального рынка на случай, если в будущем появится запрос на коммерциализацию. В текущем виде все цифры — T4-T6 (оценки, не данные).
TAM (авторы активных Telegram-каналов, нуждающихся в AI-контенте) оценивается в 300-500 млн руб/год на российском рынке — при условии коммерциализации как SaaS. SAM — 30-60 млн руб/год. SOM — 3-9 млн руб/год при 100-300 клиентах.
Важное предупреждение: Все цифры — [EVIDENCE-LIMITED] (T4-T6). Рынок только формируется, публичных отчётов нет. Цифры — порядок величины, не точный прогноз. В текущем плане коммерциализация не предусмотрена.
Рынок: Инструменты AI-автоматизации контента для Telegram-каналов на русском языке (SaaS или managed service).
Included: - AI-агенты, которые автоматизируют поиск, адаптацию и публикацию контента - Telegram-каналы в сегментах: бизнес, предпринимательство, маркетинг, технологии, образование, экспертные ниши - Авторы, ведущие каналы соло или с минимальной поддержкой
Excluded: - Парсеры/агрегаторы без AI-генерации (просто копируют контент) - Инструменты для массового спама - Международный рынок (English-language channels) - Enterprise-решения для медиахолдингов
| Layer | Value (₽/year) | Method | Source | Confidence |
|---|---|---|---|---|
| TAM | 300-500M | Общее число Telegram-каналов × % активных авторов × annual value per author | T4: Telegram 900M MAU; ~5% active channels (est. 10M+); ~10% have 1k+ subscribers | LOW — all layers are estimates |
| SAM | 30-60M | TAM × 10% (только бизнес/экспертные RU-каналы с аудиторией 1k-100k) | T5: proportion inferred from channel directories | LOW |
| SOM | 3-9M | SAM × 10-15% (100-300 клиентов по 30k ₽/год) | T5: market share assumption for niche product | LOW |
Methodology: - Telegram MAU 900M → ~2% создают контент = ~18M content-creating accounts - ~10% ведут тематические каналы с регулярным контентом = ~1.8M - RU-сегмент ≈ 5% = ~90k активных авторов тематических каналов - Средний доход на одного автора (SaaS): 3k-5k ₽/мес = 36k-60k ₽/год - TAM = 90k × 48k ₽ (среднее) ≈ 4.3 млрд ₽ [но: это максимум; реально рынок меньше] - Корректировка: только авторы, которые (а) публикуют регулярный контент и (б) могут платить за AI — ~10% → 430M ₽
Sensitivity: При 5% penetration → 215M; при 20% → 860M. Low-end: 300M, high-end: 500M.
| Segment | # potential customers | Revenue/customer/year | Sub-total (₽/year) | Assumption |
|---|---|---|---|---|
| Бизнес/маркетинг каналы (RU) | 1,000-10,000 (T6 — no catalog consulted) | 36,000 (3k ₽/мес) | 108M-180M | 3k ₽/мес — сопоставимо с ChatGPT Plus или Telegram Premium |
| Образовательные/экспертные каналы | 2,000-3,000 | 24,000 (2k ₽/мес) | 48M-72M | Ниже платёжеспособность, выше ценность |
| Медиа/новостные каналы | 1,000-2,000 | 60,000 (5k ₽/мес) | 60M-120M | Выше частота публикаций |
| Total SAM (bottom-up) | 6,000-10,000 | 24k-60k | 216M-372M | — |
SOM (Year 1-2): - При цене 2k-3k ₽/мес и 100-300 клиентов - Revenue: 2.4M-10.8M ₽/год - При 70% gross margin: 1.7M-7.6M ₽/год contribution
Note: Bottom-up может быть точнее top-down в этом рынке, так как базируется на количестве реальных покупателей (ниша), а не на процентах от огромной базы.
| Framework | TAM | SAM | SOM | Confidence |
|---|---|---|---|---|
| Top-down | 300M-500M ₽ | 30M-60M ₽ | 3M-9M ₽ | LOW |
| Bottom-up | 216M-372M ₽ | 216M-372M ₽ | 2.4M-10.8M ₽ | LOW |
| Comparable market | N/A — no comparable product exists | N/A | N/A | N/A |
Convergence: Bottom-up TAM (216M-372M) значительно ниже top-down TAM (300M-500M). Причина: top-down включает неподходящие сегменты. Bottom-up реалистичнее для этой ниши.
Divergence: Factor of ~2x между TAM рамками — ожидаемо для новой категории без публичных данных.
Synthesized estimate: - TAM: 200M-400M ₽/год - SAM: 30M-60M ₽/год (бизнес/экспертные каналы) - SOM: 2.4M-10.8M ₽/год (100-300 клиентов при 2-3k ₽/мес) - Confidence: LOW — все цифры T4-T6
CRITICAL CAVEAT: Each layer multiplies percentages that are author estimates (T6). Cumulative error is not accounted for. Real TAM could be 20M-4B — the range reflects absence of data, not precision.
| Variable | Low (-50%) | Mid (base) | High (+50%) | Impact on SOM |
|---|---|---|---|---|
| # потенциальных клиентов | 3,000 | 6,000 | 9,000 | -50% / +50% |
| Цена (₽/мес) | 1,500 | 2,500 | 4,000 | -40% / +60% |
| Conversion rate | 2% | 5% | 10% | -60% / +100% |
| Market readiness (will channels adopt AI?) | 1% penetration | 3% | 5% | -67% / +67% |
Range: SOM может составлять от 1M ₽/год (консервативно) до 15M ₽/год (оптимистично).
| # | Assumption | Source | Confidence | Sensitivity |
|---|---|---|---|---|
| 1 | 6k-10k RU каналов подходят для продукта | T5 (inferred from channel directories) | LOW | Влияет на TAM и SAM |
| 2 | Авторы каналов готовы платить 2k-3k ₽/мес | T6 (inferred from SaaS benchmarks) | LOW | Влияет на SOM |
| 3 | AI-контент будет принят аудиторией каналов | T6 (inferred — hypothesis) | LOW | Определяет retention и churn |
| 4 | Telegram не заблокирует парсинг каналов | T6 | LOW | Риск для всего рынка |
| 5 | Рынок будет расти (AI adoption в контенте) | T4 (general AI trend) | MEDIUM | Определяет time-to-market |
Most confident: ГИПОТЕЗА — нет ни одного существующего продукта для референса. Реальный рынок может быть нулевым. Least confident: Все цифры — T4-T6. Нет ни одного T1-T2 источника по объёму или willingness-to-pay.
Что повысило бы confidence: 1. Опрос 100+ авторов Telegram-каналов: готовы ли платить за AI-контент? 2. Анализ TGStat / Telemetr по количеству активных каналов по категориям 3. Pricing test: предложить MVP 10 авторам, измерить conversion
Analysis NOT addressing: - Конкуренция (бесплатные AI-инструменты могут commoditize рынок) - Regulatory: ФЗ №258 (AI-контент маркировка), 152-ФЗ (персональные данные), РКН рекомендации, Бернская конвенция + ГК РФ (авторское право), законодательство о значимых сайтах (зарубежные API), Telegram может изменить API - Time-to-market (если рынок вырастет через 2 года, early entry может не окупиться)
⚠️ ВАЖНО: Этот JTBD-канвас построен на основе имеющихся документов (концепция + ТЗ) — это размышления, а не результаты исследований. Все инсайты — гипотезы, требующие проверки на практике.
Job Title: Создание регулярного экспертного контента в авторском стиле Date: 2026-06-18 Author: PM Pipeline (auto) Research Basis: Концепция канала (T2), техническое ТЗ (T3), наблюдение за контентом канала (T1)
Who: Софья Солт — предприниматель, 12 лет в маркетинге, эксперт по AI-автоматизации, соло-автор канала.
Key Characteristics: - Соло-автор: сама находит темы, пишет, редактирует, публикует - Высокий стандарт качества: уникальный голос — key asset канала - Технически подкована: использует AI, понимает возможности и ограничения - Ценит время: делегировала рутину нейросетям (в других аспектах бизнеса)
Not Defined By: - Количество подписчиков (качество > количества) - Формат контента (не новостная лента, а аналитика/разборы) - Коммерческая цель канала (канал не monetized напрямую)
When does this job arise? Каждый день, обычно утром — нужно решить, что публиковать сегодня. Или вечером — подготовить пост на завтра.
Where does this happen? В Telegram: чтение каналов-источников, заметки, черновики. Мобильный телефон + компьютер.
Frequency: Ежедневно, 2 публикации в день (слоты 10:00 и 19:00 МСК).
Urgency: Высокая — если контент не готов к слоту, слот пропускается, аудитория теряет привычку.
"Когда наступает время публикации, а готового поста нет, я хочу быстро найти интересный бизнес-кейс, переработать его в своём стиле и опубликовать, чтобы канал оставался живым, полезным и аутентичным без того, чтобы я тратила полдня на один пост."
What is the practical task to accomplish?
Создать 1-2 качественных поста в день в узнаваемом стиле @pishu_pro, основанных на реальных бизнес-кейсах.
Definition of "Done": - Пост опубликован в канале в запланированное время - Текст в голосе Софьи (читатель не отличает от ручного) - Кейс содержит: заголовок, подводку, разбор, CTA-вопрос - Источник указан (явная ссылка) - Пост прошёл модерацию (личную или AI)
Key Steps in the Job: 1. Поиск: просмотр каналов-источников, поиск релевантного кейса 2. Оценка: решить, стоит ли кейс поста (is_case = true?) 2a. Дедупликация/фильтрация дубликатов (если тот же кейс уже публиковался) 3. Адаптация: переписать факт кейса в голосе, добавить свой угол, рефлексию 4. Модерация: проверить качество, стиль, факты 5. Публикация: отправить в канал 6. Анализ: оценить реакцию аудитории
Functional Pains: - Поиск кейсов: 30-60 мин на просмотр ленты каналов - Адаптация в стиль: 60-90 мин на переписывание - Решения «публиковать или нет»: тревога, неуверенность - Ограничение частоты: не больше 1-2 постов в день физически
How do they want to feel?
| Desired Feeling | Why It Matters |
|---|---|
| Творческое удовлетворение | Создание контента — не рутина, а самовыражение |
| Контроль над качеством | Репутация канала построена на качестве; любой спад — риск |
| Гордость за результат | Каждый пост — отражение экспертизы Софьи |
| Свобода от рутины | Время, освобождённое от поиска/адаптации, можно направить на стратегию |
How do they want to avoid feeling?
| Feeling to Avoid | Current Trigger |
|---|---|
| Выгорание от ежедневного конвейера | 3-5 ч/день на контент без выходных |
| Тревога за качество при попытке ускориться | Когда нужно быстро написать пост |
| Вина за пропуск публикации | Когда физически нет времени на пост |
| Разочарование от «стерильного» AI-текста | Когда AI-инструменты пишут не в её голосе |
Emotional Pains: - Перфекционизм: каждый пост — маленький шедевр; отпустить контроль трудно - Страх потери голоса: основное опасение при автоматизации
How do they want to be perceived?
| Desired Perception | By Whom |
|---|---|
| Эксперт по AI-автоматизации бизнеса | Подписчики канала, коллеги |
| Автор с уникальным голосом и позицией | Подписчики, профессиональное сообщество |
| Человек, который «на своей шкуре» тестирует автоматизацию | Аудитория — это часть контент-стратегии |
What perception do they want to avoid?
| Perception to Avoid | By Whom |
|---|---|
| «Ещё один AI-канал с перепечатками новостей» | Подписчики |
| «Пишет не она — видно, что AI» | Подписчики (потеря доверия) |
Social Context: - @pishu_pro — не просто канал, а демонстрация «business without people» на практике - Софья — публичная фигура в нише AI-автоматизации - Подписчики приходят за экспертизой и аутентичностью
What do customers currently "hire" for this job?
| Solution Type | Solution | Strengths | Weaknesses |
|---|---|---|---|
| Manual/DIY | Софья пишет всё сама | Полный контроль качества и стиля | 3-5 ч/день, выгорание, лимит на частоту |
| Indirect Alternative | ChatGPT / Claude напрямую | Бесплатно/дёшево, быстро | Нужен промпт каждый раз, нет консистентности стиля |
| Human delegate | Нанять контент-менеджера | Полный контроль, человеческое качество | 50-150k ₽/мес, нужно обучить голосу |
| Non-consumption | Публиковать реже | Меньше нагрузки | Потеря аудитории, снижение охватов |
Why Do They Switch? - Текущий процесс отнимает >3 часов в день - Физически невозможно публиковать чаще 2 постов - AI-инструменты становятся достаточно хороши для базовой адаптации
Why Do They Stay? - Контроль качества: только автор знает «тот самый» голос - Доверие: AI может написать не в том тоне — репутационный риск
Must-Have (Table Stakes): - Пост звучит как Софья (голос, интонация, лексика) - Контент основан на реальном кейсе (не выдумка AI) - Источник указан и не искажён - Пост безопасен юридически (не копия, а переработка)
Differentiators (Decision Drivers): - Интегрированный pipeline: парсинг → классификация → редактор → публикация (всё в одном) - Voice adaptation: AI знает голос Софьи и пишет в нём без повторных промптов - Модерация в Telegram: удобный approve/reject/edit из телефона
Nice-to-Have: - Аналитика по эффективности разных рубрик - Автоматический разогрев аудитории - Мультиязычность
JTBD Hypothesis 1 (unvalidated): Voice authenticity is the hiring criterion, not the feature. Софья «наймёт» AI-агента только если он пишет в её голосе. Экономия времени — важна, но вторична. Если AI пишет «не её голосом», она вернётся к ручному режиму. - Product Implication: Quality gate перед публикацией — модерация Софьей. Prompt engineering — primary investment.
JTBD Hypothesis 2 (unvalidated): Non-consumption (пропуск публикации) — главный конкурент AI-агента. Если AI-агент не сработает, Софья не переключится на конкурента — она просто будет публиковать реже. Это значит, что мы конкурируем не с альтернативами, а с «ничего не делать» — а для этого продукт должен быть бесшовным. - Product Implication: Zero friction в модерации. Approve должен быть одним тапом.
JTBD Hypothesis 3 (unvalidated): «Выгорание» — эмоциональный job, который AI решает, но не должен создавать нового. AI решает functional job (экономия времени). Но если AI создаёт эмоциональное напряжение (тревога за качество, чувство потери контроля), Софья «уволит» AI, несмотря на functional benefits. - Product Implication: Beta-период критичен: Софья должна чувствовать, что контролирует качество, пока не накопится доверие.
[T6 — выведено логически, не проверено на практике]
«Я хочу, чтобы канал оставался живым и полезным, но не за счёт того, что я трачу полдня на один пост» — Софья Солт (из концепции, парафраз)
«Запрещено писать нейросеточным языком» — из концепции, голос Сони (явное требование к AI)
«Бери из оригинала только ФАКТ и суть — какой инструмент, какая задача, какой результат. И дай свой разбор и угол» — из концепции, инструкция по адаптации
Примечание: JTBD-выводы основаны на имеющихся документах. Требуют проверки на практике.
Проверить выводы на практике после запуска инструмента.
Desired Outcome: Снизить время Софьи на создание контента с 3-5 ч/день до <30 мин/день, сохранив качество и аутентичность на уровне, неотличимом от ручного труда. Date: 2026-06-18
flowchart TD
O[OUTCOME: Reduce content time\n3-5h → <30 min/day] --> OP1[Opportunity 1:\nAuto-source cases]
O --> OP2[Opportunity 2:\nAuto-classify]
O --> OP3[Opportunity 3:\nAdapt in Sonya voice]
O --> OP4[Opportunity 4:\nStreamline moderation]
O --> OP5[Opportunity 5:\nAuto-publish]
OP1 --> S1a[Telethon parser]
OP1 --> S1b[White-list config]
OP1 --> S1c[Deduplication pipeline]
OP2 --> S2a[Keyword filter]
OP2 --> S2b[LLM classifier is_case]
OP2 --> S2c[Rubricator module]
OP3 --> S3a[Editor prompt chain]
OP3 --> S3b[Voice style guide]
OP3 --> S3c[Quality scorer]
OP4 --> S4a[Moderation bot]
OP4 --> S4b[Edit flow]
OP4 --> S4c[Stats dashboard]
OP5 --> S5a[Cron scheduler]
OP5 --> S5b[Telegram publisher]
OP5 --> S5c[Retry + alerting]
Statement: Снизить время Софьи на ежедневное создание контента с 3-5 часов до <30 минут, сохранив voice authenticity на уровне ≥70% аппрува в модерации.
Metrics to track: - Time spent on content per day (самоотчёт / лог) - % approved posts in moderation - Daily publishing rate (posts delivered vs. slots available) - Subscriber engagement (views, reactions — no decline)
Pain: 30-60 мин/день на ручной просмотр каналов-источников
| Evidence | Source |
|---|---|
| 30-60 мин на поиск | T2: concept (3-5h total) |
| Парсерный модуль описан | T3: ТЗ Module 1 (Parser) |
| Dedup описан | T3: ТЗ Module 5 (MD5 + embeddings) |
Solutions:
1. Telethon parser — читает каналы из whitelist, парсит новые посты (effort: Medium)
2. White-list config — config/sources.txt с управляемым списком (effort: Low)
3. Deduplication pipeline — MD5 + semantic embeddings, чтобы не повторяться (effort: Medium)
Risky assumption: Каналы-источники остаются доступны для парсинга.
Pain: 10-20 мин на решение «это кейс? Стоит поста?»
| Evidence | Source |
|---|---|
| Filter/keyword модуль | T3: ТЗ Module 2-4 |
| LLM-классификатор | T3: ТЗ Module 3 (is_case) |
| Рубрикатор | T3: ТЗ Module 7 (Rubricator) |
Solutions:
1. Keyword filter — stop-words (скидка, промокод) + include-words (экономия, заменил) (effort: Low)
2. LLM classifier — is_case detection + rubric assignment (effort: Medium)
3. Scoring module — quality score 1-5 for prioritization (effort: Medium)
Risky assumption: LLM-классификатор даёт >90% accuracy на реальных данных.
Pain: 60-90 мин/пост на переписывание — самая трудоёмкая часть
| Evidence | Source |
|---|---|
| Voice style guide детально описан | T2: concept (syntax, vocabulary, forbidden patterns) |
| Editor module (Модуль 6) | T3: ТЗ Module 6 |
| Это key hiring criterion | T2: JTBD Canvas (voice = must-have) |
Solutions: 1. Editor prompt chain — Claude Sonnet 4 с voice prompt (effort: High — critical) 2. Style integration — incorporate voice guide into system prompt (effort: Medium) 3. Scoring feedback loop — auto-score post quality, route low-scoring posts back for rewrite (effort: Medium)
Risky assumption: Claude может стабильно воспроизводить голос Софьи на разнообразных кейсах.
Pain: 15-30 мин на проверку поста
| Evidence | Source |
|---|---|
| Moderation bot описан | T3: ТЗ Module 9 |
| 4 кнопки: Approve / Edit / Skip / Queue | T3: ТЗ |
| Trust в AI — ключевая emotional job | T2: JTBD Canvas |
Solutions: 1. Moderation bot — Telegram bot с inline-кнопками (effort: Medium) 2. Edit flow — возможность править пост перед публикацией (effort: Medium) 3. Stats dashboard — daily_stats с метриками качества (effort: Low)
Risky assumption: Софья будет проверять бот в течение дня (не забывает).
Pain: 5-10 мин/день на отправку — small, но прерывает поток
| Evidence | Source |
|---|---|
| Publisher module описан | T3: ТЗ Module 11 (Publisher) |
| Cron scheduler | T3: ТЗ Module 12 |
| 2 слота: 10:00 и 19:00 МСК | T3: ТЗ |
Solutions: 1. Cron scheduler — 08:00 parse, 08:45 moderation alert, 10:00 & 19:00 publish (effort: Low) 2. Retry error handling — 3 attempts, alert on failure (effort: Low) 3. Post queue — FIFO, skip if no approved post for slot (effort: Low)
Risky assumption: Telegram API доступен в слотах публикации (решено retry logic).
| Priority | Opportunity | Impact | Confidence | Effort | ICE Score | Go first? |
|---|---|---|---|---|---|---|
| 1 | O1: Auto-source cases | High (30-60 min saved) | H (well-defined) | Medium | 7/10 | ✅ YES — prerequisite for all other modules |
| 2 | O2: Auto-classify | Medium (10-20 min) | H (simple filtering) | Medium | 6/10 | ✅ YES — filters noise before expensive LLM work |
| 3 | O3: Voice adaptation | Critical (60-90 min) | M (quality unproven) | High | 5/10 | ✅ YES but with beta gate |
| 4 | O4: Moderation | Medium (15-30 min) | M (adoption unknown) | Medium | 5/10 | ✅ YES — enabler for trust |
| 5 | O5: Auto-publish | Low (5-10 min) | H (simple cron) | Low | 6/10 | ✅ YES but last |
Critical path: O1 → O2 → O3 → O4 → O5 (sequential dependency — downstream modules need upstream data).
| # | Hypothesis | Test | Success Criteria | Effort |
|---|---|---|---|---|
| E1 | Telethon может парсить 5 каналов без FloodWait | Run parser for 3 days on 5 channels | <3 FloodWait errors/day | Low |
| E2 | LLM classifier определяет is_case с >90% accuracy | Run 100 posts through classifier, check manually | >90% precision | Medium |
| E3 | Claude пишет в голосе Софьи с качеством, приемлемым для публикации | 10 test cases → Софья оценивает | ≥7/10 approved | Medium |
| E4 | Софья использует модерационный бот ежедневно | 2-week beta test | >80% дней с moderation action | Low |
| Date | What We Learned | Decision |
|---|---|---|
| 2026-06-18 | Tree created from concept + ТЗ. Все предположения невалидированы. | Start with E1-E3 before full build |
Decision context: MVP build order — какие модули строить в первую очередь Date: 2026-06-18
| Framework | Status | Rationale |
|---|---|---|
| ICE | ✅ RUN | Всегда применим; используем coarse estimates |
| MoSCoW | ✅ RUN | Чёткий scope: что входит в MVP vs post-MVP |
| RICE | ❌ SKIPPED | Нет количественных данных по reach (количество пользователей/кейсов) |
| Weighted Scoring | ❌ SKIPPED | Один стейкхолдер (Софья), нет множественных критериев |
| Kano | ❌ SKIPPED | Нет customer research data (опросов подписчиков) |
| # | Module | Description | ТЗ ref |
|---|---|---|---|
| M1 | Парсер | Telethon парсинг каналов из whitelist | Module 1 |
| M2 | Фильтр ключевых слов | Include/exclude keywords | Module 2 |
| M3 | LLM-классификатор is_case | LLM определяет, является ли пост бизнес-кейсом | Module 3 |
| M4 | Фильтр is_case | Второй фильтр на is_case | Module 4 |
| M5 | Дедупликация | MD5 + semantic embeddings | Module 5 |
| M6 | Редактор | Claude пишет пост в голосе Софьи | Module 6 |
| M7 | Рубрикатор | Классификация по рубрикам | Module 7 |
| M8 | Скоринг | Quality score 1-5 | Module 8 |
| M9 | Бот модерации | Telegram bot с Approve/Edit/Skip | Module 9 |
| M10 | Статистика | daily_stats таблица | Module 10 |
| M11 | Публикатор | Telegram API publish + scheduler | Module 11 |
| M12 | Конфигурация | .env, sources.txt, scheduler | Module 12 |
| Module | Impact (1-10) | Confidence (1-10) | Ease (1-10) | ICE Score | Notes |
|---|---|---|---|---|---|
| M1: Парсер | 9 | 9 | 7 | 25 | Core dependency. Telethon is well-documented |
| M2: Keyword filter | 6 | 9 | 9 | 24 | Simple regex, low effort |
| M3: LLM classifier | 8 | 6 | 5 | 19 | Prompts need tuning, quality unknown |
| M4: Фильтр is_case | 5 | 5 | 6 | 16 | Overlap with M3, could merge |
| M5: Dedup | 7 | 8 | 9 | 24 | MD5 is trivial, embeddings medium |
| M6: Редактор | 10 | 4 | 3 | 17 | Critical but highest risk & effort |
| M7: Рубрикатор | 5 | 5 | 6 | 16 | Useful but not critical for MVP |
| M8: Скоринг | 6 | 4 | 5 | 15 | Quality gate but can defer |
| M9: Бот модерации | 7 | 8 | 6 | 21 | Well-defined, moderate effort |
| M10: Статистика | 4 | 7 | 8 | 19 | Simple SQL queries |
| M11: Публикатор | 8 | 9 | 8 | 25 | Cron + Telegram API, low complexity |
| M12: Конфиг | 9 | 9 | 9 | 27 | .env + sources, foundational |
| Bucket | Modules | Rationale |
|---|---|---|
| Must | M1 (Parser), M5 (Dedup), M6 (Editor), M11 (Publisher), M12 (Config) | Core pipeline: parse → edit → publish. Без них MVP не работает |
| Should | M2 (Keyword filter), M3 (LLM classifier), M5 (Dedup — embeddings) | Фильтры и качество; strong recommendation for MVP |
| Could | M7 (Rubricator), M8 (Scoring), M10 (Stats) | Улучшают, но MVP работает и без них |
| Won't | M4 (duplicate is_case filter) | Merge with M3 — отдельный модуль не нужен |
Recommended MVP modules: M1, M2, M3, M5, M6, M9, M11, M12 (8 из 12 модулей)
| Module | ICE Rank | MoSCoW | Verdict |
|---|---|---|---|
| M12: Config | #1 (27) | Must | ✅ BUILD FIRST |
| M1: Parser | #2 (25) | Must | ✅ BUILD FIRST |
| M11: Publisher | #2 (25) | Must | ✅ BUILD |
| M2: Keyword filter | #4 (24) | Should | ✅ BUILD |
| M5: Dedup | #4 (24) | Should | ✅ BUILD |
| M9: Bot moderation | #6 (21) | Should | ✅ BUILD |
| M3: LLM classifier | #7 (19) | Should | ✅ BUILD |
| M10: Stats | #7 (19) | Could | ⏸️ DEFER |
| M6: Editor | #9 (17) | Must | ✅ BUILD (high risk, start early) |
| M7: Rubricator | #10 (16) | Could | ⏸️ DEFER if combined with M3 |
| M4: is_case filter 2 | #11 (16) | Won't | ❌ SKIP — merge with M3 |
| M8: Scoring | #12 (15) | Could | ⏸️ DEFER |
Divergence: M6 (Editor) ranks #1 by impact (10) but #9 by ICE because of low ease (3) and confidence (4). MoSCoW says Must. Recommendation: start Editor early despite risk — it's the defining feature.
| # | Assumption | Impact if wrong | Mitigation |
|---|---|---|---|
| 1 | Telethon стабильно работает с whitelist-каналами | M1 (Parser) не работает → весь pipeline стоит | Test E1: 3-day parser run |
| 2 | Editor prompt (M6) даёт приемлемое качество | MVP не может быть запущен | Test E3: 10 test cases before full build |
| 3 | Bot moderation (M9) usable на мобильном | Софья не проверяет посты | Test E4: 2-week beta |
| 4 | Telegram API не меняется существенно | Publisher ломается | Error handling + monitoring |
| 5 | Voice prompt versioning не требуется | Невозможность отката при деградации качества после редактирования prompt | Ability to roll back to previous prompt version if quality degrades after edits |
Build sequence: 1. Phase 1 (Foundation): M12 (Config) → M1 (Parser) → M5 (Dedup) → M2 (Keyword filter) — Dedup и Keyword filter обязательны: без них пайплайн публикует дубликаты и рекламу. 2. Phase 2 (Core): M3 (LLM classifier) → M6 (Editor) [with prompt testing] 3. Phase 3 (Delivery): M9 (Moderation bot) → M11 (Publisher) 4. Post-MVP: M10 (Stats) + M7 (Rubricator, merged into M3) + M8 (Scoring)
Rationale: Sequential dependency требует parser→classifier→editor→moderator→publisher. Parser — foundation, editor — critical path (highest risk). Build in dependency order, test editor quality early.
Graduated trust roadmap:
| Phase | Workflow | Criteria to advance |
|---|---|---|
| Phase 0: Human-only | Софья создаёт каждый пост самостоятельно | Baseline established |
| Phase 1: AI suggests, human reviews | AI предлагает draft, Софья ревьюит каждый элемент | 2 consecutive weeks at >70% approval |
| Phase 2: AI publishes, human moderates | AI auto-публикует, Софья модерирует (approve/skip) | 2 consecutive weeks at >70% approval |
| Phase 3: Routine autopilot | AI auto-публикует routine рубрики, Софья ревьюит новые/novel категории | 2 consecutive weeks at >70% approval |
| Phase 4: Full autopilot | Полный автопилот с random quality sampling | Софья решает |
Time horizon: 3 months (MVP) + 3 months (validation) Team: 1 developer (by ТЗ) + Софья (product owner) Date: 2026-06-18
AI-агент — internal tool для одного автора, не коммерческий продукт. Стратегия состоит из одного уверенного strategic bet (построить pipeline по ТЗ) и двух разведывательных (voice quality validation, platform optionality). У нас нет ресурсов или рыночного сигнала для параллельных bets. Единственный правильный ход: построить, запустить, проверить. Если качество устраивает Софью — product-market fit достигнут. Если 3+ других автора запросят такой же инструмент — исследуем platform play.
К 2027 году AI-агент @pishu_pro публикует 100% контента канала без участия Софьи в создании, сохраняя voice authenticity на уровне, неотличимом от авторского. Если в течение 2026 года 5+ других авторов запросят аналогичный инструмент — превратить агента в платформу для AI-контента Telegram-каналов.
Hypothesis: Построив pipeline парсинг→фильтр→редактор→модератор→публикатор по ТЗ, Софья сможет сократить время на контент с 3-5 ч/день до <30 мин/день.
| Dimension | Detail |
|---|---|
| Confidence | HIGH — ТЗ готово, технологии выбраны, dependency chain понятна |
| Investment | ~80% effort (developer time per ТЗ) |
| Kill criteria | Editor quality <50% approval after 2 weeks of beta |
| Timeline | 6-8 weeks development, 2 weeks beta |
| Success | Софья публикует ≥5 posts/week через агента, approval rate ≥70% |
Hypothesis: Claude Sonnet 4 с voice prompt может воспроизводить голос Софьи на разнообразных бизнес-кейсах с качеством, достаточным для публикации.
| Dimension | Detail |
|---|---|
| Confidence | MEDIUM — prompt guide детален, но не тестирован на реальных кейсах |
| Investment | ~10% effort (prompt engineering + 10 test cases pre-build) |
| Kill criteria | 15-20 test cases with 3-tier scoring: >12/20 pass → proceed; 8-12/20 → iterate prompt once; <8/20 → kill. |
| Timeline | Week 1-2 of project (before full Editor build) |
| Success | ≥7/10 test posts approved |
Model monitoring: Upon each Claude Sonnet version update, re-run the 10-test voice validation. Version pinned: claude-sonnet-4-20250514.
Hypothesis: Если показать MVP 10 другим авторам Telegram-каналов, ≥3 запросят доступ.
| Dimension | Detail |
|---|---|
| Confidence | LOW — market sizing показал малый рынок, willingness-to-pay не валидирован |
| Investment | ~10% effort (after MVP, packaging + outreach) |
| Kill criteria | <3 requests from 10 outreach attempts |
| Timeline | Month 4-6 (post-MVP) |
| Success | 3+ paid signups at 2-3k ₽/мес |
| Phase | Timeline | Focus | Key deliverable |
|---|---|---|---|
| P0 — Foundation | Weeks 1-2 | Bet 2 (voice validation) + Bet 1 infra | 10 test posts + parser prototype + Dedup (M5) + Keyword filter (M2) |
| P1 — Core Build | Weeks 3-8 | Bet 1 (full pipeline per ТЗ) | Working MVP: parse→classify→edit→moderate→publish |
| P2 — Beta | Weeks 9-10 | Bet 1 validation | 2-week beta with Софья moderating all posts |
| P3 — Decide | Months 3-4 | Review: ship as-is or iterate or platform | Decision gate: continue / pivot / explore Bet 3 |
Why this order: Sequential dependency (pipeline modules chain together). Voice validation first (Bet 2) because it's the highest-risk assumption — if Claude can't write in Софья's voice, building the rest is wasted.
| Phase | Resource | Allocation | Notes |
|---|---|---|---|
| P0 | Developer | 100% | Prompt engineering + parser prototype |
| P0 | Софья | ~3 hours | Time tracking, test case review |
| P1 | Developer | 100% | Full pipeline build |
| P1 | Софья | ~1 hour/week | Weekly progress check |
| P2 | Developer | 50% | Bug fixes, prompt tuning |
| P2 | Софья | ~15 min/day | Beta moderation |
| P3 | Developer | 0-50% | Depends on decision gate outcome |
Total developer effort: ~8-10 weeks FTE.
| NOT Doing | Why | Opportunity cost | Revisit trigger |
|---|---|---|---|
| Аналитика и дашборды (M10) | MVP работает без них | Не видим метрики качества | Post-MVP: если Софья запрашивает |
| Рубрикатор (M7) | Поглощается LLM-классификатором | Меньше структурированных данных | Если нужна аналитика по рубрикам |
| Platform / multi-tenant | Рынок не валидирован | Потенциально упущенный first-mover advantage | 3+ external requests |
| Mobile app | Telegram — достаточный UI | Нет dedicated UX для управления агентом | После platform decision |
| English-language channels | Не в scope | Больший TAM | После RU-валидации |
| Tension | Resolution |
|---|---|
| Quality vs Speed — Editor нужно и качественно, и быстро | Побеждает Quality: voice validation pre-build, beta gate, полная модерация |
| Build vs Validate — можно строить полный pipeline сразу или валидировать по частям | Компромисс: voice validation (P0) перед полным Editor, parser prototype (P0) перед pipeline |
| Internal tool vs Platform — строить для одного или для многих | Строить для одного. Platform — conditional bet с kill criteria |
| Gate | When | Criteria | Pass | Fail |
|---|---|---|---|---|
| G1: Voice validated | End of Week 2 | ≥7/10 test posts approved by Софья | Continue to full build | Pivot prompt or abort |
| G2: Pipeline works | End of Week 8 | MVP parses, classifies, edits, posts; ≥50% of posts pass without critical quality flags (factual errors, inappropriate tone) | Start beta | Debug → delay |
| G3: Beta passes | End of Week 10 | ≥70% approval rate, Софья uses agent daily | Ship to production | Fail → 3 prompt iterations over 2 weeks → if still <70% → abort, document learnings, return to manual mode. No infinite iteration. |
| G4: Platform signal | Month 4 | ≥3 external requests for tool | Explore platform play | Stay internal tool |
| # | Assumption | Strategic Bet | Confidence | What invalidates |
|---|---|---|---|---|
| A1 | ТЗ (123.md) описывает правильную архитектуру | Bet 1 | H | Pipeline не работает в production |
| A2 | Claude может писать в голосе Софьи | Bet 2 | M | <5/10 test posts accepted |
| A3 | Софья будет использовать агента регулярно | Bet 1 | M | После beta возвращается к ручному режиму |
| A4 | Другие авторы заинтересованы в таком инструменте | Bet 3 | L | 0 из 10 outreach → interest |
| A5 | Telegram API остаётся стабильным | Bet 1 | H | Breaking API change от Telegram |
Weakness 1: Single-customer strategy — вся стратегия завязана на одного человека. Если Софья перестаёт вести канал, стратегия теряет смысл. Нет diversification. Mitigation: Bet 3 (platform optionality) как conditional hedge.
Weakness 2: Quality validation pre-build может быть недостаточной. 10 тестовых кейсов могут не покрыть разнообразие реальных источников. Первый месяц в production может выявить quality gaps. Mitigation: Beta gate (G3) с kill criteria. Если <70% approval — pause, не выпускать в production.
Weakness 3: Нет альтернативы «Софья не принимает AI-контент». Если G3 fails (approval <70%), стратегия не имеет варианта B. Pause — это не решение, это заморозка. Mitigation: Определить до старта: если G3 fails, пробуем 3 prompt-итерации. Если всё ещё fail — стратегия пересматривается.
Проблема: Софья — единственный модератор. Если она недоступна, пайплайн останавливается.
Mitigations: - Backup moderator role: Назначить backup-модератора (Софья-назначенное лицо с read-only доступом и ограниченными approve/skip правами). - Vacation mode: Авто-пауза публикации + уведомление подписчиков при недоступности Софьи >48ч.
| Trigger | What to re-assess | Timeline |
|---|---|---|
| Софья rejects >50% posts in beta | Bet 1, Bet 2 | Immediately |
| 3+ external requests for the agent | Bet 3 | 1 month post-launch |
| Telegram API breaking change | Bet 1 architecture | Within 1 week |
| Софья reduces publishing to <1 post/week | Entire strategy | 2 weeks |
Product: AI content agent for @pishu_pro Measurement context: New launch (internal tool) Date: 2026-06-18
North Star Metric: «Время Софьи на ежедневный контент» (лидирующий) с контр-метрикой «% отклонённых постов в модерации» (качественный guardrail). Успех = Софья тратит <30 мин/день на контент с approval rate ≥70%. Единственный эксперимент перед запуском: A/B тест «человек vs AI» на 10 постах с оценкой Софьи.
| Candidate | Value Reflection | Leading (predicts lagging) | Influenceable | Non-gameable | Score |
|---|---|---|---|---|---|
| Время на контент/день | ✅ — прямое отражение ценности | ✅ — снижение ведёт к консистентности | ✅ — pipeline влияет напрямую | ⚠️ — Софья может нелогировать | 4/5 |
| % AI-generated posts | ❌ — не отражает ценность | ❌ — лаггирующий | ✅ | ✅ | 2/5 |
| Частота публикаций | ⚠️ — partial | ✅ — ведёт к росту аудитории | ✅ — pipeline контролирует | ❌ — можно публиковать мусор | 3/5 |
| Approval rate | ❌ — качество, не ценность | ✅ — предсказывает долгосрочное принятие | ✅ — prompt engineering | ✅ — Софья честно оценивает | 3/5 |
Selected NSM: «Время Софьи на ежедневный контент» Rationale: Прямая связь с ценностью (экономия времени). Влияние продукта прямое (pipeline заменяет ручной труд). Goodhart risk: Софья может неточно логировать.
North Star: Время Софьи на контент/день (<30 мин)
├── L1: Daily content production time (30-60-90 min)
│ ├── L2: Time on search (target: 0 min — fully automated)
│ ├── L2: Time on editing (target: 0 min — fully automated)
│ └── L2: Time on moderation (target: 10-15 min)
├── L1: Post quality
│ ├── L2: Approval rate (target: ≥70%)
│ ├── L2: Post quality score (AI, 1-5; target: ≥3.5 avg)
│ └── L2: % posts requiring edits before approval (target: <30%)
├── L1: Publishing reliability
│ ├── L2: Posts published / slots available (target: ≥80%)
│ └── L2: Publishing error rate (target: <5%)
└── L1: Audience health (guardrail)
├── L2: Views per post (no decline trend)
└── L2: Reactions per post (no decline trend)
| Leading | Lagging | Temporal Lag | Target | Notes |
|---|---|---|---|---|
| Time on search (min) | Daily content time (min) | Immediate (same day) | 0 min | Когда search=0, агент работает |
| Approval rate (%) | Sustained agent usage (weeks) | 1-4 weeks | ≥70% | Если approval rate падает, Софья бросит агента |
| Editor quality score (1-5) | Approval rate | 1 day | ≥3.5 avg | Предсказывает approval до модерации |
| % skipped posts | Publishing rate | Same day | <20% | High skip rate → pipeline issues |
| Primary Metric | Goodhart Risk | Counter-Metric | Guardrail |
|---|---|---|---|
| Time saved (↓ = good) | Софья может перестать полностью проверять контент | Approval rate (target: ≥70%) | Если approval <70% при time <30 min → ALERT: quality sacrificed for speed |
| Approval rate (↑ = good) | Софья может одобрять low-effort посты | Views per post (no decline) | Если approval rate >90% И views <80% baseline → ALERT: quality drift |
| Daily publishing rate (↑ = good) | Публикация любого контента | Quality score (target ≥3.5) | Если publish >90% И quality <3.0 → ALERT: pipeline produces noise |
Experiment 1: Voice Quality Validation (pre-build) | Parameter | Value | |---|---| | Type | Single-arm: 10 test cases written by Claude in Софья's voice | | Sample | 10 business cases randomly selected from Софья's sources | | Success criteria | ≥7/10 posts approved by Софья for publication | | Duration | 1 session (Софья reviews all 10 at once) | | Decision rule | Pass (≥7): proceed to full build. Fail (<5): rethink prompt. Marginal (5-6): iterate prompt once | | Statistical power | N/A — qualitative gate, not A/B |
This is a gate, not a suggestion. No full Editor build shall begin before Experiment 1 passes with ≥7/10 approved posts.
Cross-reference with Stage 01: Problem Framing overstates confidence (H). This measurement framework correctly pegs confidence at M. Treat PSF tests in Stage 01 as CONDITIONAL PASS pending Experiment 1.
Experiment 2: Beta Approval Rate (post-build) | Parameter | Value | |---|---| | Type | Observational: Софья moderates all agent posts for 2 weeks | | Sample | All posts generated by agent during beta period | | Success criteria | Weekly approval rate ≥70% for 2 consecutive weeks | | Counter-metric | Views per post ≥80% of pre-agent baseline | | Duration | 14 days | | Decision rule | Pass: ship to production. Fail: prompt iteration + 1 more week |
Experiment 3: A/B blind test (optional, post-MVP) | Parameter | Value | |---|---| | Type | A/B blind: 5 Софья-written vs 5 agent-written posts | | Sample | 10 subscribers rate posts on «quality» and «authenticity» (1-10 scale) | | Success criteria | No statistically significant difference at p<0.05 | | Duration | 1 week | | Note | Only if Софья wants formal validation |
For a single-user tool, retention = Софья using the agent consistently:
| Phase | Metric | Target | Timeline | Signal |
|---|---|---|---|---|
| Запуск | First post published via agent | Day 1 of beta | 1 day | Agent generated post → Софья approved → published |
| Использование | Daily agent usage (logged in) | ≥5/7 days/week | Weeks 1-4 | Софья uses moderation bot daily |
| Привычка | Posts published without manual edits | ≥70% of posts | Weeks 4-8 | Trust established |
| Зависимость | Manual content creation drops to <1 post/week | <1 manual post/week | Month 2+ | Софья doesn't create content manually |
From ТЗ (123.md) Module 10 — already covered:
| Table | Key fields | Used for NSM? |
|---|---|---|
cases |
status, published_at | Publishing rate, quality |
moderation_log |
action (approved/skipped/edited), edited_text | Approval rate, edit rate |
daily_stats |
collected, approved, published, rejected_* | Daily content time proxy |
publish_queue |
status, scheduled_at, published_at | Publishing reliability |
Additional instrumentation needed: - Софья self-log time on content (manual, 1-week pre-build baseline) - Post-publish: Софья can optionally rate post quality (👍/👎) in bot
| Observation | Implication | Response | Check | Watch |
|---|---|---|---|---|
| Approval rate <50% for 3 days | Voice quality failing | Pause auto-publish. Run prompt iteration (3 attempts). | % approved after each iteration | If still <50% after 3 iterations → pause agent |
| Publishing error rate >10% | Technical issue | Alert developer. Check Telegram API + retry logic. | Error rate back to <5% | Если ошибки Telegram API → switch to secondary method |
| Софья stops using moderation bot for 48h | Trust or usability issue | Check in with Софья. What's wrong? | Софья resumes use or gives feedback | Если не использует 1 week → rethink entire approach |
| Views per post decline >20% vs baseline | Audience rejects AI content | A/B test human vs AI posts. Full transparency to subscribers. | Если decline продолжается → revert to manual + pause agent |
| # | Assumption | Metric it underpins | Confidence | What invalidates |
|---|---|---|---|---|
| 1 | Софья тратит 3-5 ч/день сейчас | NSM baseline | M | Time-tracking показывает <2h |
| 2 | Approval rate ≥70% = acceptable quality | Quality L1 | M | Софья одобряет low-effort посты |
| 3 | Views/reactions стабильны при AI-контенте | Audience guardrail | L | Subscribers notice and disengage |
| 4 | Daily time <30 min = success | NSM target | M | Софья всё равно недовольна качеством |
Weakness 1: NSM is self-reported (time log), not instrumented. Софья может неточно логировать время. Решение: логировать можно в боте модерации как доп. поле.
Weakness 2: Отсутствие количественного теста voice quality. Approval rate — субъективная метрика. Софья может быть снисходительна или строга непредсказуемо. Решение: Experiment 3 (A/B blind test) если confidence в approval rate низкая.
Weakness 3: Audience health метрики — косвенные. Views/reactions — публичные метрики Telegram, не точные. Нет доступа к retention, CTR, времени чтения.
Date: 2026-06-18 Source: 123.md (ТЗ версия 2.0)
Status: Accepted (per ТЗ)
Context: AI-агент должен писать посты в уникальном авторском стиле Софьи. Требуется модель с сильными способностями к стилизации текста, поддержкой русского языка и детальным следованием инструкциям. Альтернативы: GPT-4o, Gemini, open-source (Llama, Mistral).
Decision: Использовать claude-sonnet-4-20250514 для редактора (Module 6 — Editor) и классификатора (Module 3 — LLM classifier).
Consequences: - Positive: Лучшая стилизация под заданный голос среди доступных моделей; детальное следование system prompt; отличная поддержка русского языка - Negative: Vendor lock-in на Anthropic; стоимость API при большом объёме; latency выше, чем у меньших моделей - Neutral: Требуется fallback для времени простоя API (retry 3×)
Alternatives considered: - GPT-4o: сопоставимое качество, но хуже следует голосовым инструкциям по отзывам — отклонено - Gemini 2.5: хороший русский, но менее предсказуемый в стилизации — отклонено - Llama 3.1 70B: open-source, дешевле, но требует хостинга — отклонено (дополнительная инфраструктура)
Переносимость модели: Если Claude Sonnet 4 is deprecated, pricing changes >2x, or quality degrades below 7/10 approval, fallback to GPT-4o with voice test suite benchmark. CI must block if score <7/10. Budget for migration: 2 developer weeks.
Status: Accepted (per ТЗ)
Context: Агент должен парсить посты из whitelist Telegram-каналов-источников. Требуется доступ к контенту каналов, куда бот добавлен не обязательно. Альтернативы: python-telegram-bot (Bot API), Telethon (MTProto), RSS (недоступен для большинства каналов).
Decision: Использовать Telethon (MTProto) для парсинга каналов (Module 1 — Parser).
Consequences: - Positive: Чтение каналов без добавления бота; доступ к истории; гибкий API - Negative: Требует авторизации через Telegram аккаунт (первый запуск — ввод кода из SMS); FloodWait ограничения; чувствительность к изменениям MTProto - Neutral: Telethon — зрелая библиотека (активная разработка)
Юридическая оценка рисков: Telethon использует MTProto с пользовательским аккаунтом — Telegram ToS 10.3 запрещает автоматизированный доступ через пользовательские аккаунты. Риск блокировки аккаунта убивает весь пайплайн. Mitigations: (a) fallback to Bot API для публичных каналов, (b) kill switch при блокировке аккаунта, (c) rate limiting ниже detectable thresholds. Рассмотреть консультацию юриста по ст.272 УК РФ (несанкционированный доступ) и copyright implications републикации контента 5+ каналов.
Alternatives considered: - python-telegram-bot: только Bot API — бот должен быть администратором канала, что неприемлемо для парсинга чужих каналов — отклонено - RSS/Atom: большинство каналов не имеют RSS — отклонено
Status: Accepted (per ТЗ)
Context: Хранение кейсов, логов модерации, статистики. Решение для одного пользователя, не требующее масштабирования или конкурентного доступа.
Decision: Использовать SQLite как основное хранилище.
Consequences: - Positive: Zero ops (файл в директории); простота; достаточная производительность для single-user сценария - Negative: Не подходит для multi-tenant; нет concurrent writes от нескольких процессов; ограниченный размер - Neutral: Миграция на PostgreSQL в будущем — смена connection string + дамп
Количественные ограничения: SQLite degrades past 100K rows (queries >500ms). Embeddings storage at 10K+ cases → dozens of MB WAL. Use .backup pragma not cp for backups. Migration to PostgreSQL via pgloader if needed. Backup plan: weekly .backup to separate volume.
Alternatives considered: - PostgreSQL: избыточен для одного пользователя; требует обслуживания — отклонено - MongoDB: документо-ориентированная модель не даёт преимуществ для реляционных данных — отклонено
Status: Accepted (per ТЗ)
Context: Система состоит из последовательных этапов обработки: парсинг → фильтрация → классификация → редактор → модерация → публикация.
Decision: Реализовать 11 модулей с последовательным конвейером (pipeline), каждый модуль — независимый класс/файл.
Consequences: - Positive: Модульность — каждый компонент можно тестировать и заменять независимо; чёткие границы ответственности - Negative: Сложность координации между модулями; sequential dependency (если один модуль падает, pipeline останавливается) - Neutral: Каждый модуль читает из общего SQLite, что снижает coupling
Alternatives: - Message queue (RabbitMQ/Redis): избыточно для single-user — отклонено - Monolithic single-script: невозможно тестировать — отклонено - Serverless functions (AWS Lambda): избыточная инфраструктура — отклонено
Status: Accepted
Context: Voice prompt (system prompt для Editor) — ключевой нематериальный актив (non-obvious-advantage). Prompt содержит стиль, тон, правила форматирования Софьи — интеллектуальная собственность, определяющая качество агента.
Decision: Хранить voice prompt в отдельном зашифрованном файле (voice_prompt.enc), .env permissions 600. Partition prompt: static base (style guide) + day-specific context (new instructions). Не включать в plain-text backups. Access logged. Encryption at rest, decrypt only at read-time.
Consequences: - Positive: Prompt защищён от случайной утечки; версионирование статической базы; аудит доступа - Negative: Дополнительная сложность при разработке (расшифровка при чтении) - Neutral: Partition prompt — практика prompt engineering для AI-агентов
Spec type: Agent task spec (AI-агент + Python pipeline) Executor: Разработчик (по ТЗ 123.md) Date: 2026-06-18 Status: References ТЗ v2.0 (123.md) + fills gaps
Софья сокращает время на создание контента с 3-5 ч/день до <30 мин/день, а AI-агент пишет посты в её голосе с quality approval rate ≥70%.
Outcome score: 3 — binary-testable: <30 min/day AND ≥70% approval rate for 2 consecutive weeks.
config/sources.txt), ежедневно в 08:00 МСК. Source diversification: M1 должен поддерживать минимум 10-15 каналов, с планом B (RSS, web scraping, manual entry) если все каналы-источники будут заблокированы.is_case detection, business model classificationdaily_stats таблица с метриками конвейера| Capability | Justification | Revisit |
|---|---|---|
| Multi-tenant / других авторов | Single-user tool. Нет сигнала рынка | 3+ external requests |
| Веб-дашборд / GUI | Весь UX в Telegram (бот + канал) | Если Софья запрашивает |
| API для внешних интеграций | Модули — внутренний pipeline | Если productization |
| Авто-комментарии / replies | Agent пишет посты, не отвечает | Если нужно |
| Контент-план / editorial calendar | Не было в концепции | Post-MVP |
ACs ниже не заменяют ТЗ, а закрывают gaps, которые в ТЗ не покрыты или не тестируемы.
| # | Module | Criterion | Type | Verification | Annotation |
|---|---|---|---|---|---|
| AC-1 | M1 (Parser) | Парсер работает без ошибок 7 дней подряд | Behavioral | grep ERROR in logs = 0 daily |
[Assumed] — требует теста на реальных каналах |
| AC-2 | M3 (Classifier) | Precision по is_case ≥90% на тестовой выборке 100 постов |
Behavioral | Ручная валидация 100 размеченных постов | [Assumed] — LLM accuracy не измерена |
| AC-3 | M6 (Editor) | Пост не содержит forbidden patterns из voice guide | Negative | Regexp проверка на AI-маркеры | [Validated] — voice guide определяет |
| AC-4 | M6 (Editor) | Пост начинается с bold-заголовка ≤70 символов без точки | Behavioral | len(title) <= 70 and not title.endswith('.') |
[Validated] — из концепции |
| AC-5 | M6 (Editor) | Пост содержит ровно 1 CTA-вопрос в конце | Behavioral | Regexp check for last paragraph ? |
[Validated] — из концепции |
| AC-6 | M6 (Editor) | Пост не содержит source attribution invention | Negative | Нет ссылок на несуществующие посты | [Validated] — legal requirement |
| AC-7 | M8 (Scoring) | Score <3 → low_score статус, не отправляется на модерацию |
Behavioral | Проверка статуса в cases table | [Assumed] — threshold может измениться |
| AC-8 | M9 (Moderation) | Бот отвечает на callback query <2s | Performance | Timeline: avg response time | [Assumed] — Telegram API latency |
| AC-9 | M11 (Publisher) | FloodWait: пауза на указанное время + алерт | Negative | Telegram API возвращает retry_after → handled | [Validated] — error handling в ТЗ |
| AC-10 | System | Все 11 modules load без ImportError на Python 3.11+ | Dependency | python3 -c "import pishu_pro_agent" |
[Validated] — ТЗ |
| AC-11 | System | .env валидируется при старте; missing keys → exit with error | Negative | BOT_TOKEN not set → ConfigError |
[Assumed] — convention |
| AC-12 | M11 (Publisher) | AI-disclaimer конфигурируется через .env DISCLAIMER_TEXT. Если пустой — публикация без дисклеймера. Если задан — добавляется первой строкой поста | Behavioral | Проверка: DISCLAIMER_TEXT="Test" → пост начинается с "Test" | [New] |
| AC-13 | System (Quality) | Monthly quality sample — Софья ревьюит 5 случайных постов за последние 30 дней. Если <70% approved → trigger prompt refresh | Behavioral | Ручная проверка Софьи | [New] |
| Dependency | Type | Owner | Status | Deadline |
|---|---|---|---|---|
| Telegram API key (BOT_TOKEN) | External | Софья (@BotFather) | TBD | Week 1 |
| Anthropic API key (ANTHROPIC_API_KEY) | External | Софья | TBD | Week 1 |
| MODERATION_CHAT_ID | External | Софья (шаг деплоя) | TBD | Week 1 |
| Тестовые каналы (sources.txt) | Content | Софья | TBD | Week 1 |
| VPS Ubuntu 22.04 | Infra | Разработчик | TBD | Week 1 |
| Telethon session авторизация | Setup | Разработчик (+ SMS от Софьи) | TBD | Week 1 |
| S-7: Claude API version pinned | External (Anthropic) | Разработчик | TBD | Week 1 |
Deadline: Week 1 (все external dependencies должны быть до начала разработки).
| Condition | Impact | Mitigation |
|---|---|---|
| FloodWait от Telegram | Парсер стопится на N минут | await asyncio.sleep(retry_after) + log alert |
| Claude API timeout / 500 | Editor не обрабатывает кейс | Retry 3×, exponential backoff, skip + alert |
| Claude невалидный JSON | Classifier/Editor returns garbage | Retry с temperature 0, skip + alert |
| Bot API auth failure | Модерация/публикация не работают | Alert immediately; check BOT_TOKEN |
| Telethon disconnect | Парсер не может читать каналы | Reconnect with exponential backoff |
| SQLite lock | Concurrent write fails | Not applicable (single-process pipeline, но add timeout) |
| Service crash | Пропущенный цикл | systemd restart (restart=always) |
| Voice prompt permissions | Утечка prompt (утечка voice IP) | Voice prompt .env file must have 600 permissions. Excluded from plain-text backups. |
| # | Assumption | Confidence | What invalidates | Annotation |
|---|---|---|---|---|
| S-1 | Telethon может читать все каналы из whitelist | M | Private/restricted channels в списке | [Assumed: verify] |
| S-2 | LLM classifier accuracy ≥90% | L | Manual test показывает <80% | [Unknown: TBD] |
| S-3 | Софья проверяет бот модерации >1×/день | M | Софья пропускает дни | [Assumed] |
| S-4 | VPS Ubuntu 22.04 + Python 3.11 стабильны | H | Testing shows dependency issues | [Validated] |
| Dimension | Score (0-3) | Notes |
|---|---|---|
| Outcome defined | 3 | Binary-testable: time + approval rate |
| Scope bounded | 3 | Explicit in/out with justifications |
| ACs testable | 2.5 | AC-1 (parser 7 days) требует времени, некоторые — [Assumed] |
| Dependencies resolved | 1 | API keys, chat ID — TBD (надо получить до старта) |
| Failures covered | 3 | Error handling table covers all modules |
| Assumptions labeled | 2.5 | 2 of 4 — [Assumed] or [Unknown] |
Итог: 15/18 — strong, но 4 dependencies (API keys) надо получить до старта.
Weakness 1: Acceptance criteria assume ТЗ правилен. ACs покрывают gaps, но не проверяют core workflow (does the pipeline actually save time?) — это metric design, не spec.
Weakness 2: Не определены контентные стандарты для moderation. Что именно проверяет Софья: стиль, факты, тон? Без критериев ревью Софья может быть непредсказуемой gate.
Weakness 3: LLM accuracy assumptions unfounded. AC-2 предполагает 90% precision. Это может быть 60% или 99%. Нужен тест до запуска в production.
Date: 2026-06-18 Status: References ТЗ v2.0 (123.md) — этот PRD не заменяет, а структурирует Audience: Софья (product owner), разработчик
Название: AI-агент контента для @pishu_pro Тип: Internal automation tool (Telegram AI agent pipeline) Пользователь: Софья Солт (single-user)
Problem: Создание ежедневного контента для @pishu_pro занимает 3-5 ч/день. Ручной поиск, классификация, адаптация и публикация не масштабируются для одного автора.
Solution: AI-агент с 11-модульным pipeline: парсинг → фильтрация → классификация → редактор → модерация → публикация.
Success criteria: Софья тратит <30 мин/день на контент с approval rate ≥70%.
| User | Role | Needs |
|---|---|---|
| Софья | Primary user, автор | Минимум времени на контент, сохранение голоса |
| Подписчики | Consumers | Качественный, аутентичный контент |
| Разработчик | Builder | Чёткое ТЗ, понятная архитектура |
11 modules as defined in ТЗ (123.md) — summary:
| Module | Function | Input | Output |
|---|---|---|---|
| M1 Parser | Parse channels via Telethon | sources.txt | Raw posts → SQLite |
| M2 Keyword filter | Include/exclude keywords | Raw posts | Filtered posts |
| M3 LLM classifier | is_case detection | Post text | is_case: bool + rubric |
| M4 Filter is_case | Second pass (merged with M3) | — | — |
| M5 Dedup | MD5 + semantic embeddings | Post text | dedup: pass/skip |
| M6 Editor | Claude rewrite in voice | Case text | Post in voice of Софья |
| M7 Rubricator | Rubric classification | Post text | Rubric label |
| M8 Scoring | Quality score 1-5 | Post text | Score |
| M9 Moderation bot | Telegram approve/edit/skip | Post | Action |
| M10 Stats | daily_stats aggregation | DB | Stats |
| M11 Publisher | send_message + cron | Approved post | Published |
| Requirement | Target | Source |
|---|---|---|
| Reliability | 99% uptime (except API outages) | TЗ: error handling |
| Latency (processing) | Full pipeline <5 min per case | TЗ: cron schedule |
| Latency (bot response) | <2s on callback | TЗ |
| Scalability | N/A — single-user | — |
| Security | API keys in .env, not in code | Convention |
| Maintainability | Modular architecture, 11 independent modules | TЗ |
| Dependency | Status |
|---|---|
| BOT_TOKEN | TBD — получить у @BotFather |
| ANTHROPIC_API_KEY | TBD |
| MODERATION_CHAT_ID | TBD |
| VPS Ubuntu 22.04 | TBD |
| sources.txt (5-10 channels) | TBD — Софья составляет |
| Criterion | Target |
|---|---|
| Pipeline processes a case end-to-end | PASS |
| Approval rate ≥70% in beta (2 weeks) | PASS |
| Софья uses agent ≥5/7 days in beta week 2 | PASS |
| Daily publishing time <30 min | TBD (baseline needed) |
User: Софья (single user) Date: 2026-06-18
As Софья
I want агент каждое утро парсил мои каналы-источники
So that я не трачу 30-60 мин на поиск кейсов вручную
Acceptance: Агент парсит whitelist каналов ежедневно в 08:00 МСК. Новые кейсы попадают в SQLite.
As Софья
I want агент отсеивал рекламу, промокоды и не-кейсы
So that я вижу только релевантный контент
Acceptance: Stop-words (скидка, промокод, вебинар) блокируют пост. Include-words (сэкономила, заменила, внедрила) — пропускают.
As Софья
I want агент определял, является ли пост бизнес-кейсом, и ставил рубрику
So that я не решаю «это кейс или нет?» вручную
Acceptance: LLM классификатор: is_case: bool + rubric (ai_case, business_model, tool_review, anti_case). Precision ≥90%.
As Софья
I want агент переписывал кейс в моём стиле
So that пост звучит как мой, а не как AI-генерация
Acceptance: Пост в голосе Софьи: разговорный, с рефлексией, эмоциональный. Заголовок bold ≤70 символов. CTA-вопрос в конце.
As Софья
I want агент не писал про одно и то же дважды
So that контент остаётся свежим
Acceptance: MD5 + semantic embeddings (threshold >0.85) → дубликаты пропускаются.
As Софья
I want получать пост в Telegram боте с кнопками Approve / Edit / Skip / Queue
So that я могу быстро решить, публиковать ли
Acceptance: Пост приходит в MODERATION_CHAT_ID. Кнопки работают. Edit показывает поле для правок.
As Софья
I want одобренный пост публиковался в канал в ближайший слот
So that контент выходит вовремя
Acceptance: Слоты 10:00 и 19:00 МСК. Если поста нет — слот пропускается (FIFO очередь).
Vacation mode: Софья can activate vacation mode via bot (auto-pause publishing + subscriber notification post). Backup moderator: optional delegate with limited approve/skip permissions. Push escalation: if no review within 24h, push notification.
As Софья
I want the first post to disclose that content is AI-assisted (configured via DISCLAIMER_TEXT)
So that we comply with AI-content regulations (ФЗ №258) and maintain subscriber trust.
Acceptance: DISCLAIMER_TEXT from .env prepended to first published post unless human-overridden.
As Софья
I want if a bad post is published, I can trigger an emergency delete within a 15-minute grace period (/stop command in bot)
So that the channel doesn't suffer reputation damage.
Acceptance: /stop within 15 min of publish deletes post from channel. Logged as post_emergency_delete. Alert sent to Софья.
As Софья
I want агент оценивал качество поста до отправки мне
So that я не трачу время на откровенно слабые посты
Acceptance: Score 1-5. Score <3 → low_score, не отправляется на модерацию.
Voice-fidelity scoring: In addition to content quality, score each post for voice authenticity (matches Софья's established style). Monthly voice drift report.
As Софья (или разработчик)
I want видеть, сколько кейсов собрано, отфильтровано, опубликовано
So that я понимаю, работает ли агент
Acceptance: daily_stats заполняется каждый день. Мой любимый: collected, approved, published.
As Разработчик
I want чтобы pipeline не падал молча
So that я знаю, когда что-то сломалось
Acceptance: Все ошибки: retry 3×, затем log + skip + alert. FloodWait handled. systemd restart.
flowchart LR
subgraph Daily
P[Парсинг 08:00] --> F[Фильтр] --> C[Классиф.] --> D[Dedup] --> E[Editor]
end
subgraph Moderation
E --> SC[Scoring] --> MB[Бот 08:45]
MB -->|Approve| Q[Очередь]
MB -->|Edit| E
MB -->|Skip| D
end
subgraph Publishing
Q -->|10:00| PB1[Publish]
Q -->|19:00| PB2[Publish]
end
Date: 2026-06-18 Criteria format: Given… When… Then… (binary-testable)
Given сейчас 08:00 МСК
When cron триггерит парсер
Then Telethon проверяет каждый канал из sources.txt
And новые посты сохраняются в cases таблицу
And ошибки каналов (нет доступа, FloodWait) логируются
Given пост содержит "скидка 50%"
When keyword filter проверяет пост
Then пост получает статус rejected_filter
Given пост описывает: "Я заменил бухгалтера на AI и сэкономил 2 часа в день"
When LLM classifier анализирует текст
Then is_case = true
And confidence ≥0.7
Given пост с текстом X уже есть в cases с text_hash
When тот же текст X приходит снова
Then парсер пропускает пост
And статус не меняется
Given кейс с описанием "Компания N внедрила AI-чатбот и сократила поддержку на 40%"
When Editor (Claude) обрабатывает кейс
Then пост написан от первого лица, разговорно
And заголовок bold ≤70 символов, без точки
And пост содержит CTA-вопрос в конце
And пост НЕ содержит: парцелляцию, шаблонные фразы, AI-маркеры
Given в базе есть пост про "заменил бухгалтера на нейросеть"
When новый пост про "автоматизация бухгалтерии через AI" с cosine similarity >0.85
Then пост считается дублём, пропускается
Given пост набран score 2/5
When scoring module завершает оценку
Then пост получает статус low_score
And не отправляется в бот модерации
Given пост в стадии moderation
When Софья нажимает Approve
Then пост перемещается в publish_queue со статусом waiting
And Софья видит подтверждение
Given есть пост в очереди и сейчас 10:00 МСК
When publisher триггерится
Then bot.send_message отправляет пост в канал
And cases.status = 'published'
And telegram_message_id записан
Given в очереди нет approved постов
When наступает слот публикации
Then слот пропускается
And в лог пишется "slot skipped: no approved posts"
Given BOT_TOKEN не установлен в .env
When агент стартует
Then exit с ошибкой "BOT_TOKEN is required"
Given pipeline завершил цикл
When stats module запускается
Then daily_stats содержит: date, collected, rejected_filter, duplicates, sent_to_moderation, approved, published
Given Claude API возвращает 500
When Editor пытается обработать кейс
Then retry 3× с exponential backoff
And после 3х неудач — skip + alert
| Epic | ACs count | Coverage |
|---|---|---|
| Epic 1: Pipeline | 4 | Core flow |
| Epic 2: Voice | 2 | Quality-critical |
| Epic 3: Moderation | 4 | Operations |
| Epic 4: Operations | 3 | Reliability |
| Total | 13 | All modules covered |
Date: 2026-06-18 Severity: Critical / High / Medium / Low
| # | Module | Edge Case | Severity | Behaviour | Mitigation |
|---|---|---|---|---|---|
| E-01 | M1 | Канал недоступен (удалён, приватный, заблокирован). Account blocked by Telegram (ToS 10.3 violation) — Critical. Entire pipeline stops. Mitigation: Bot API fallback, kill switch, counsel consultation. | High | FloodWait или AccessError | Пометить канал, skip, alert, продолжить с другими каналами. При блокировке всего аккаунта — остановка пайплайна, уведомление, консультация с юристом |
| E-02 | M1 | FloodWait: Telegram требует подождать 30+ минут | Medium | asyncio.sleep(required_seconds) | Параллельный парсинг других каналов не блокируется |
| E-03 | M1 | В whitelist нет каналов | Critical | Пустой sources.txt → parser не имеет входных данных | Alert: "No sources configured" + skip |
| E-04 | M2 | Все посты отфильтрованы (0 кейсов для Editor) | Medium | Pipeline заканчивается за 5 минут без результата | Не страшно — пропущенный день лучше плохого контента |
| E-05 | M3 | LLM возвращает невалидный JSON | Medium | Response не парсится как {"is_case": true, ...} |
Retry с temperature 0, затем skip + alert |
| E-06 | M3 | LLM не уверен (confidence <0.5) | Low | is_case uncertain | Treat as non-case, пропустить |
| E-07 | M5 | База эмбеддингов пуста (первый запуск) | Low | MD5 dedup работает, semantic нет | Начать с MD5, наполнять семантические |
| E-08 | M6 | Claude API timeout (30s+) | Medium | Post не написан | Retry 3×, на 3й раз → alert + pipeline не блокируется |
| E-09 | M6 | Claude пишет пост с forbidden words | Medium | Нарушение voice guidelines | Не автоматизировать — Софья отклоняет в модерации |
| E-10 | M6 | Кейс на не-RU языке | Low | Агент работает с русским контентом | Пропустить non-RU кейсы (или писать на языке кейса) |
| E-11 | M8 | Score 3 (пороговый) | Medium | На границе качества | Отправить на модерацию (score ≥3). Софья решает |
| E-12 | M8 | Low-score пост — единственный за день | Medium | Нет контента для публикации | Лучше пропустить слот, чем публиковать низкое качество |
| E-13 | M9 | Софья не отвечает на модерацию 48+ часов | High | Пост ждёт, слоты пропускаются | Automatic: skip post after MODERATION_TIMEOUT_HOURS (config: 48h) |
| E-14 | M9 | Софья нажимает Edit, но не отправляет исправление | Low | Пост зависает в очереди на редактирование | Timeout: после 24h → skip post |
| E-15 | M11 | Telegram API возвращает FloodWait при публикации. FloodWait >3600s → skip slot + alert. >86400s → stop pipeline + alert. Cumulative FloodWait >5/day → escalation. | Medium | Post не опубликован в слот | Retry через retry_after секунд. Если не успел → следующий слот |
| E-16 | M11 | Два поста в одном слоте | Low | FIFO нарушен | Слот публикует 1 пост. Второй ждёт следующего слота |
| E-17 | System | Service restart во время pipeline. Restart=on-failure (not always), StartLimitBurst=3, After=network-online.target | Medium | Незавершённые операции | systemd restart → pipeline начинается заново. Idempotent (dedup) |
| E-18 | System | SQLite database corruption | Critical | Все данные потеряны | Ежедневный SQLite backup (cron + cp) |
| E-19 | M9 | Софья Approve пост, который уже пропущен по timeout | Low | Пост уже не в очереди | Bot показывает "Post no longer available" |
| E-20 | M3 | Один и тот же пост (из разных источников) | Low | De-duplication catch | MD5 first, semantic second — оба слоя защищают |
| E-21 | M9 | Софья unavailable >72h — No moderation → no publishing for 3+ days | High | Посты не проходят модерацию | Backup moderator role, vacation mode activation, data access documented for handoff. If absence >2 weeks → archive project cleanly |
| E-22 | System | Empty pipeline run — Parser returns 0 new cases → pipeline completes silently in 5 minutes | Low | Софья не замечает дня без публикаций | Health-check alert if 0 cases published for 48h |
| E-23 | System | SQLite size growth — At 100K+ rows, queries slow. At 200K+, WAL file grows large | Medium | Ухудшение производительности со временем | Archive cases older than 6 months to separate table, .backup pragma weekly |
| E-24 | M1 | Content source all blocked — All whitelist channels become inaccessible. Pipeline starved | High | Нет входящего контента | Diversify to 10-15 sources, plan B (RSS, web scraping, manual entry) |
| E-25 | M3 | Semantic dedup false positive — Two genuinely different cases score >0.85 similarity → second is silently skipped. Cases lost without trace | Medium | Потеря уникального контента без уведомления | Log all skipped cases, weekly manual review |
| Severity | Count | Action |
|---|---|---|
| Critical | 2 | E-03 (no sources), E-18 (DB corruption) |
| High | 4 | E-01 (channel down + account blocked), E-13 (moderation timeout), E-21 (Софья unavailable), E-24 (all sources blocked) |
| Medium | 11 | API issues, timeouts, thresholds, SQLite growth, dedup false positives |
| Low | 8 | Cleanup, empty states, edge UX, empty pipeline |
Top 5 risks to address first: 1. E-03: Validate sources.txt is non-empty at startup 2. E-13: Auto-timeout posts that Софья hasn't reviewed within 48h 3. E-18: Add daily SQLite backup to cron 4. E-21: Backup moderator / vacation mode for Софья absence 5. E-24: Diversify content sources, plan B
Note: This is an internal tool, not a commercial product. GTM strategy focuses on Софья's adoption and internal launch. Date: 2026-06-18
| Dimension | Status |
|---|---|
| Market | Нет коммерческого рынка — internal tool |
| Competition | Alternative = manual content creation |
| Customer | Софья (1 user, also product owner) |
| Channel | Direct — built by developer for Софья |
Phase 1: Beta (Week 9-10) - Софья moderates all posts for 2 weeks - Success criteria: approval rate ≥70% - Metrics: time saved, approval rate
Использование plan for Софья: - (a) Week 1-2: Софья logs time manually, establishes baseline - (b) Voice validation test (10 posts) - (c) Beta: Софья moderates all posts for 2 weeks - (d) Gradual trust: auto-publish enabled per rubric, starting with lowest-risk categories - (e) Behavior milestones: Софья checks bot 5/7 days → 7/7 → 3 posts/week auto → 5 posts/week auto
Phase 2: Production (Week 11+) - Auto-publish enabled after beta pass - Софья monitors daily stats - Manual content creation as backup
Phase 3: Optional Platform (Q3-Q4 2026) - If 3+ other authors request the tool → packaging as SaaS - If not → continue as internal tool
If Bet 3 (Platform) activates: GTM resets — complete product definition, positioning vs Custom GPT, channel strategy (TG channels, ProductHunt, author communities), pricing validation experiment, CAC estimate.
| Metric | Target | Owner |
|---|---|---|
| Approval rate | ≥70% | Софья |
| Time on content | <30 min/day | Софья |
| Publishing rate | ≥80% of slots | Developer |
| System uptime | 99% | Developer |
Stage 18 — SKIPPED Reason: The product is an internal tool for one user (Софья), not monetized. No pricing or packaging decision is applicable. Revisit trigger: If 3+ external authors request the tool → assess SaaS pricing (2-3k ₽/мес per market sizing in Stage 05).
Date: 2026-06-18
«Софья пишет в канал так же хорошо, но тратит на это 30 минут вместо 3 часов. Её подписчики не замечают разницы — и это доказывает, что настоящая автоматизация начинается не с замены человека, а с освобождения его времени для того, что реально важно.»
Подписчики знают: AI помогает находить и адаптировать контент, Софья проверяет каждый пост перед публикацией.
«Я тратила полдня на один пост: найти крутой кейс, переписать его так, будто я сама рассказываю другу, проверить, не звучит ли как AI. А потом ещё раз проверить. Теперь агент делает 80% этой работы за меня. Я только читаю финальный вариант и решаю: публикуем или нет. И знаете что? Чаще всего — публикуем.» (Софья, представляемый сценарий)
| Factor | Our Agent | ChatGPT | Human |
|---|---|---|---|
| Time | <30 min/day | 30-60 min per post | 3-5h/day |
| Voice | Софья's voice | Generic unless prompted | Authentic |
| Consistency | High (same prompt) | Varies | Varies (mood, time) |
| Cost | VPS + API | $20/mo | ₽50-150k/month |
| Control | Full (mod) | None | Full |
To: Софья Солт From: PM Pipeline Date: 2026-06-18 Format: Одну страницу, максимум. Читать 2 минуты.
Что мы делаем. Строим AI-агента, который будет искать бизнес-кейсы, переписывать их твоим голосом и публиковать в @pishu_pro. Ты тратишь не 3-5 часов в день, а 10-15 минут на модерацию. Качество такое же — или максимально близкое.
Почему это сейчас. Ты уже написала концепцию и ТЗ. Всё готово к разработке. AI-инструменты (Claude Sonnet 4) достаточно хороши, чтобы писать в твоём голосе — нужно проверить на твоих реальных кейсах.
Ключевой риск. Голос. Если посты звучат не как ты — агент не работает. Поэтому первый шаг: ты оцениваешь 10 тестовых постов от Claude. Если ≥7 из них годятся — строим дальше.
Архитектура. 11 модулей — от парсинга каналов до публикации. Всё по твоему ТЗ.
Когда. 2 недели на прототип парсера + тест голоса. 6 недель на полную сборку. 2 недели бета с твоей модерацией. К сентябрю — в production.
Что нужно от тебя сейчас: 1. API ключи (Telegram bot + Anthropic) — 5 минут через @BotFather 2. Список 5-10 каналов-источников 3. Оценка 10 тестовых постов (на второй неделе проекта)
Stage 21 — SKIPPED Reason: Only 1 stakeholder (Софья), who is also the product owner and primary user. No contested decisions — all architectural choices are documented in TЗ and ADRs. No alignment process required. Revisit trigger: If the tool is productized for multiple authors (Bet 3), run full stakeholder mapping.
Date: 2026-06-18 Type: Internal tool launch (not commercial)
| # | Item | Owner | Done? |
|---|---|---|---|
| 1 | BOT_TOKEN получен от @BotFather | Софья | ☐ |
| 2 | ANTHROPIC_API_KEY получен | Софья | ☐ |
| 3 | MODERATION_CHAT_ID получен | Софья | ☐ |
| 4 | VPS Ubuntu 22.04 provisioned | Developer | ☐ |
| 5 | sources.txt составлен (5+ каналов) | Софья | ☐ |
| 6 | Telethon session авторизована (SMS code) | Developer | ☐ |
| 7 | .env заполнен | Developer | ☐ |
| 8 | Зависимости установлены (requirements.txt) | Developer | ☐ |
| 9 | Парсер prototype протестирован на 3 каналах 24ч | Developer | ☐ |
| 10 | Voice test: 10 posts → Софья оценивает | Developer + Софья | ☐ |
| 27 | Legal compliance review | Telegram ToS 10.3 (MTProto), ФЗ №258 AI-marking, 152-ФЗ, copyright (ГК РФ). Pre-launch requirement | ☐ |
| 29 | Voice prompt security | 600 permissions, excluded from plain-text backups, access logging configured | ☐ |
| # | Item | Criteria | Pass? |
|---|---|---|---|
| 11 | Voice test results | ≥7/10 approved | ☐ |
| 12 | systemd service configured | Restart=on-failure, StartLimitBurst=3, After=network-online.target, WatchdogSec=60 | ☐ |
| 13 | Log rotation enabled | logrotate | ☐ |
| 14 | SQLite backup | .backup pragma (not cp), separate volume, weekly |
☐ |
| 15 | Alerting configured | Log alerts for errors | ☐ |
| 16 | Софья обучена использованию бота | Знает кнопки | ☐ |
| # | Item | Criteria | Pass? |
|---|---|---|---|
| 17 | Софья логирует время на контент 7 дней | Baseline | ☐ |
| 18 | Beta post #1 published via agent | First post | ☐ |
| 19 | Daily approval rate tracked | ≥70% target | ☐ |
| 20 | Софья uses bot daily | ≥5/7 days | ☐ |
| 21 | Publishing errors monitored | Error rate <5% | ☐ |
| 31 | Baseline engagement | 2 weeks of pre-agent views/reactions data collected for comparison | ☐ |
| # | Item | Criteria | Pass? |
|---|---|---|---|
| 22 | Beta pass | ≥70% approval, 2 consecutive weeks | ☐ |
| 23 | Auto-publish enabled | Cron schedule active | ☐ |
| 24 | Софья shifts to moderation-only | Time <30 min/day | ☐ |
| 25 | Backup & monitoring verified | 7 days of stable logs | ☐ |
| 26 | Rollback plan documented | How to revert to manual | ☐ |
| 30 | Data retention policy | CASE_RETENTION_DAYS=180, DELETE_CASE_BY_ID operational | ☐ |
systemctl stop pishu_pro_agent| Metric | Check | Frequency |
|---|---|---|
| Approval rate | Weekly | 1 week |
| Daily content time | Софья self-logs | Daily (week 1-2) |
| Publishing errors | Logs | Daily |
| Audience engagement (views) | Telegram stats | Weekly |
Date: 2026-06-18 Source: ТЗ v2.0 (123.md) Module 10 + metric framework (Stage 10)
| Question | Decision it informs | Source |
|---|---|---|
| Сколько времени Софья тратит на контент? | NSM tracking (target: <30 min) | Stage 10 |
| Какое качество AI-постов? | Approval rate (target: ≥70%) | Stage 10 |
| Pipeline работает штатно? | Ошибки, пропуски, FloodWait | Operations |
| Какие источники наиболее продуктивны? | sources.txt optimization | Content strategy |
| Event | Trigger | Properties | Type |
|---|---|---|---|
case_collected |
Парсер сохранил новый пост в cases |
source_channel, text_hash | System |
case_rejected_keyword |
Keyword filter отклонил пост | source_channel, stop_word_matched | System |
case_rejected_classifier |
LLM classifier: is_case=false | case_id, confidence | System |
case_duplicate_md5 |
MD5 hash совпал | text_hash | System |
case_duplicate_semantic |
Semantic similarity >0.85 | similar_to_case_id, score | System |
case_low_score |
Quality score <3 | case_id, score | System |
case_rewritten |
Editor завершил переписывание | case_id, token_count | System |
post_sent_to_moderation |
Пост отправлен в бот Софье | case_id, score, rubric | System |
post_moderated |
Софья нажала кнопку | case_id, action (approve/edit/skip/queue) | User |
post_edited |
Софья отредактировала пост | case_id, edit_length | User |
post_published |
Пост опубликован в канал | case_id, slot (10:00/19:00) | System |
publish_failed |
Ошибка при публикации | case_id, error_type, retry_count | System |
slot_skipped |
Слот публикации без поста | slot_time | System |
error_api_retry |
API retry (Claude/Telegram) | module, error, attempt | System |
api_cost_daily |
Total API cost per day (token usage × model pricing) | model, tokens_in, tokens_out, estimated_cost | System |
pipeline_duration_seconds |
Total pipeline runtime | duration_seconds, pipeline_stage | System |
post_engagement |
Weekly views/reactions per post vs baseline | post_id, views, reactions, baseline_delta | System |
voice_style_score |
Monthly score from Софья or audit sample | score, sample_posts, drift_indicators | Manual |
case_duplicate_semantic_fp |
Weekly count of potential false positive dedup | case_id, similar_to_case_id, score | System |
Already defined in ТЗ — tables: cases, moderation_log, daily_stats, publish_queue.
| Field | PII? | Handling |
|---|---|---|
| source_channel | Public channel name | None needed |
| Telegram message IDs | Public | None needed |
| User phone (Telethon) | YES | Only for auth, not logged |
| API keys | N/A | .env, NOT in code or logs |
| Case content | HIGH | CASE_RETENTION_DAYS=180. DELETE_CASE_BY_ID available via bot |
NSM: Time Софья spends on content/day — not fully instrumented in ТЗ.
Manual logging: Add /log_time N command to moderation bot (Софья пишет сколько минут потратила на контент сегодня). Falls back to daily_stats + estimation (time = posts × avg time per post).
Baseline engagement tracking: 2 weeks pre-agent launch to establish pre-AI engagement rates (views, reactions per post). Post-launch comparisons use this baseline.
Alerts:
- pipeline_duration_seconds > 5400 (90 min) → alert. Cumulative trend week-over-week → investigate.
- api_cost_daily > 2x weekly average → alert.
| Test | Method | Pass |
|---|---|---|
| Event fires on parser run | Check cases table | ☐ |
| Moderation button triggers post_moderated | Bot logs | ☐ |
| daily_stats updates after pipeline cycle | Daily check | ☐ |
| Error event on API retry | Trigger timeout, check log | ☐ |
Stage 24 — SKIPPED Reason: No launch or usage evidence exists yet. Product is in pre-build stage. Retrospective requires post-launch data (at minimum 2 weeks of production usage). Revisit trigger: After 2+ weeks of production use, run retrospective with approval rate, time saved, and Софья's qualitative feedback.
Stage 25 — SKIPPED Reason: No launch metrics exist to contradict strategy. Pivot decision requires active metrics vs. strategic hypothesis comparison (Stage 10 measurement framework + launch data). Currently in pre-build phase. Revisit trigger: Run after 1+ month of production data. Decision criteria: - Approval rate <50% → pivot: rethink voice adaptation approach - Софья stops using agent → pivot: return to manual + reassess - 5+ external requests → consider platform pivot (Bet 3 activation)