# Часть 8. Реализация фичи Реализация начинается только после проверки и коммита спецификации фичи. На этом этапе вы меняете режим работы агента: он больше не интервьюер и не продуктовый редактор, а исполнитель конкретного плана. Главное правило: не просите «сделай фичу» без ссылки на спецификацию. Просите реализовать конкретные группы задач. ## Подготовка сессии Проверьте ветку: ```bash git branch --show-current git status --short ``` Запустите Qwen Code: ```bash qwen ``` Очистите контекст: ```text /clear ``` Затем дайте точный вход: ```text Прочитай @QWEN.md, @specs/mission.md, @specs/tech-stack.md, @specs/2026-05-01-hello-hono/requirements.md, @specs/2026-05-01-hello-hono/plan.md, и @specs/2026-05-01-hello-hono/validation.md. Реализуй оставшиеся группы задач из плана. Держи реализацию минимальной. Не добавляй фичи за пределами границ. После изменений сообщи изменённые файлы и команды проверки. ``` ## Когда делить реализацию Если группы задач касаются базы данных, аутентификации, платежей, миграций или безопасности, реализуйте их по одной: ```text Реализуй только группу 1 из @specs/2026-05-01-hello-hono/plan.md. Остановись после списка изменённых файлов. Не переходи к группе 2. ``` Для простой фазы Hello Hono можно реализовать все группы сразу. Для сложных фаз — только маленькими блоками. ## Что смотреть во время работы агента Не ждите финала пассивно. Следите за признаками отклонения: - агент добавляет новую зависимость, не указанную в `tech-stack.md`; - агент меняет файлы вне границ задачи; - агент реализует будущую фазу дорожной карты; - агент переписывает README или стили без причины; - агент пропускает команды проверки. Если это происходит, остановите: ```text Остановись. Это изменение вне спецификации фичи. Перечитай @specs/2026-05-01-hello-hono/requirements.md. Перед правками объясни, зачем нужно лишнее изменение. ``` ## Типичные сбои агента, к которым стоит готовиться Не каждая сессия реализации проходит гладко. Несколько повторяющихся сбоев, которые встречаются у студентов чаще всего: 1. **Галлюцинация файла.** Агент пишет «исправил `src/utils/format.ts`», хотя такого файла в репозитории нет. Лекарство: до коммита прогоните `git diff --stat` и сверьте каждый файл из ответа агента с реальностью. 2. **Неверная версия библиотеки.** Агент использует API, которое появилось в более поздней версии Hono, чем стоит в `package.json`. Лекарство: при первой ошибке `tsc` или рантайма проверьте `npm list ` и попросите агента сверить версию. 3. **Тихая правка `tsconfig.json`.** Чтобы «починить ошибки типов», агент ослабляет `strict` или добавляет `// @ts-ignore`. Лекарство: в практике из части 5 строгий режим зафиксирован — относитесь к любому изменению `tsconfig.json` как к нарушению границ. 4. **Переход в следующую фазу.** Реализуя фазу 1, агент по инерции добавляет таблицу из фазы 2. Лекарство: после реализации сразу запросите «перечисли реализованные файлы и сверь с группой задач». 5. **Подмена проверок.** Агент пишет «всё работает, проверил `curl`», но `curl` он не запускал. Лекарство: перепроверьте команды из `validation.md` сами; если в сессии нет инструмента запуска, агент проверить не мог. Эти сбои не повод отказаться от агента, но повод не верить ему на слово и держать под рукой команды-факты из `validation.md` и `git diff`. ## Пример минимальной реализации Ожидаемые изменения для Hello Hono: ```text package.json package-lock.json src/index.tsx src/pages/Home.tsx src/components/Layout.tsx static/style.css tsconfig.json ``` Если агент добавил базу данных, аутентификацию, несколько страниц или тестовый фреймворк, это нарушение границ задачи. ## Проверка после реализации Запустите команды сами, не только верьте агенту: ```bash npm run typecheck npm run dev ``` В другом терминале: ```bash curl -s http://localhost:3000 | head curl -s http://localhost:3000 | rg "AgentClinic" ``` Если сервер стартует, но проверка типов падает, фича не готова. Если проверка типов проходит, но HTML не соответствует проверке из `validation.md`, фича не готова. ## Коммит реализации Перед коммитом: ```bash git diff --stat git diff ``` Попросите Qwen Code кратко объяснить изменения: ```text Кратко объясни различия текущей ветки относительно main. Сгруппируй изменения по группам задач из спецификации. Файлы не изменяй. ``` Затем: ```bash git add . git commit -m "Implement Hello Hono baseline" ``` ## Практика - [ ] Очистите контекст Qwen. - [ ] Дайте агенту только нужные спецификации. - [ ] Реализуйте группы задач. - [ ] Проверьте типы и ручной `curl`. - [ ] Просмотрите изменения. - [ ] Сделайте коммит. ## Контрольные вопросы 1. Почему реализацию лучше начинать после `/clear`? 2. Когда можно реализовать все группы задач сразу, а когда нужно по одной? 3. Как понять, что агент начал реализовывать будущую фазу?