# Первая версия работает, а радости нет: почему это нормально

Столько усилий, а на экране одна страница. Разбираю, почему первый срез продукта - это четверть работы и как карта функций превращает разочарование в план.

URL: https://posts.danashkin.ru/guides/pervaya-versiya-rabotaet-a-radosti-net
Обновлено: 2026-09-23

---

## Коротко

**Главное**

- Первая рабочая версия продукта почти всегда разочаровывает. Столько усилий, а на экране одна страница, которая умеет одну вещь.
- Это нормальная стадия, а не признак ошибки. Первый срез - примерно четверть продукта: скелет, через который уже проходят данные, без мяса и без красоты.
- Сравнение с утилитой, собранной одним промптом в первый день, нечестно. Утилита без данных и пользователей собирается мгновенно, продукт с базой - по шагам.
- Разочарование лечится картой: попроси агента показать, что было заложено, что уже работает и что пока спит.
- Пугающее сообщение агента о секретах чаще всего означает сработавшую защиту. Спроси, что могло уехать, что он сделал и почему теперь безопасно.

## Откуда берётся «странное ощущение»?

**Главное**

Из разрыва между вложенным временем и видимым результатом. Человек прошёл несколько модулей, получил работающий срез и видит на экране скромную страницу. Ожидание «вау» не совпадает с тем, как на самом деле выглядит первая версия продукта с базой данных.

На индивидуальном обучении ученик пришёл на занятие с первым работающим результатом своего проекта. Его помощник по семейному бюджету принимал выписку одного банка, разбирал её, складывал в базу и показывал страницу. Категорий ещё не было: «он пока просто парсит».

Результат был добыт честно. Агент отчитался, что всё готово, а при самостоятельном запуске вылезла ошибка на разборе таблицы. Ученик отдал ошибку агенту, тот починил, прогон прошёл. Привычка запускать самому поймала ложное «готово» ровно так, как должна.

А первой фразой занятия было не «сделал», а «странное ощущение, честно тебе скажу». Ученик сам разложил его на две части: «результат пока ещё не тот, который ожидаешь», и второе - «доверие, то есть нет контроля».

Обе части я узнаю. У меня были ровно такие же чувства, когда я собирал первые свои продукты с агентом. Поэтому разберу их по очереди: они про разное и лечатся по-разному.

## Почему одна кнопка в первый день впечатляла больше?

**Главное**

Потому что утилита на один промпт не имеет ни данных, ни пользователей, ни будущего. Она собирается за минуты и сразу выглядит законченной. Продукт с базой собирается как автомобиль после скейта: впервые, по шагам и через управление исполнителем.

Для сравнения ученик вспомнил первое занятие. Тогда он одним промптом собрал утилиту, которая склеивает и разделяет PDF, и думал: «вот это да». А теперь - несколько модулей обучения и одна страница.

Сравнение понятное, но нечестное. Утилита для PDF - законченная вещь с первой минуты: взяла файл, отдала файл, всё. У неё нет базы, нет истории, нет второго пользователя.

Продукт для бюджета устроен иначе. Каждая выписка должна лечь в базу, завтра к ней добавится следующая, через месяц появятся категории, лимиты и отчёты. Первая страница доказывает главное: путь от файла до экрана проложен.

На занятии для этого прозвучала метафора скейта и автомобиля. Скейт ты собрал руками и сразу поехал. Автомобиль собираешь впервые, причём руками исполнителя, которым ты управляешь, и первые недели он выглядит как рама на колёсах.

## Первый срез - это примерно четверть продукта

**Главное**

Первая рабочая версия - это тонкий проход данных сквозь все слои: вход, обработка, хранение, экран. По оценке, прозвучавшей на занятии, это двадцать-двадцать пять процентов продукта. Остальное уже заложено в плане, но ещё не выведено на экран.

Самая точная формулировка с того занятия звучала так: весь потенциал, который закладывал, есть, просто он на экран пока не выведен. В плане уже есть категории, лимиты и отчёты, но видно пока только то, что проходит насквозь.

Цифру тоже назвали прямо: первый срез кода - это примерно двадцать-двадцать пять процентов. Это фундамент, на который встают остальные три четверти.

Почему первую версию собирают именно так, насквозь и тонко, подробно разбирал в материале о том, что [первая версия собирается насквозь, а не по слоям](/guides/pervaya-versiya-naskvoz-a-ne-po-sloyam). Здесь важна обратная сторона того же решения: насквозь собранная версия всегда выглядит скромнее, чем красиво собранный слой.

Сам ученик подобрал этому точное название, когда разобрался: дальнейшая доработка - это «по сути, такое расширение ТЗ, которое было изначально». Ничего нового придумывать не нужно, нужно достраивать заложенное.

## Как увидеть, что заложено и что ещё спит?

**Главное**

Попросить агента нарисовать карту: что было заложено в плане, что уже реализовано и какие функции пока скрыты. Такая карта превращает разочарование в список следующих шагов и показывает, что работа никуда не делась, её просто ещё не видно.

На занятии совет прозвучал одним вопросом, который стоит задать [агенту](/concepts/ai-agent) почти дословно: «Скажи, что там вообще изначально было заложено и что сейчас реализовано. А какие функции сейчас пока в спящем режиме скрыты».

Ответ удобно попросить таблицей:

| Функция | Заложено в плане | Работает сейчас | Что нужно, чтобы включить |
|---|---|---|---|
| Разбор выписки | да | да | - |
| Категории трат | да | нет | правила категорий и готовый список |
| Лимиты | да | нет | категории плюс настройка порогов |
| Отчёты | да | частично | страница с графиками |
| Выписки других банков | да | нет | разбор второго формата |

Таблица - пример по мотивам проекта ученика. У твоего проекта строки будут свои, но картина обычно похожа: заложено много, работает немного, и каждая следующая функция опирается на уже проложенный путь.

Дальше функции включаются по одной. Одна функция за раз, проверка руками, и только потом следующая: так разочарование «ничего нет» сменяется ощущением «каждый день прибавляется».

## Сообщение агента о секретах: страшно, но чаще это защита

**Главное**

Когда агент пишет, что секреты «могли бы уехать», он обычно сообщает о закрытой дыре или сработавшей защите, а не об утечке. Правильная реакция - не паника, а три вопроса: что могло уехать, что ты сделал и почему сейчас безопасно.

Вторая часть «странного ощущения» выросла из одного сообщения. Агент переносил неверно разложенные папки, «чтобы нормально коммит проходил», и написал, что на другой машине секреты потенциально могли бы уехать. Ученик прочитал это как угрозу и сразу перенёс на будущее: а если в большом проекте что-то утечёт.

Скорее всего, там было сообщение о закрытой дыре. Файл с ключами должен лежать в списке исключений для системы контроля версий, и тогда он не отправляется в хранилище кода ни при каких обстоятельствах. Если агент поправил структуру папок так, чтобы исключение сработало, это хорошая новость, поданная тревожными словами.

Проверять такое нужно вопросами агенту, догадки тут не помогают:

1. **Что могло уехать и куда.** Конкретные файлы и конкретное место.
2. **Что ты сделал.** Какие изменения внесены и где их увидеть.
3. **Почему теперь безопасно.** Чем это подтверждается, а не только обещается.

Где вообще хранить ключи и что делать, если утечка всё-таки случилась, разобрано в материале про то, [где хранить ключи и пароли своего продукта](/guides/gde-hranit-klyuchi-svoego-produkta).

## Четыре вещи, которые помогают пройти эту стадию

**Главное**

Назвать ожидание заранее, засчитать пойманное ложное «готово» как успех, включать функции по одной и посмотреть на систему, которая уже прошла этот путь. Последнее работает сильнее всего: работающий пример убеждает лучше любого объяснения.

Разочарование после первого среза предсказуемо, а значит, к нему можно подготовиться. Вот что работает на практике:

1. **Назвать ожидание до первого запуска.** Сказать себе заранее: сейчас я увижу скелет, а не продукт. Слова «это четверть» после разочарования звучат как утешение, а до него - как план.
2. **Засчитать пойманную ошибку.** Агент сказал «готово», ты запустил сам и нашёл ошибку. Это сработавшая проверка, и её стоит записать себе как навык, который уже есть.
3. **Одна функция за подход.** Выбрать из карты одну спящую функцию, включить, проверить руками. Маленький прирост каждый день перебивает ощущение, что ничего не происходит.
4. **Посмотреть на то, что уже работает у другого.** На том занятии ученика сдвинуло не объяснение, а рассказ о моём собственном втором мозге: записи созвонов, клиентская база, напоминания. После него он сам сформулировал следующий проект.

Четвёртый пункт стоит перенести в привычку. Когда мотивация проседает, полезнее посмотреть на работающую систему другого человека, чем перечитывать теорию. Видно, во что превращается такой же скромный срез через несколько месяцев доработки.

Если разочарование не проходит неделями, стоит проверить, не потерялась ли сама цель; про этот сценарий есть отдельный разбор - [«не понимаю, к чему я иду»](/guides/ne-vizhu-k-chemu-idu-v-obuchenii-ii).

## Частые вопросы

**Главное**

Что спрашивают чаще всего: сколько времени проходит от первого среза до нормального продукта, нормально ли, что агент рапортует «готово» раньше времени, и стоит ли бросать проект, если разочарование не проходит.

### Частые вопросы

**Сколько ещё до нормального продукта?**

Зависит от числа функций в плане. Проще посчитать по карте: сколько строк «заложено, но не работает» и по одной функции за подход.

**Агент говорит «готово», а при запуске ошибка. Это нормально?**

К сожалению, да, поэтому каждый шаг проверяют запуском руками. Как ловить такие отчёты быстро, разбирал в материале о том, что делать, когда [агент отчитался «готово», а результата нет](/guides/agent-otchitalsya-a-rezultata-net).

**Разочарование не проходит. Может, бросить?**

Сначала посмотри на карту функций. Если заложенное тебе по-прежнему нужно, разочарование - это стадия. Если нет, вернись к проверке самой идеи.

**Можно было избежать этого чувства?**

Отчасти. Помогает заранее знать, что первая версия - скелет, и видеть план целиком до того, как увидишь первую страницу.

## Главный вывод

**Главное**

Первая рабочая версия выглядит скромно, потому что это тонкий проход данных, примерно четверть продукта. Разочарование на этой стадии предсказуемо и лечится картой функций, а тревожные сообщения агента о секретах - тремя уточняющими вопросами.

Разочарование после первого среза - знак того, что ты дошёл до места, где продукт впервые стал настоящим. Дальше работа меняется: вместо «заработает ли вообще» ты решаешь, что включить следующим.

Тот ученик, кстати, закончил занятие не разочарованием, а планами. Он уже думал о следующем проекте - своём помощнике по обещаниям и напоминаниям - и сказал о себе: «я сейчас как этот, голодный до знания».

Практический минимум на сегодня: попроси агента карту «заложено, работает, спит» по своему проекту и выбери одну функцию на эту неделю.

А ты уже видел, сколько в твоём проекте заложено и пока не выведено на экран?

### Источники

- [Minimum viable product - минимальный продукт и зачем он выглядит скромно, Википедия](https://en.wikipedia.org/wiki/Minimum_viable_product)
- [Iterative and incremental development - пошаговая разработка по итерациям, Википедия](https://en.wikipedia.org/wiki/Iterative_and_incremental_development)
- [gitignore - как файлы исключаются из хранилища кода, документация Git](https://git-scm.com/docs/gitignore)
