DEV Community на русском
Подписаться
我讓三個 AI 各司其職寫程式:Codex 出測試、Grok 寫實作、Claude 驗收
Этот эксперимент проверяет многокомпонентный конвейер кодирования, в котором одна функция разбивается на три различных роли: генерация тестов, реализация и верификация. Codex генерировал тесты и минимальные заглушки, изначально вызывая компиляцию тестов, но не проходящих утверждения. Claude проверял эти тесты на точность и существование символов по отношению к исходному коду. Затем Claude поместил код в изолированную среду, чтобы убедиться, что тесты действительно не проходят по определенным причинам. Grok был задействован для написания реализации, чтобы пройти не проходящие тесты без изменения самих тестов. Наконец, Claude независимо проверил работу Grok, запустив тесты, проверив на утечки памяти и просмотрев изменения кода. Основная польза, выявленная в этом подходе, заключается не в замене человеческих усилий, а в том, что он позволяет обнаруживать ошибки на более ранней стадии и делает их более независимыми, создавая четкие тестовые контракты между агентами. Этот подход отличается от подхода, когда один агент выполняет разработку через тестирование (TDD), где риски само-проверки выше. Он также контрастирует с тестами, написанными человеком, и реализацией, выполненной агентом, что более надежно, но требует значительных человеческих затрат. В эксперименте возникли определенные проблемы, включая несовместимость параметров с Grok и деталь системы сборки Zig, требующую ручного открытия тестов. Конвейер считается жизнеспособным при строгих протоколах тестирования, особенно для проектов со статической типизацией и надежными фреймворками тестирования. Он менее подходит для исследовательской работы или функций, где спецификации еще не определены. Автор заключает, что успех этого многокомпонентного рабочего процесса зависит от способности проекта рассматривать тесты как конкретные контракты.