Тесты как границы знаний | Мой цифровой сад

Тесты как границы знаний

Тест — не проверка реализации, а формальное описание допустимого поведения; для агента это граница дозволенного

Тесты как границы знаний

Мы привыкли считать, что тест проверяет код. Но агент может воспринимать тест иначе.

Не:

assertEquals(...)

А:

Этот сценарий запрещено нарушать.

Тест — не проверка реализации, а формальное описание допустимого поведения. Получается такая вертикаль:

Knowledge
   ↓
Allowed Behaviour
   ↓
Tests
   ↓
Code

Код оказывается самым нижним уровнем.

TDD меняет смысл

Если тесты — это границы знаний, то TDD превращается из «сначала тест, потом код» в «сначала зафиксируй границу дозволенного, потом позволь агенту её реализовать».

Ловушка дешевизны (собственная мысль)

Сейчас агенту написать сотню тестов ничего не стоит. А вот разобраться в них, чтобы исправить даже незначительный функционал, занимает ценное время и не даёт быстрого исправления.

Значит, ценность теста не в том, что он написан, а в том, что он точно и локализованно описывает границу. Тестов, которые не помогают понять, что нельзя нарушать — а только множат шум, — становится всё больше, а толку от них всё меньше. Это превращает «сколько тестов» в метрику, обратную стоимости токенов: лишний тест тоже стоит понимания.

Источники

Связанные заметки

Evolution