Coroid не использует один универсальный агент. Каждый этап пути от описания до pull request обрабатывается агентом с узкой специализацией и намеренно ограниченным набором инструментов.
Эти ограничения — ключевой момент. Агент, который не может писать код, не сможет случайно написать код.
Роли
| Роль | Этап | Может изменять ваш код |
|---|---|---|
| Архитектор | Техническое задание и план | Нет |
| Разработчик | Сборка | Да |
| Отдел тестирования | Проверить | Нет |
| Рецензент | Рецензирование | Нет |
| Веб-тестировщик | Проверить, браузерные потоки | Нет |
| Исследователь | Исследования, любой этап | Нет |
| Анализатор зависимостей | Анализ | Нет |
Первые четыре роли образуют конвейер, который отображается в каждой задаче, в таком порядке:
Архитектор → Разработчик → Отдел тестирования → Рецензент
Только одна роль — разработчик — может изменять файлы в вашем репозитории. Все остальные агенты лишь читают, запускают, отчитываются или создают дополнительные задачи.
Архитектор
Преобразует ваше описание в техническое задание, а техническое задание — в план. Он анализирует кодовую базу, чтобы привязать план к реальному состоянию проекта, но не пишет код.
Его результат — это то, что вы утверждаете перед началом сборки.
Разработчик
Выполняет работу: читает соответствующий код, вносит изменения, пишет или обновляет тесты и запускает их локально в рабочем пространстве до тех пор, пока они не пройдут.
Когда Рецензент отправляет Результаты обратно, Разработчик — это роль, которая реагирует на них.
Специалист по контролю качества
Проверяет корректность независимо от агента, написавшего код — ваш набор тестов, правила качества, настроенные для проекта, и критерии приемки из спецификации.
Специалист по контролю качества предоставляет вердикт. Он не исправляет найденные ошибки; сбои возвращаются Разработчик как доработка.
Рецензент
Читает готовый дифф и формирует Результаты, применяя правила рецензирования, настроенные в вашей организации. Результаты либо отправляются разработчику на доработку, либо прикрепляются к pull request для вас.
Веб-тестировщик
Запускает реальный браузер против активной предварительной версии вашего приложения, чтобы проверить пользовательские потоки от начала до конца. Его используют там, где утверждение о поведении нельзя сделать только на основе кода.
Исследователь
Это роль для чтения данных без возможности изменений. Другие агенты используют его, чтобы получить ответы на вопросы о кодовой базе, не загружая всё в собственный контекст — «где реализована аутентификация», «что вызывает эту функцию».
Анализатор зависимостей
Анализирует зависимости и то, как изменения распространяются по кодовой базе, включая проекты с настроенными межпроектными зависимостями.
Почему важно такое разделение
Такое разделение работы обусловлено тремя свойствами:
- Проверка осуществляется независимо. Агент, проверяющий работу, не является тем же агентом, что и тот, кто её написал, поэтому он заинтересован в ином результате.
- Зона поражения ограничена. Только роль разработчика имеет инструменты для написания кода, поэтому сбой при рецензировании или анализе не может повредить ваш репозиторий.
- Каждая роль использует подходящую модель. Для планирования важна широта знаний о мире; для написания компилируемого кода требуется нечто иное. AI профиль содержит одну модель на роль именно по этой причине.
Далее
Вернуться к Как задача превращается в pull request для этапов, на которые приходятся эти роли, или Что такое Coroid для краткого обзора.