Skip to content

Workflow Walkthrough

Sergey Emelyanov edited this page Nov 6, 2026 · 1 revision

Workflow-Walkthrough — шаг 5 (options) изнутри, на демо CVStart

Разбор одного шага рабочего процесса по следам демо-прогона CVStart (projects/демо/). Все цитаты — из реальных файлов репозитория: .claude/skills/options/SKILL.md, .claude/agents/red-team.md, config/quality_gate.json, projects/демо/outputs/03_options.md. Английская версия: Workflow-Walkthrough-EN. Общая картина прогона — Demo-CVStart.

Почему шаг 5

Шаг options («Варианты и возражения») — центральный в процессе: именно здесь размытый запрос превращается в содержательную развилку, а красота рекомендаций проверяется атакой. Правило процесса: не меньше трёх содержательно разных вариантов, включая «оставить как есть» и «закрыть/свернуть», с сильными возражениями, экономикой и условиями, при которых вариант верен — и выбор делает человек, а не агент.

Что агент получает на входе

К началу шага 5 в projects/демо/ уже лежат артефакты шагов 0–4:

Вход Что это даёт шагу
00_brief.md решение, ось сравнения («рост платящих и ARR»), ограничения (MIT core, соло, доверие локального режима) — фильтр вариантов до их генерации
sources/S001–S011.md, sources.jsonl проверенные материалы: продукт, рынок, конкуренты, синтетика
01_research_plan.md 6 вопросов, меняющих решение; какие отвечены, какие остались открытыми
claims.jsonl (C001–C018 к этому моменту) утверждения с типами и силой — единственный разрешённый «строительный материал» для экономики вариантов
02_situation.md известное/пробелы/противоречия; в демо — противоречие «100% локально» [C001] против облака

Агент не «вспоминает» это из истории чата — он читает файлы. Поэтому шаг воспроизводим и продолжаем после перерыва.

Таймлайн шага одной цепочкой

pfs step options
  → прочитать 02_situation.md + реестры (файлы, не память)
  → pfs kb search: карты M-goals-drivers-bets, M-solution-design, M-business-models,
                    M-unit-economics, M-risks, M-strategy-growth
  → pfs questions options (критерии · рамки · квотум возражений)
  → генерация 5–7 кандидатов → отбор 5 содержательно разных (A–E)
  → экономика каждого: формулы на [C016][C020], помечено forecast
  → субагент red-team ← 02 + 03 → 20 ударов (15 возражений + 5 допущений)
  → интеграция ударов: текст вариантов + митигации B + скрытые допущения
  → таблица сравнения по оси брифа (ARR)
  → рекомендация + условия пересмотра
  → pfs check (гейты 03_options.md) → 0 ошибок
  → pfs ask "Какой вариант берём в стратегию?" → СТОП: ждёт человека

Дальше — ответ руководителя («B с митигациями») → pfs answer → pfs step choice done. В демо выбор зафиксирован утверждением [C019] и ответом руководителя [S011] — это основания будущего D001.

Что предписывает процесс (skill options)

Инструкция шага (.claude/skills/options/SKILL.md) задаёт жёсткий порядок:

  1. Сгенерировать 5–7 кандидатов, оставить 3–5 содержательно разных (разная ставка: сегмент, ценность, модель монетизации, канал, масштаб инвестиций), а не вариации одного. Обязательно: Вариант A: Оставить как есть (базовый прогноз «ничего не делаем», а не «ноль») и вариант выхода (закрыть/свернуть/передать направление).
  2. Для каждого варианта — фиксированная структура: суть; для кого и какую задачу решает; что должно быть правдой (допущения [C###]); ожидаемый эффект с диапазоном и типом (forecast); затраты и влияние на доходы; риски; Возражения (2–4, «как сказал бы умный скептик»); что опровергло бы вариант.
  3. Отдать документ субагенту red-team; его возражения внести в варианты; «если возражение рушит вариант — скажи прямо».
  4. Таблица сравнения по 4–6 критериям, вытекающим из цели брифа (не придумывать веса без основания).
  5. Рекомендация + условия, при которых рекомендация меняется. pfs check.
  6. Выбор: pfs ask "Какой вариант берём в стратегию?" --options "A,B,C,…", остановиться, после ответа человека — pfs answer, pfs step choice done.

Какие карты читает агент

Перед работой агент подтягивает методику — через список карт шага и поиск по базе знаний:

pfs step options          # заголовок шага, ворота, вопросный блок
pfs kb search "варианты и ставки"    # по мере надобности — разделы карт, не вся база

Карты, предписанные skill'ом: M-goals-drivers-bets (варианты как ставки), M-solution-design (гипотезы решения и риски), M-business-models (модели монетизации), M-unit-economics (экономика варианта), M-risks (риски и митигации), M-strategy-growth (типы роста). Родственные карты (pfs kb search): cannibalization (перетоки), traction-model (модели роста), model-validation (проверка чисел). Правило экономичности: не читать базу целиком — 1–3 карты по поиску.

Вопросный блок шага: критерии — до выбора

pfs questions options даёт 3 вопроса руководителю. Смысл блока — зафиксировать рамки сравнения до того, как появится рекомендация, чтобы её нельзя было подогнать:

Вопрос блока Зачем Рекомендация инструмента
options-criteria: по каким критериям сравнивать? критерии фиксируются ДО выбора «вклад в метрику»
options-borders: что точно вне рамок? осознанные отказы — обязательная часть стратегии «снижение приватности» (в демо это означало: облако только opt-in)
options-quorum: сколько возражений обязаны пережить варианты? глубина атаки влияет на доверие комитета «по 2–3 на вариант»

В демо ось сравнения уже была дана руководителем на intake («рост платящих и ARR») — поэтому таблица сравнения в 03_options.md строится вокруг неё, без выдуманных весов.

Генерация: 5–7 кандидатов → 5 содержательно разных

Агент набрасывает кандидатов по осям ставок (кому продаём · что продаём · как монетизируем · куда инвестируем) и схлопывает дубликаты. В демо осталось 5, и они отличаются именно ставкой, а не формулировкой:

  • A. Оставить как есть — бесплатный локальный OSS без коммерческой версии (базовый прогноз).
  • B. Hosted freemium SaaS — облако, глобально; ставка: подписка на hosted-удобство + мультиязычность.
  • C. B2B white-label — лицензии карьерным центрам и вузам; ставка: продажи организациям.
  • D. Open-core dual-license — enterprise self-host + ATS-интеграции; ставка: enterprise-лицензии.
  • E. Закрыть коммерческую ветку — проект остаётся некоммерческим OSS (вариант выхода).

Экономика каждого — формулы на допущениях [C016][C020] с явной пометкой типа (forecast/модельные вилки), рыночные числа — с тегами [C005][C006][C007][C011].

Вызов red-team: что субагенту передают и что он возвращает

Субагент описан в .claude/agents/red-team.md: «умный скептик из совета директоров, которому этот проект не нравится». На вход — 02_situation.md и 03_options.md (+ pfs claim list при необходимости). От него требуют, по каждому варианту:

  1. 2–3 самых сильных возражения — конкретно: какое допущение ложно, каких данных нет, как отреагируют конкуренты/регулятор/пользователи;
  2. одно наблюдение, которое опровергло бы вариант быстрее и дешевле всего;
  3. какого содержательно иного варианта не хватает в наборе;
  4. отдельно по рекомендации: где гипотеза выдаётся за факт, где числа без источника, где «оставить как есть» нарисовано слишком мрачно. «Не смягчай. Не предлагай собственную стратегию».

В демо red team вернул 20 ударов: 15 возражений + 5 скрытых допущений. Примеры ударов по рекомендуемому B: «PII/GDPR и скрапинг переходят на разработчика» (юрисдикция и риск исков), «"$0 forever" — публичное обещание, HN/PH прочитают запуск подписки как bait-and-switch», «freemium-конверсия 2–5% [C020], продукт эпизодический — churn естественно высокий». По A: «MIT = чужая монетизация — форк завернёт код в закрытый SaaS (прецедент WordPress/WP Engine)».

Интеграция возражений: как удары попадают в документ

Возражения не «учтены: да» — они встроены тремя механизмами:

  1. Текстом в вариант — блок «Возражения red team» у каждого варианта, формулировками скептика.
  2. Митигациями внутри варианта — у B: BYOK-free-тир (нулевые инференс-затраты на free — снимает удар «деньги против»), opt-in облако при локальном core (снимает «обвал доверия»), честный прайсинг [C014], пороги остановки из будущего 06.
  3. Скрытым допущением и условием верности — у каждого варианта названо допущение, на котором он стоит, и условие, при котором его надо снять с повестки.

Часть ударов становится контрметриками плана проверки (шаг 8): «обвал доверия» → падение звёзд GitHub

30% как стоп-сигнал. Полный разбор — Validation-Plans.

Что проверяет pfs check на этом шаге

Гейты для 03_options.md из config/quality_gate.json:

Проверка Правило В демо
min_options: 3 минимум три варианта 5 (A–E)
status_quo_keywords «оставить как есть» присутствует Вариант A
exit_keywords вариант выхода присутствует Вариант E («закрыть коммерческую ветку»)
per_option_sections: ["Возражения"] у каждого варианта есть возражения 15 возражений red team
numbers_need_tags: true числа с тегами [C###]/[S###] все числа реестра
option_heading_regex заголовки машиночитаемы (## Вариант X) A–E

Незаведённый гейт = шаг не закрыт: pfs step options done не пройдёт, пока документ не соответствует.

Если бы гейт не прошёл: как выглядит провал проверки

Для контраста — что видит агент при нарушении правила. Гипотетические примеры (в демо гейты прошли с первого предъявления финальной версии):

Нарушение Реакция pfs check
В документе 3 варианта, все — вариации «добавить фичи» ошибка: нет status_quo_keywords («оставить как есть») и exit_keywords (закрыть/свернуть)
У варианта C нет блока «Возражения» ошибка: per_option_sections не выполнен для одного из вариантов
Число «$2 млрд» без тега предупреждение/ошибка numbers_need_tags: число без [C###]/[S###]
Экономика построена на утверждении, отозванном ранее ошибка: ссылка на неактивное утверждение
Попытка записать «конверсия 4% (по нашим данным)» как fact без источника отказ pfs claim add ещё на этапе реестра — в документ такое не попадёт

Шаг нельзя «продавить» дальше при незакрытых ошибках — в этом смысл ворот: следующий шаг начинается только с валидным документом.

Выход шага: 03_options.md — реальный фрагмент

Таблица сравнения из демо (приведена дословно из projects/демо/outputs/03_options.md):

## Сравнение по оси «платящие подписчики/ARR» (цель руководителя)

| Вариант | ARR 12 мес (модель) | Риск | Соответствие ограничениям (MIT core, соло, доверие) | Red team |
|---|---|---|---|---|
| A | $0 | низкий | ✓ | «дорогое хобби» |
| B | $29/мес × 100–300 = $35–105 тыс ARR [C016][S008] | средний | ✓ при BYOK-free и opt-in облаке | лучший профиль роста |
| C | $24–60 тыс [C020] | высокий (продажи) | ✓ | нет продаж-компетенции |
| D | $10–50 тыс [C020] | высокий (релicensing) | ✗ (смена MIT) | рискованно и долго |
| E | $0 | — | ✓ | отказ от актива |

Рекомендация: **B — hosted freemium SaaS, глобально**, с BYOK-free-тиром (снимает инференс-риск),
волнами локалей из 19 готовых, честным прайсингом без автопродлений как позиционированием [C014],
и порогами остановки из 06. Выбор — за руководителем (шаг 6).

Заметьте: рекомендация уже содержит условия (BYOK-free, opt-in, честный прайсинг, пороги) — то есть условия, при которых рекомендация меняется, сформулированы вместе с ней, как требует skill.

Передача на шаг 6: пауза и выбор человека

Документ готов — но выбор не делается автоматически:

pfs ask "Какой вариант берём в стратегию?" --options "A,B,C,D,E"
# …агент останавливается…
pfs answer "B — hosted freemium SaaS с митигациями"
pfs step choice done --next "стратегии: продуктовая и коммуникационная"

В демо руководитель выбрал B с митигациями — ответ зарегистрирован [C019][S011] и стал основанием решения D001. Дальше работают шаги 7–11; их выходы — 04_product_strategy.md, 05_comms_strategy.md, 06_validation_plan.md, decisions.jsonl — разобраны в Demo-CVStart.

Что важно понять из этого walkthrough

  • Каркас задаёт процесс, модель его наполняет. Число вариантов, структура, возражения, гейты — обязательны; содержимое — работа LLM с проверенными утверждениями.
  • Проверяемость не «на честном слове». Каждое число — тег; каждая рекомендация — с условиями пересмотра; каждая атака — с источником и числом для контрметрики.
  • Человек решает в точке наибольшей цены. Агент готовит развилку и защиту каждого пути, но выбор — шаг 6 — всегда за человеком.

См. также: Demo-CVStart · Skills · Subagents · Quality-Gates · Validation-Plans · Decisions-and-Monitoring

Стратег Фабрики продуктов

Устройство

Компоненты

Справочник

Процесс

Справка и прозрачность

Clone this wiki locally