Единая точка входа в документацию платформы (ADR-001 D1–D9): - docs/overview/ — 10 файлов: индекс (маршруты «Я заказчик / Я менеджер / Я разработчик» + норматив «изменил функциональность → обнови витрину в том же PR»), business.md (без жаргона, 6 сценариев), 7 тех-блоков (link-first), presentation.md (16 слайдов + процедура сборки «команда + Проверка:»). - scripts/build_presentation.py — генератор .pptx в тёмном дизайне (python-pptx; чистый stdlib-парсер parse_slides + ленивый import pptx; бинарь не коммитится, build/ в .gitignore; зависимость НЕ в прод-образе — машинный гард TC-09). - tests/test_system_docs.py — структурный анти-дрейф: derive-сверки стадий/ гейтов/агентов импортом STAGE_TRANSITIONS/QG_CHECKS/glob промптов/config, валидность ссылок, FORBIDDEN-скан + секрет-эвристика, слайды каноническим парсером, NFR-2, указатели. - reviewer.md — ось обзорных доков ORCH-079 расширена на витрину (D7; канон 52d байт-в-байт, только текст внутри секций) + анти-регресс ассерт в test_agent_prompts_canon.py. - Указатели: README.md, CLAUDE.md (правила №2/№6, «Структура»), PRODUCT_VISION.md (врезка-ссылка), CHANGELOG.md. Рантайм байт-в-байт: src/**, docker-compose.yml, Dockerfile, requirements* — ноль изменений (docs+tests+dev-скрипт, паттерн ORCH-102/103). pytest: 1873 passed. Refs: ORCH-011 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
61 lines
4.6 KiB
Markdown
61 lines
4.6 KiB
Markdown
# Блок 3. Агенты: 6 ролей конвейера
|
||
|
||
> Промпты ролей лежат в `.openclaw/agents/*.md` (по одному файлу на роль). Канон манифеста
|
||
> «документ → агент → стадия → гейт → machine-key» — [PIPELINE_DOCS §2](../_standards/PIPELINE_DOCS.md);
|
||
> машинный контракт передачи между стадиями — [HANDOFF_PROTOCOL](../_standards/HANDOFF_PROTOCOL.md).
|
||
|
||
## Паспорта ролей
|
||
|
||
| Роль | Стадия | Вход | Выходные артефакты | Machine-verdict ключ |
|
||
|------|--------|------|--------------------|----------------------|
|
||
| `analyst` | analysis | бизнес-запрос (`00-business-request.md`) | `01-brd.md`, `02-trz.md`, `03-acceptance-criteria.md`, `04-test-plan.yaml` | — (гейт проверяет полноту пакета + одобрение человека) |
|
||
| `architect` | architecture | пакет аналитики | `06-adr/ADR-NNN-*.md`, when-applicable `07-infra-requirements.md` / `08-data-requirements.md`, `10-tech-risks.md` | — (гейт проверяет наличие ADR) |
|
||
| `developer` | development | ТЗ + ADR | код в `src/`, тесты в `tests/`, обновлённые доки, `CHANGELOG.md`, PR в Gitea | — (гейт — зелёный CI ветки) |
|
||
| `reviewer` | review | PR diff + ТЗ/ADR | `12-review.md` | `verdict:` (`APPROVED` \| `REQUEST_CHANGES`) |
|
||
| `tester` | testing | ветка задачи + тест-план | `13-test-report.md` | `result:` (`PASS` \| `FAIL` \| `BLOCKED`) |
|
||
| `deployer` | deploy-staging / deploy | прошедшая гейты ветка | `15-staging-log.md`, `14-deploy-log.md` | `staging_status:` / `deploy_status:` (`SUCCESS` \| `FAILED`) |
|
||
|
||
Machine-verdict ключи читаются гейтами **только из YAML-frontmatter** артефакта (никогда из
|
||
прозы) и неизменны байт-в-байт — подробнее в [блоке качества](tech-quality-security.md).
|
||
|
||
## Модель и эффорт
|
||
|
||
Модель и эффорт каждой роли резолвятся **только из конфига** (не из промпта); текущие
|
||
дефолты конфига:
|
||
|
||
| Роль | Модель | Эффорт |
|
||
|------|--------|--------|
|
||
| `analyst` | `claude-opus-4-8` | `high` |
|
||
| `architect` | `claude-opus-4-8` | `high` |
|
||
| `developer` | `claude-opus-4-8` | `xhigh` |
|
||
| `reviewer` | `claude-opus-4-8` | `high` |
|
||
| `tester` | `claude-opus-4-8` | `medium` |
|
||
| `deployer` | `claude-opus-4-8` | `medium` |
|
||
|
||
Разработчику — максимальный эффорт (он пишет код); тестировщику и деплойеру хватает среднего
|
||
(их работа процедурная). Таблица сверяется с class-default'ами `src/config.py` структурным
|
||
тестом — дрейф рвёт CI.
|
||
|
||
## Канон промптов
|
||
|
||
Все промпты следуют единому канону (Anthropic XML, эпик 52): пять обязательных секций в
|
||
нормативном порядке `<context>` → `<task>` → `<deliverables>` → `<constraints>` →
|
||
`<output_format>`, запреты в формате «❌ X → ✅ Y», секция эскалации у решающих ролей. Каждый
|
||
агент эмитит единую frontmatter-схему в своих документах (work item, стадия, автор, статус,
|
||
дата, модель). Промпт читается из worktree в момент запуска — обновление промптов вступает в
|
||
силу со следующей задачи, без рестарта прода.
|
||
|
||
Особенность: промпт `deployer` сознательно на английском (самый safety-critical — несёт
|
||
запреты self-hosting в видной рамке); остальные пять — на русском.
|
||
|
||
## Человек как седьмая роль
|
||
|
||
Человек не пишет артефакты конвейера, но принимает два решения, которые не делегированы
|
||
агентам: одобрение постановки (после `analyst`) и подтверждение прод-выкладки (перед финалом
|
||
работы `deployer`). Подробнее — [человеческие гейты](tech-pipeline.md).
|
||
|
||
---
|
||
|
||
*Структуры документов, которые сдаёт каждая роль, — [PIPELINE_DOCS](../_standards/PIPELINE_DOCS.md);
|
||
скелеты — `docs/_templates/`.*
|