---
title: "Промпт-сборки"
id: "589"
type: "page"
slug: "prompt-builds"
published_at: "2026-06-03T14:29:23+00:00"
modified_at: "2026-06-13T00:52:52+00:00"
url: "https://pastukhov.com/code/docs/validation/prompt-builds"
markdown_url: "https://pastukhov.com/code/docs/validation/prompt-builds.md"
excerpt: "Промпт-сборки — это самый продвинутый механизм валидации в Pastukhov Code. В отличие от сборок на…"
---

# Промпт-сборки

[https://pastukhov.com/code/docs/validation/prompt-builds.md](https://pastukhov.com/code/docs/validation/prompt-builds.md)

Промпт-сборки — это самый продвинутый механизм валидации в Pastukhov Code. В отличие от [сборок на основе команд](/code/docs/validation/automated-build)
, которые запускают фиксированные команды оболочки, промпт-сборки создают отдельного агента ИИ для проверки вашей кодовой базы. Рассуждения агента происходят в изолированном субчате, сохраняя основную беседу чистой. Вывод субагента затем анализируется на ошибки и предупреждения, используя ту же инфраструктуру парсера — и эти ошибки могут передаваться в [AutoFix](/code/docs/autofix)
, как и любая другая сборка.

![Auto-validation of project file updates](https://pastukhov.com/wp-content/uploads/2026/06/automated-build-validation.png)## Как работают промпт-сборки

Промпт-сборка использует поле `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`, связывая его с исходным чатом пользователя. Это создает прослеживаемую цепочку, видимую на [панели аналитики](/code/docs/validation/analytics-observability)
- **Генерация заголовка** — Поле `chatTitle` устанавливает заголовок с убчата. Если опущено, по умолчанию используется имя сборки. Заполнитель `{buildName}` разрешается в фактический ключ конфигурации сборки
- **Извлечение вывода** — Когда субагент завершает обработку, система извлекает последнее сообщение ассистента как вывод сборки. Если настроен `outputFile`, система читает из этого файла вместо этого — вы можете поручить своему агенту записать свои окончательные результаты в файл, чтобы сделать это более надежным и отлаживаемым

Субагент работает в течение настроенного `timeout` (в секундах). Если он превышает тайм-аут, сборка отменяется. Состояние обработки мониторится через менеджер экземпляров Claude Code — когда `isProcessing` становится ложным для чата сборки, вывод извлекается и анализируется.

## Парсинг вывода и интеграция с AutoFix

Вывод субагента парсится с использованием той же инфраструктуры `.pastukhov/build.parser`, что и командные сборки. Это означает, что любые паттерны, определенные для ваших инструментов сборки, также работают для валидации на основе промптов. Если ответ субагента содержит текст, соответствующий паттернам `[ERROR]` или `[WARNING]`, он извлекается как структурированные ошибки.

Промпт-сборки участвуют в [AutoFix](/code/docs/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` доступен для всех типов сборок, не только для промпт-сборок. Если вам нужна одна промпт-сборка, которая активируется на нескольких событиях, используйте схему родитель-потомок, описанную в руководстве [Валидация автоматической сборки](/code/docs/validation/automated-build)
 — создайте несколько легковесных родительских сборок, каждая из которых следит за одним типом события, затем пусть промпт-сборка следит за всеми ними. Установите `display: never` на родительских сборках, чтобы скрыть их с панели сборки.

## Эффективные паттерны валидации

- **Проверка кода после каждой сессии** — Промпт-сборка с `watch: chat` автоматически проверяет работу ИИ после каждой беседы. Субагент ловит проблемы, которые пропускают компиляторы и линтеры — архитектурные проблемы, логические ошибки и нарушения соглашений проекта
- **Аудит безопасности** — Специализированная промпт-сборка безопасности проверяет секреты в коде, паттерны SQL-инъекций, небезопасные зависимости и другие уязвимости, которые автоматизированные инструменты могут не обнаружить
- **Генерация и валидация тестов** — Промпт-сборка, которая пишет и запускает тесты, предоставляет сигнал валидации, который не может сравниться ни один инструмент статического анализа. Если субагент генерирует тесты и они не проходят, AutoFix передает неудачи обратно для исправления кода
- **Цепочка с командными сборками** — Промпт-сборка, следящая за командной сборкой, создает двухэтапный конвейер: командная сборка ловит статические ошибки, а промпт-сборка ловит семантические ошибки. Сначала настройте командную сборку в порядке зависимостей
- **Держите контекст субагента сфокусированным** — Загружайте только соответствующий навык и ссылайтесь на транскрипт. Не загружайте навыки, которые добавляют несвязанный контекст — это разбавляет внимание субагента и производит менее полезный вывод валидации
- **Ручные промпт-сборки** — Удалите триггер `watch` и установите `autofix: never`, чтобы отключить автоматический запуск и интеграцию AutoFix. Сборка остается видимой на панели сборки, где вы можете запустить ее вручную как валидатор одним щелчком — идеально для действительно тяжелых задач, таких как аудиты безопасности на уровне проекта, которые вы запускаете по требованию после крупномасштабных обновлений проекта, а не при каждом завершении чата

Полный справочник по системе сборки см. в [Сборка и развертывание](/code/docs/build-deploy)
. Для автоматической обратной связи об ошибках см. [AutoFix](/code/docs/autofix)
. Для управления контекстом субагента см. [Аналитика и наблюдаемость](/code/docs/validation/analytics-observability)
.

**[← Валидация автоматической сборки](/code/docs/validation/automated-build)**

**[Валидация звуковой обратной связи →](/code/docs/validation/sound-feedback)**
