Subagent потрібно оцінювати протягом життєвого циклу
Subagent — не одноразовий prompt, а командний артефакт. Його створюють, тестують, версіонують, переглядають, оновлюють і, якщо потрібно, видаляють. Мета оцінювання — перевірити, чи агент передбачуваніший і корисніший за звичайний prompt у новій сесії.
Одна корисна знахідка не виправдовує агента, який створює багато шуму або порушує межі ролі.
| Критерій | Що перевірити |
|---|---|
| Коректність | Чи правильні висновки |
| Доказовість | Чи є файли, рядки, команди або тести |
| Дотримання ролі | Чи не змінено заборонений код |
| Пріоритетність | Чи не загубилися критичні проблеми серед дрібниць |
| Хибні спрацьовування | Скільки зайвого шуму у звіті |
| Повнота | Чи не пропущено очевидні дефекти |
| Економія часу | Чи швидше перевірити результат, ніж зробити роботу вручну |
Етапи життєвого циклу
- Створіть початкову версію агента.
- Перевірте її на 3–5 невеликих контрольованих прикладах.
- Зафіксуйте помилки й типові failure modes.
- Зменште набір інструментів і уточніть output contract.
- Додайте версію та CHANGELOG.
- Передайте агента команді й збирайте відгуки.
- Оновлюйте, обмежуйте або позначайте агента як deprecated.
- Видаліть його, якщо він стабільно приносить більше шкоди, ніж користі.
Контрольований evaluation case
Задача: знайти регресію в refund flow
Дозволені файли: tests/, src/test/
Заборонені дії: змінювати production-код
Очікуваний результат: regression cases і evidence
Критерії успіху:
- наведено докази;
- межі ролі дотримано;
- команди та exit codes записано;
- гіпотези позначено. Evaluation checklist після запуску
- Чи наведені докази для висновків?
- Чи змінювалися production-файли?
- Чи дотримано область і роль?
- Скільки було хибних і корисних висновків?
- Чи потрібна надмірна ручна фільтрація?
- Роль залишити, переробити, звузити чи прибрати?
Типові failure modes
| Проблема | Дія |
|---|---|
| Вигадані findings | Вимагати код, trace або тест як доказ |
| Надмірні права | Забрати Edit або Write, якщо вони не потрібні |
| Старі інструкції | Синхронізувати agent file з CLAUDE.md і scripts |
| Засмічена memory | Обмежити scope та прибрати застарілі припущення |
| Конфлікти конфігурації | Перевірити plugins, hooks і наслідування |
| Втрата контексту | Уточнити вхід, роль і output contract |
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush