Когда вычислительные мощности открыли возможность массовой генерации кандидатов, возникла новая проблема:на каком основании изменения, автоматически созданные агентом, могут попасть в основную ветвь проекта?Строгая приёмка и механизм наследования истории полностью разводятгенерациюипринятие— любой код, предложенный агентом, является лишькандидатным изменением (candidate patch)и должен пройти ряд контрольных шлюзов, прежде чем может быть признан частью истории проекта.
Принцип кандидатности по умолчанию
Вывод агента по умолчанию считаетсянедоверенным входом: он строго изолирован от принятых версий по правам, хранению и ссылкам, не может напрямую читать или записывать основную ветвь и не может использоваться другими модулями как стабильная зависимость. Единственная цель этого принципа — исключить «попадание в репозиторий сразу после генерации». Лишь после прохождения всех шлюзов кандидатное изменение получает тот же статус, что и основная ветвь.
Четырёхуровневая последовательная фильтрация: рост стоимости, ранний отсев
- Компиляция: возможность сборки на уровне синтаксиса и интерфейсов. Самая низкая стоимость и самый быстрый отсев — сразу отсекает явно несостоятельные изменения.
- Тестирование: прохождение модульных и интеграционных тестов, покрывающих существующие контракты.
- Проверка поведения: семантическая и поведенческая согласованность, включая числовые допуски, эквивалентность и регрессионное сравнение — специально для предотвращения «тесты пройдены, но поведение изменилось».
- Верхнеуровневая приёмка: окончательное решение с учётом целей задачи и инженерных ограничений, включая оценку производительности, ускорения, сопровождаемости и т. д.
Шлюзы упорядочены по стоимости от низкой к высокой, что позволяет отсеивать подавляющее большинство неэффективных изменений на дешёвых этапах и оставлять дорогостоящую верхнеуровневую экспертизу лишь для небольшого числа качественных кандидатов — в этом и заключается экономика «раннего отсева».
Ценность отклонения и наследование истории
Неудачные попытки не попадают в основную ветвь, но могут сохраняться какархив неудач / негативные примерыдля диагностики, дедупликации и предотвращения повторного исследования тупиков — само отклонение является фильтрацией шума. Изменения, прошедшие приёмку, становятся новойбазовой версией, и последующие исполнители продолжают эволюцию на её основе, формируя монотонно накапливаемую цепочку эволюции, а не начиная каждый раз с нуля. Как правило слияния и контракт качества для многоагентного сотрудничества и рекурсивной декомпозиции задач, шлюз приёмки определяет, «кто может записывать в историю», тем самым определяя, будет ли результат сотрудничества сходиться или нарастать энтропийно. В сценариях с жёсткими требованиями к корректности — таких как рефакторинг компиляторов и модернизация научного ПО — этот механизм демонстрирует исключительную надёжность и обеспечивает значительное ускорение выполнения.
