Мой блог
Как внедрить OpenSpec в привычный харднесс разработки с ИИ
Когда руководство компании настаивает на внедрении новых методологий вроде Spec-Driven Development, разработчику приходится адаптироваться. В этой статье я поделюсь опытом интеграции фреймворка OpenSpec в рабочий процесс, где уже задействованы кодинг-агенты, и покажу, как подружить современные подходы со сложившимся harness разработки без ущерба для эффективности.
Путь к автоматизации и применению искусственного интеллекта в программировании я прошел от самых ранних релизов GPT до современных мультиагентных систем. Тем не менее, директивный переход на спецификации потребовал пересмотра привычных шагов и поиска оптимальных точек соприкосновения нового фреймворка с отлаженными инструментами.




Знакомство с инструментарием и рабочим окружением
Мой бэкграунд в IT охватывает период с 2008 года: начав с системного администрирования и DevOps, я сосредоточился на бэкенд-разработке на Java и Kotlin, создавая масштабные платформы и финансовые системы. В качестве основного окружения я использую OpenIDE с профильным плагином, объединяющим агентов Claude Code и Codex по протоколу ACP на базе привычной платформы IntelliJ.

Для большинства проектов на Spring я подключаю специализированные скиллы и наборы вроде Superpowers и grill-me, а также слежу за качеством кода с помощью Spotless, Checkstyle, Gradle JVM Test Suite, ArchUnit, PITest и JaCoCo. Подобная инфраструктура позволяет надежно контролировать архитектуру, покрытие тестами и соблюдение стандартов написания кода.


Эволюция рабочего процесса с появлением OpenSpec
До интеграции OpenSpec моя деятельность строилась на получении готовой задачи от бизнес-аналитика, ее глубокой детализации через скиллы планирования и подготовке пошагового плана для агента. Сама реализация выполнялась в изолированном дереве исходных версий (worktree), после чего следовало обязательное ревью кода, мутационное тестирование и ручная проверка ключевых сценариев.

Фреймворк OpenSpec предназначен для реализации концепции Spec-Driven Development (SDD), охватывающей весь жизненный цикл фичи от идеи до релиза. Главным новшеством стало разделение спецификаций на постоянные main specs, выступающие единым источником правды о системе, и временные delta specs, отражающие изменения в рамках конкретной задачи.

Полный цикл работы с изменениями
Любая доработка в рамках фреймворка оформляется как отдельная сущность change, содержащая дельта-спецификацию и набор артефактов: proposal, design и tasks. Для старта проекта на Spring Boot мы выполняем инициализацию через специальную консольную утилиту, которая развертывает структуру каталогов в репозитории.


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

Этап Apply: написание кода и проверка
Перед запуском непосредственной реализации я фиксирую спецификацию в системе контроля версий, выделяю под задачу отдельный worktree и очищаю накопленный контекст диалога с агентом. Затем вызывается команда генерации кода, которая опирается на ранее подготовленные задачи и специализированные знания фреймворков, после чего я провожу детальное ревью созданных компонентов и тестов.


Синхронизация и архивация
Завершающим шагом перед созданием пулл-реквеста является синхронизация дельта-спецификаций с основными требованиями системы и архивация выполненного изменения. Это позволяет сохранить актуальность базы знаний проекта для будущих итераций и не потерять важные контекстные данные.

Заключение
Внедрение OpenSpec не перевернуло мой привычный процесс с ног на голову, а скорее структурировало те действия, которые я и так выполнял интуитивно. Главным преимуществом стало исчезновение страха перед началом новых сессий с агентами, ведь вся необходимая информация теперь аккуратно зафиксирована в спецификациях и планах.



Несмотря на то, что чтение и восприятие спецификаций требует определенной привычки, развитие методологии Spec-Driven Development в современной индустрии делает такое знакомство крайне полезным. Рекомендую попробовать инструменты автоматизации самостоятельно, чтобы оценить их влияние на качество и скорость разработки.
