Output contract визначає прийнятний результат

Контракт результату описує не характер агента, а відповідь, яку можна прийняти: формат, докази, маркування невизначеності та умови зупинки. Команда «перевір diff» залишає надто багато рішень на розсуд subagent.

Такий контракт відрізняється від handoff note: handoff передає стан довгої задачі, а output contract допомагає оцінити завершену роботу агента.

СкладоваЩо має бути
ПідсумокПеревірений scope і загальний висновок
ЗнахідкиПроблема, severity, місце та suggested action
ДоказиФайл і рядок, diff, лог, тест або інша перевірка
ПеревіркиКоманда, результат і exit code
НевизначеністьФакти окремо від [hypothesis]
МежіЗмінені файли й перевірений scope
Наступна діяКонкретний крок власника
StopКоли агент припиняє роботу

Жорсткі поля й оцінні поля

Шлях, рядок, команда, exit code і список змінених файлів легко перевірити. Severity, ризик і рекомендація потребують інженерного судження. Корисний output contract поєднує обидва види полів, але не маскує оцінку під факт.

Схема finding
Finding:
- severity: high | medium | low
- location: path/to/file.ts:42
- evidence: test, log, diff або code path
- suggested action: конкретна дія
- confidence: confirmed | [hypothesis]

Контракт для reviewer

  1. Зафіксуйте конкретний flow або модуль.
  2. Вкажіть фокус: регресії, тести, API або сумісність.
  3. Забороніть редагування.
  4. Вимагайте findings із severity, file:line та evidence.
  5. Попросіть перелічити виконані перевірки й exit codes.
  6. Задайте stop condition, наприклад верхню межу diff.

Як приймати результат

Впевнений тон не є доказом. Непідтверджене твердження має залишатися гіпотезою до перевірки кодом, trace, тестом або іншими фактичними джерелами.

РішенняКоли застосувати
ПрийнятиЄ докази, scope дотримано, межі не порушено, next step зрозумілий
Повернути на уточненняВисновок корисний, але бракує evidence, severity або маркування гіпотез
ВідхилитиЗмінено заборонені файли, проігноровано stop або findings без перевірної основи

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush