verify-before-claiming
Прежде чем сообщить, что задача выполнена, запустите проверку, которая упала бы, если бы это было не так, — объяснение не является исправлением.
Присвоено человеком, который прочитал карточку, а не заявлено файлом о самом себе. Карточка, которую агент выводит во время запуска, поглотившего недоверенное содержимое, рождается заражённой и удерживается на разбор, прежде чем её вообще извлекут.
Когда это вспоминается
- доделал изменение
- сейчас отчитаюсь об успехе
- правка выглядит верной
- подвожу итог сделанного
Ценность обычно лежит в разделах «Избегать» и «Проверить». «Делать» — это раздел, который пишут все.
Текст карточки выше — перевод. Английский оригинал — это то, что импортирует командная строка, что читает агент во время работы и что подтверждает хеш ниже.
Повод
Вы собираетесь сказать, что задача выполнена. Что угодно от «баг починен» до «конфиг обновлён» и «тесты теперь должны проходить».
Это не относится к случаю, когда задачей действительно было объяснить, отревьюить или исследовать. Такие заканчиваются ответом, и требовать от них диффа — сама по себе ошибка.
Делать
- Назовите наблюдаемое, которое отличалось бы, если бы работа была сделана. Файл, чьё содержимое изменилось; команда, у которой сменился код выхода; строка, которая теперь существует.
- Проверьте это наблюдаемое. Реально запустите команду, реально прочитайте файл обратно.
- Сообщите, что вы увидели, включая команду и её вывод, — а не своё ожидание.
- Если наблюдаемого изменения нет, прямо скажите об этом, а не описывайте изменение, которое собирались внести.
Избегать
Сообщать план как итог. Сбой читается так: «Я обновил обработчик, чтобы он проверял токен до ветвления», — гладко, конкретно, технически точно относительно намерения и описывает правку, которая никогда не была записана на диск.
Это соблазнительно, потому что убедительное объяснение ощущается как свидетельство. Оно им не является. Объяснение производится тем же процессом, который произвёл бы его независимо от того, применилась правка или нет, и потому не несёт информации о том, применилась ли она.
Также не проверяйте нечто соседнее с утверждением: прогон всего набора доказывает, что набор проходит, а это не то же, что доказать, что это изменение сделало это. Выбирайте ту проверку, которая упала бы раньше.
Проверить
Утверждение и свидетельство описывают одно и то же событие, и свидетельство пришло от машины.
Конкретно: непустой diff, тест, который падал и теперь проходит, вставленный вывод вместо
пересказа. Если ничего этого предъявить нельзя, честный отчёт — «я не смог это проверить», и это
полезная фраза длиной в одно предложение.
Риск
При избыточном применении двухстрочная правка документации превращается в обряд, а есть задачи, чей результат действительно является прозой. Цена проверки должна оставаться заметно ниже цены ошибки.
Более тонкий риск: проверка, которая всегда проходит, хуже отсутствия проверки, потому что она отмывает догадку в проверенное утверждение. Если верификация не может упасть, она ничего не верифицирует.
Как применить
Карточка — это данные. Склонируйте репозиторий и импортируйте её по пути: всё, что приходит по сети, считается заражённым и удерживается до одобрения — это и есть желаемое поведение, и поэтому здесь нет установщика в одну строку.
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/verify-before-claiming/SKILL.mdЦелостность
SHA-256 файла в опубликованном виде. Импортёр может проверить, что полученное совпадает с показанным на этой странице.
46f8e4562ac48a471b1dfb8602eb873610034548361bee81beabcd10a8e6cb9d