Все главы учебника
Содержание учебника
Глава 14 / Вайбкодинг

Финальная работа: проект, харнесс и защита решения

15 мин чтенияКонтент v0.11.0

Что вы предъявляете в конце

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

Вернитесь к собственной starter, а не заменяйте её эталоном. Доведите add, list и done до договора из SPEC.md. Затем добавьте одну небольшую функцию на выбор: фильтр незавершённых задач, переименование или краткую статистику. До реализации запишите поведение, ошибочные случаи и границы функции.

Для переименования, например, нужно решить, что происходит с пустым названием и отсутствующим id. Для фильтра — меняет ли он файл и как ведёт себя пустой список. Не добавляйте удаление, сеть и аккаунты одновременно с этой функцией.

Обязательный комплект результата

Артефакт Как его оценить
Программа Воспроизводит сценарии add/list/done и дополнительную функцию
SPEC.md Содержит примеры и ограничения
README.md Позволяет запустить проект в новой папке
Инструкции агента и один скилл Объясняют процедуру без старого чата
STATUS.md Различает сделанное, проверенное и незавершённое
Проверки Ловят нарушение требований и проходят на готовом проекте
История Git Показывает осмысленные шаги и просмотренные изменения
Отчёт Называет инструмент, использование, ошибки и ограничения

Не подключайте MCP ради галочки. Можно обосновать, что локальных инструментов достаточно. Если подключили сервер, объясните, какие права он получил и какую задачу решил. Для хуков действует тот же принцип: полезная проверка важнее количества настроек.

Демонстрация

Начните с нового учебного файла данных. Используйте команды готового проекта:

python3 app.py --file defense.json add "Подготовить защиту"
python3 app.py --file defense.json list
python3 app.py --file defense.json done 1
python3 app.py --file defense.json list
python3 check.py

Затем покажите отклонение пустого названия и отсутствие изменения данных при неизвестном id. На отдельном искусственном файле воспроизведите ошибку JSON: программа должна сообщить о проблеме и не перезаписать файл. Для дополнительной функции запустите её собственные проверки.

Откройте новую сессию агента и попросите описать следующий шаг по документам, ничего не меняя. Это проверка передачи контекста. Попросите человека, который не видел разговор, запустить приложение по README; если это невозможно, явно отметьте самостоятельную проверку.

Вопросы защиты

Ответьте своими словами: чем модель отличается от агента; почему скилл не является ограничением доступа; что даёт MCP; какие части харнесса предоставляет клиент; что добавили вы; что подтверждает успешный check.py и чего он не подтверждает.

Назовите один случай неверного ответа агента и способ, которым вы его обнаружили. Покажите одно изменение, которое отвергли или сузили. Объясните, как продолжить работу без старой сессии и как восстановить искусственные данные из копии.

Оценка готовности

Работа готова к учебной сдаче, если все заявленные сценарии воспроизводятся, проверки проходят, новая папка запускается по README, а ограничения названы прямо. Частично готовая функция должна оставаться отмеченной как незавершённая. Не ставьте итоговую отметку только по уверенности агента.

После курса вы можете переходить к небольшому проекту в знакомой предметной области. Когда появляется сеть, несколько пользователей или ценные данные, сначала расширьте требования и проверки. Начните с одного нового риска и одного наблюдаемого сценария, сохраняя освоенный цикл работы.

Разбор

Хорошая защита показывает цепочку «требование → изменение → проверка → наблюдение». Если вы только демонстрируете эталон, это изучение примера, а не собственная работа. Если дополнительная функция прошла один ручной сценарий, честно назовите непроверенные случаи. Умение видеть пределы результата — часть работы с агентом.