5 октября 2026 г.
ИИ-агенту мало написать код: Эдди Османи предлагает проверять результат тестами
Османи предлагает дать агенту способ проверить свою работу: пользовательские сценарии и запреты на недопустимое поведение.

Addy Osmani
@addyosmani
Чтобы агент выдавал качественный результат, дайте ему способ проверять свою работу. Тесты входят в эту проверку. Вот несколько видов проверок, в которые, по-моему, стоит вложиться. - Пишите end-to-end тесты, которые воспроизводят реальные пользовательские сценарии и служат эталоном правильного поведения. - Используйте property-based тестирование: задайте, что никогда не должно происходить, и генерируйте тысячи тестовых случаев, которые пытаются нарушить эти ограничения. - Если заменяете систему, сравнивайте старую и новую версии на случайно выбранных входных данных. - Требуйте, чтобы тесты выполнялись быстро и давали одинаковый результат при одинаковых условиях. Если цикл медленный или ненадёжный, агент может привыкнуть повторять запуск вместо исправления проблемы. Тесты на конкретных примерах говорят, что должно произойти. Свойства говорят, чего быть не должно.

· 45,4 тыс. просмотров
Агент исправляет код, запускает проверку и получает ответ: задача готова или нужен ещё один заход. Османи предлагает строить работу вокруг этого цикла.
Проверка результата. End-to-end тесты воспроизводят путь пользователя по приложению и задают ожидаемый результат. Property-based тесты описывают, что никогда не должно происходить, и генерируют тысячи случаев для проверки этих запретов. При замене системы Османи рекомендует подавать случайно выбранные входные данные старой и новой версиям и сравнивать результаты.
Быстрые проверки должны давать одинаковый результат при одинаковых условиях. Если тесты тормозят или срабатывают через раз, агент рискует привыкнуть перезапускать их вместо исправления ошибки.
Готовый набор. Эти приёмы дополняют agent-skills Османи, который устанавливается командой `npx skills add addyosmani/agent-skills`. В релизе 0.6.4 от 12 июля этот способ установки заявлен для более чем 70 агентов. С 26 июля скилл test-driven-development использует команду тестирования самого репозитория вместо обязательного npm, в том числе в проектах на Python, Go и Rust.
В феврале Османи рекомендовал начинать задачу с red/green TDD: агент пишет тесты, убеждается, что они падают, затем исправляет код до прохождения. В августовском релизе 0.6.8 скилл constraint-driven-development добавил фиксацию требований в CONSTRAINTS.md и команды установки и запуска проверок. Он также отслеживает пропущенные тесты, удалённые проверки и снижение порогов.
В релизе 0.6.12 от 3 октября Османи добавил проверку самих тестов: агент меняет одно добавленное условие на противоположное и запускает тесты. Если они остаются зелёными, агент должен сообщить о недостающем тесте.
В инструкции Self-Improving Coding Agents Османи связывает каждую пользовательскую задачу минимум с одним тестом и требует исправлять ошибки проверки типов и линтера перед коммитом.
Первоисточник