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

Как работают промпт-сборки
Промпт-сборка использует поле prompt вместо command в build.yml. При запуске она создает новую сессию чата, отправляет промпт как первое сообщение и мониторит ответ ИИ:
build:
ai-review:
watch: chat # Trigger when user chat completes
prompt: "/verify Review the recent code changes. Read the chat transcript at {chat} and report any problems."
chatTitle: "Code Review"
delay: 5
timeout: 120
display: always
autofix: always
Триггер watch: chat срабатывает, когда сессия чата пользователя завершена, очередь сообщений пользователя пуста, а очередь AutoFix завершена без ошибок или предупреждений. Даже если промпт-сборка использует autofix, она будет выполняться только после того, как командные сборки автоматически исправлены, чтобы гарантировать чистое состояние для ИИ-ревью. Заполнитель {chat} разрешается в путь транскрипции запускающего чата пользователя, предоставляя субагенту доступ к полному контексту разговора. Заполнитель {buildName} также доступен в поле chatTitle для динамических заголовков.
Архитектура с убчатом
Промпт-сборки создают отдельный экземпляр чата с собственным окном контекста:
- Изолированный контекст — Рассуждения субагента и вызовы инструментов происходят в их собственной сессии чата. Они не потребляют токены из или загрязняют контекст основной беседы
- Отслеживание родительского чата — Каждый субчат записывает
ParentChatId, связывая его с исходным чатом пользователя. Это создает прослеживаемую цепочку, видимую на панели аналитики - Генерация заголовка — Поле
chatTitleустанавливает заголовок с убчата. Если опущено, по умолчанию используется имя сборки. Заполнитель{buildName}разрешается в фактический ключ конфигурации сборки - Извлечение вывода — Когда субагент завершает обработку, система извлекает последнее сообщение ассистента как вывод сборки. Если настроен
outputFile, система читает из этого файла вместо этого — вы можете поручить своему агенту записать свои окончательные результаты в файл, чтобы сделать это более надежным и отлаживаемым
Субагент работает в течение настроенного timeout (в секундах). Если он превышает тайм-аут, сборка отменяется. Состояние обработки мониторится через менеджер экземпляров Claude Code — когда isProcessing становится ложным для чата сборки, вывод извлекается и анализируется.
Парсинг вывода и интеграция с AutoFix
Вывод субагента парсится с использованием той же инфраструктуры .pastukhov/build.parser, что и командные сборки. Это означает, что любые паттерны, определенные для ваших инструментов сборки, также работают для валидации на основе промптов. Если ответ субагента содержит текст, соответствующий паттернам [ERROR] или [WARNING], он извлекается как структурированные ошибки.
Промпт-сборки участвуют в AutoFix, как и командные сборки:
- Установите
autofix: always, чтобы AutoFix передавал ошибки субагента обратно в основной чат для исправления - Установите
autofix: errors, чтобы запускать AutoFix только тогда, когда субагент сообщает об ошибках (не предупреждениях) - Установите
autofix: never, если промпт-сборка только информационная — вы хотите видеть анализ субагента на панели сборки, но не хотите, чтобы он запускал исправления
Вывод сборки хранится в .pastukhov/build/ с использованием того же трехфайлового формата: {build-name}.output.txt, {build-name}.errors.txt и {build-name}.warnings.txt.
Конфигурация промпт-сборок
Промпт-сборки поддерживают те же поля конфигурации, что и командные сборки, с prompt, заменяющим command:
build:
security-audit:
watch: chat
prompt: "/verify Run a security audit on the codebase. Check for hardcoded secrets, SQL injection vulnerabilities, and insecure dependencies. Read the transcript at {chat} for context about recent changes."
chatTitle: "Security Audit"
delay: 10
timeout: 300
display: errors
autofix: errors
test-generation:
watch: chat
prompt: "/verify Write tests for the code changes described in the chat transcript at {chat}. Run the tests and report any failures."
chatTitle: "Test Generation"
delay: 5
timeout: 180
display: always
autofix: always
Написание эффективных промптов валидации
- Загрузите навык — Добавьте промпт с
start with loading skill-name skill(более эффективно, чем синтаксис/skill-name), чтобы загрузить контекст, специфичный для проекта, в субагента. Навык проверки кода загружает стандарты кодирования, по которым субагент может проверять - Ссылайтесь на транскрипт — Используйте
{chat}, чтобы предоставить субагенту доступ к полному разговору. Без этого субагент знает только то, что вы явно описываете в промпте - Будьте конкретны в том, что проверять — “Проверьте наличие проблем” — расплывчато. “Проверьте исключения null reference, отсутствующую обработку ошибок и неправильные асинхронные паттерны” дает субагенту конкретные критерии
- Укажите формат вывода — Если вы хотите, чтобы вывод был анализируемым, укажите субагенту форматировать ошибки таким образом, который соответствует вашим паттернам парсера сборки. Лучшее место для объяснения этого — навык, так как это делает вашего субагента версионным и повторно используемым
Комбинации триггеров
Как и командные сборки, каждая промпт-сборка следит ровно за одним типом события — масками файлов, именами родительских сборок или chat. Триггер chat доступен для всех типов сборок, не только для промпт-сборок. Если вам нужна одна промпт-сборка, которая активируется на нескольких событиях, используйте схему родитель-потомок, описанную в руководстве Валидация автоматической сборки — создайте несколько легковесных родительских сборок, каждая из которых следит за одним типом события, затем пусть промпт-сборка следит за всеми ними. Установите display: never на родительских сборках, чтобы скрыть их с панели сборки.
Эффективные паттерны валидации
- Проверка кода после каждой сессии — Промпт-сборка с
watch: chatавтоматически проверяет работу ИИ после каждой беседы. Субагент ловит проблемы, которые пропускают компиляторы и линтеры — архитектурные проблемы, логические ошибки и нарушения соглашений проекта - Аудит безопасности — Специализированная промпт-сборка безопасности проверяет секреты в коде, паттерны SQL-инъекций, небезопасные зависимости и другие уязвимости, которые автоматизированные инструменты могут не обнаружить
- Генерация и валидация тестов — Промпт-сборка, которая пишет и запускает тесты, предоставляет сигнал валидации, который не может сравниться ни один инструмент статического анализа. Если субагент генерирует тесты и они не проходят, AutoFix передает неудачи обратно для исправления кода
- Цепочка с командными сборками — Промпт-сборка, следящая за командной сборкой, создает двухэтапный конвейер: командная сборка ловит статические ошибки, а промпт-сборка ловит семантические ошибки. Сначала настройте командную сборку в порядке зависимостей
- Держите контекст субагента сфокусированным — Загружайте только соответствующий навык и ссылайтесь на транскрипт. Не загружайте навыки, которые добавляют несвязанный контекст — это разбавляет внимание субагента и производит менее полезный вывод валидации
- Ручные промпт-сборки — Удалите триггер
watchи установитеautofix: never, чтобы отключить автоматический запуск и интеграцию AutoFix. Сборка остается видимой на панели сборки, где вы можете запустить ее вручную как валидатор одним щелчком — идеально для действительно тяжелых задач, таких как аудиты безопасности на уровне проекта, которые вы запускаете по требованию после крупномасштабных обновлений проекта, а не при каждом завершении чата
Полный справочник по системе сборки см. в Сборка и развертывание. Для автоматической обратной связи об ошибках см. AutoFix. Для управления контекстом субагента см. Аналитика и наблюдаемость.