Что нового

Spec Kit: Протокол для "Умного" Vibe Coding

  • Автор темы Автор темы MaHarder
  • Дата начала Дата начала
Тип ИИ-технологии
Генеративный ИИ
GitHub / Исходный код
https://github.com/github/spec-kit
Vibe Coding (автономная разработка) — это процесс создания и написания кода нейросетями (LLM-агентами) при минимальном или нулевом участии человека. Это идеально для быстрого прототипирования или для тех, кому нужен функционал, но кто не владеет программированием.

Нейросети, безусловно, помогают, беря на себя рутинные задачи, вроде генерации boilerplate-кода или оформления форм. Для этого существуют агенты, которые оперируют в рамках вашей кодовой базы (codebase): они сканируют структуру проекта и выполняют запросы пользователя в соответствии с ней.

Главная проблема: Contextual Drift​

Ключевая техническая проблема этих агентов — быстрая потеря контекста (Contextual Drift). При работе над сложными или многоступенчатыми задачами агент быстро забывает архитектурные особенности или ранее заданные условия. Расписывать условия и задачи снова — долго и трудоемко.

Решение: Декларативный Мета-протокол​

Spec Kit от GitHub (или specify-cli) — это декларативный мета-протокол, разработанный для повышения контекстной целостности агента. Spec Kit выступает в роли архитектора и прораба одновременно: он создает жесткие границы контекста, заставляя LLM-агента двигаться строго по заданной структуре и не отходить от темы.

Установка и инициализация​

Для работы с утилитой понадобится uv для управления пакетами, после чего сам Spec Kit устанавливается через командную строку:
Bash:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

Инициализация в папке проекта формирует необходимую структуру конфигурации:
Bash:
# Вместо %name% можно указать имя проекта, или просто точку . или параметр --here
specify init %name%
В процессе инициализации вы пройдете интервью, где выберете предпочитаемого агента и настроите скрипты для вашего терминала.
Monosnap Dev — specify init test-specify — specify — specify init test-specify — 113×43 2025-1...pngMonosnap Dev — maximharder@Mac — ~Dev — -zsh — 113×63 2025-10-05 15-09-59.png

Основные команды (Протокол действий)​

Все команды выполняются в чат-окне вашего AI-агента (например, Cursor). Они формируют последовательные этапы разработки.
КомандаФункцияНазначение
/speckit.constitutionДекларация принциповУстановление высокоуровневых ограничений проекта: стандарты качества кода, требования к производительности и UX.
/speckit.specifyФормулировка спецификацииПодробное декларативное описание требуемого функционала и целевого состояния приложения.
/speckit.clarifyИнтерактивная валидацияАктивация режима, где агент задает уточняющие вопросы для устранения неясностей в вашей спецификации.
/speckit.planГенерация дорожной картыСоздание пошагового плана разработки. На этом этапе следует указать технологический стек (язык, БД, кэш).
/speckit.tasksДекомпозиция задачСтруктурирование плана в дискретные, потенциально параллельные этапы выполнения.
/speckit.analyzeАудит и корректировкаВалидация плана действий. Агент ищет технические ошибки и предлагает правки.
/speckit.implementИмплементация кода
Финальный шаг. Пошаговая реализация проекта. Требует итеративного повторения до завершения.


Операционные рекомендации​

  1. Язык запросов: Spec Kit — это не нейронка, а структура. Хотя он поймет ваш язык, для максимальной точности генерации рекомендуется писать запросы на английском языке.
  2. Итеративность: Из-за ограничения контекстного окна LLM, команды, особенно /implement, необходимо повторять. Это гарантирует, что агент выполнит задачу полностью, а не остановится на полпути.
  3. Контроль версий: Команда specify создает новую ветвь в репозитории проекта, что требует внимательного управления версиями.
  4. Чтение кода: Всегда проверяйте сгенерированные файлы. Вы можете вносить правки или задавать уточняющие вопросы прямо в чате после каждого шага — агент сразу внесет корректировки.

Примеры использования​

1. /speckit.constitution
Bash:
/speckit.constitution: Сформулируй принципы, направленные на обеспечение высокого качества кода (чистые функции, DRY), соблюдение стандартов модульного тестирования (минимум 80% покрытия), поддержание консистентного пользовательского опыта и выполнение требований к производительности
2. /speckit.specify
Bash:
/speckit.specify Разработать Taskify, платформу для управления проектами. Должны быть предопределены 5 пользователей (1 менеджер, 4 инженера) и 3 демонстрационных проекта. Реализовать Канбан-доску с колонками "Сделать", "В работе", "На проверке", "Готово". Функционал: перетаскивание карточек, назначение пользователей, неограниченное количество комментариев. Логин не требуется.
3. /speckit.clarify
После ввода агент сам начнет задавать вопросы, например: "Требуется ли функция drag-and-drop для карточек?" или "Какой инструмент для state management предпочтителен?"
Рекомендую повторять эту команду несколько раз, пока агент не скажет, что все вопросы решены.

4. /speckit.plan
Bash:
/speckit.plan Используй TypeScript и React для frontend. Для хранения данных выбери Firestore. Создай план сфокусированный на компонентах Kanban Board.
Указания прописывать необязательно
5. /speckit.tasks
Bash:
/speckit.tasks Разбей план на категории: "Настройка проекта и структуры данных Firestore", "Базовые компоненты карточки и доски", "Реализация логики перетаскивания и обновления статуса в БД".
Указания прописывать необязательно
6. /speckit.analyze
Агент может предложить: "Шаг 3: 'Реализация drag-and-drop' требует обновления модели данных в Firestore. Согласны ли вы внести это изменение?" Вы можете ответить: исправь это сам.
Шаг можно повторять по нескольку раз.
7. /speckit.implement
Эту команду нужно повторять, поскольку агент выполняет задачу частями из-за ограничения контекста LLM.
 
Последнее редактирование:
Верх