Наш чатик подкинул научную работу по TDD. Сразу отмечу, что перебить выводы Kun Chen, который не видит изменения выхода DeepSWE и ProgramBench после отключения всех тестов, работа не может, т.к. не подтверждает эффективность TDD каким-то авторитетным бенчмарком. Оцениваются скорее вариации TDD между собой.
Видно и по этой работе, что понимание TDD даже у экспертов совсем не в оригинальной трактовке Бека, когда «тест — это контракт», т.к. тесты тут пишутся после создания кода.
Работа скорее интересная тем, что в ней решили разделить агентов генерации кода и агента генерации тестов. Неочевидный результат — на качество агента генерации тестов не влияет, видит он тестируемый код или нет. На самом деле это косвенно доказывает, что LLM никогда не видела на обучении тестируемый код и тесты вместе, как я отмечал в дискуссиях в чате. Довольно очевидно, что знание кода — это ценный контекст, просто ИИ не обучен им пользоваться для написания тестов нативно. Обучение было просто либо написания кода, либо написания тестов, но не вместе. Причина в защите от reward hacking на тестах, по моему мнению.
https://arxiv.org/abs/2610.02952
Post #5359
2.1K