Паттерн ревью субагентом
Назначение
Заголовок раздела «Назначение»Обеспечивает независимую проверку путём делегирования задач ревью субагенту. Предотвращает предвзятость самопроверки, когда тот же агент оценивает свою собственную работу.
Проблема
Заголовок раздела «Проблема»Когда агент проверяет собственную работу:
- Предвзятость подтверждения влияет на суждение
- Известные проблемы могут быть рационализированы
- Стандарты качества размываются со временем
- Синдром «выглядит нормально»
Решение
Заголовок раздела «Решение»Делегируйте ревью отдельному субагенту через Task tool:
- Агент завершает работу
- Workflow направляет к ноде ревью
- Нода ревью делегирует задачу субагенту через Task tool
- Субагент возвращает объективную оценку
- Workflow маршрутизирует на основе результатов
Структура
Заголовок раздела «Структура»[do-work] → [delegate-review] → [check-result] → pass → [next] ↓ fail → [fix-issues] → [do-work]Реализация
Заголовок раздела «Реализация»Нода делегирования ревью
Заголовок раздела «Нода делегирования ревью»{ "type": "agent-directive", "id": "delegate-review", "directive": "Delegate review to subagent using Task tool.\n\n1) Pass ONLY necessary information:\n - File paths to review\n - Success criteria\n - Context directory\n\n2) Agent delegation rules:\n - Role clarity: 'YOU ARE reviewer'\n - Direct commands: 'CHECK' not 'could you check'\n - Specify files: list exact paths\n - Demand verification: 'VERIFY by reading files'\n\n3) Save review result to {{review_file_path}}\n\n4) Report findings honestly - if reviewer found issues, report issues_found: yes", "completionCondition": "Review delegated, result saved, findings reported", "inputSchema": { "type": "object", "properties": { "review_file": { "type": "string", "description": "Path to saved review file" }, "issues_found": { "type": "string", "enum": ["yes", "no"], "description": "Did reviewer find blocking issues?" } }, "required": ["review_file", "issues_found"] }, "connections": { "success": "check-review-result" }}Ключевые элементы директивы
Заголовок раздела «Ключевые элементы директивы»Назначение роли:
YOU ARE plan reviewer. Your assessment determines if we proceed.Прямые команды:
READ plan file directly.CHECK step implementation.VERIFY by reading actual files.RETURN blocking issues only.Границы информации:
Pass ONLY:- File paths to review- Success criteria- Relevant context paths
DO NOT pass:- Your interpretation of quality- Hints about what you expect- Explanations of your workНода проверки результата
Заголовок раздела «Нода проверки результата»{ "type": "condition", "id": "check-review-result", "condition": { "operator": "eq", "left": { "contextPath": "issues_found" }, "right": "no" }, "connections": { "true": "next-step", "false": "fix-issues" }}Реальный пример
Заголовок раздела «Реальный пример»Из gate review в development-flow.json:
{ "id": "agent-validate-step", "directive": "Delegate critical review to subagent.\n\n1) Pass direct access to plan without interpretation\n2) No mentions of 'code was improved/added/fixed'\n3) Pass: file path, step index, changed files, reports directory\n4) Tell which project parts to study for context\n\nAgent prompt:\nYOU ARE plan step gate reviewer.\nYour assessment determines if we proceed.\nREAD plan file directly.\nCHECK step against PREVIOUS and FUTURE steps.\nEvaluate: code quality, errors, plan compliance.\nReturn BLOCKING issues only.\nProvide fix recommendations.", "inputSchema": { "properties": { "agent_review_file": { "type": "string" }, "agent_issues_found": { "type": "string", "enum": ["да", "нет"] } }, "required": ["agent_review_file", "agent_issues_found"] }}Антипаттерны
Заголовок раздела «Антипаттерны»Самопроверка (неправильно)
Заголовок раздела «Самопроверка (неправильно)»{ "directive": "Check if your work meets quality standards.", "completionCondition": "Quality check passed"}Проблема: агент оценивает собственную работу.
Предвзятое делегирование (неправильно)
Заголовок раздела «Предвзятое делегирование (неправильно)»{ "directive": "Ask subagent to verify the improvements we made."}Проблема: слово «improvements» предполагает положительный результат.
Избыточный контекст (неправильно)
Заголовок раздела «Избыточный контекст (неправильно)»{ "directive": "Tell the reviewer about all the hard work done and why each decision was made."}Проблема: влияет на суждение ревьювера.
Числовая валидация
Заголовок раздела «Числовая валидация»Совместите с числовой валидацией для объективных критериев:
{ "inputSchema": { "properties": { "issues_count": { "type": "number", "minimum": 0, "description": "Number of blocking issues found" } } }}{ "condition": { "operator": "eq", "left": { "contextPath": "issues_count" }, "right": 0 }}Лучшие практики
Заголовок раздела «Лучшие практики»- Минимум контекста — передавайте только то, что нужно ревьюверу
- Без интерпретации — позвольте ревьюверу сформировать собственные выводы
- Прямой доступ к файлам — ревьювер читает файлы самостоятельно
- Честная отчётность — агент должен передавать результаты правдиво
- Сохранение результатов — записывайте ревью в файл для отслеживания
Связанные паттерны
Заголовок раздела «Связанные паттерны»- Цикл валидации - Повторные попытки при неудаче
- Верификация шагов - Проверка конкретных шагов
- Эскалация - Обработка повторяющихся сбоев