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

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

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

Промпт-сборки — это самый продвинутый механизм проверки в Pastukhov Agent. В отличие от [сборок на основе команд](/agent/docs/validation/automated-build)
, которые запускают фиксированные команды оболочки, промпт-сборки создают отдельного агента ИИ для проверки вашей кодовой базы. Рассуждения агента происходят в изолированном чате подагента, сохраняя основную беседу чистой. Вывод подагента затем анализируется на ошибки и предупреждения, используя ту же инфраструктуру парсера — и эти ошибки могут передаваться в [Автоисправление](/agent/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, она будет выполняться только после того, как командные сборки автоматически исправлены, чтобы гарантировать чистое состояние для ИИ-ревью. Заполнитель `{chat}` разрешается в путь транскрипции запускающего чата пользователя, предоставляя подагенту доступ к полному контексту разговора. Заполнитель `{buildName}` также доступен в поле `chatTitle` для динамических заголовков.

## Архитектура с чатом подагента

Промпт-сборки создают отдельный экземпляр чата с собственным окном контекста:

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

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

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

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

Промпт-сборки участвуют в [Автоисправление](/agent/docs/autofix)
, как и командные сборки:

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

## Эффективные паттерны проверки

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

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

**[← Проверка автоматической сборки](/agent/docs/validation/automated-build)**

**[Проверка звуковой обратной связи →](/agent/docs/validation/sound-feedback)**
