Описание / Мотивация
Сейчас контроль качества в графе solution-lod есть только пост-фактум: роль verify (langgraph-verifier) проверяет результат против success-критериев уже после того, как implement завершил работу. Но никто не следит за исполнителями в процессе: implement-агент может уйти от задачи (drift) — раздуть скоуп, переписать лишнее, закопаться в нерелевантных файлах или заняться gold-plating — и это обнаружится только на верификации, либо не обнаружится вовсе.
Нужна роль-валидатор / надсмотрщик («стоит с хлыстом»): дешёвая модель, которая во время работы исполнителя проверяет соответствие его действий заданию и оперативно возвращает его в русло.
Предложение
Добавить новую роль (например, enforce / overseer) в SOLUTION_ROLE_CONTRACTS (src/core/solution-lod/roles.ts):
- Когда: периодически во время
implement-активаций (по триггеру — N вызовов инструмента / шагов, или по сигналу от runtime onEvent), а не после завершения.
- Что делает: сравнивает текущие действия исполнителя (последние tool-вызовы / дифф) с целью региона (
region.objective) и acceptanceCriteria; если видит дрейф — возвращает исполнителю короткое предписание вернуться к задаче (инжект в контекст или прерывание активации).
- Модель: по умолчанию дешёвая, настраивается отдельно через
models.enforce (механизм уже есть: per-role model assignment в loadConnectorDefinition / withSolutionRoleModelAssignments, src/core/config.ts:43-70).
- Верdict-схема: по аналогии с
VerificationOutputSchema (src/core/solution-lod/types.ts:185) — например onTrack | steer(reason) | abort(reason).
Открытые вопросы
- Механизм воздействия на исполнителя: инжект системного сообщения в следующий шаг vs полный рестарт активации с ужесточённым промптом.
- Частота проверок (каждый шаг — дорого; слишком редко — теряется смысл).
- Нужен ли overseer для
synthesize/inspect или только для implement.
Ожидаемый результат
- Исполнители не уходят от поставленной задачи; дрейф ловится в процессе, а не на верификации.
- Роль настраивается через конфиг (модель, лимиты), как остальные роли.
- События overseer видны в TUI graph view.
Окружение
- opencode-langgraph v0.9.0
Описание / Мотивация
Сейчас контроль качества в графе solution-lod есть только пост-фактум: роль
verify(langgraph-verifier) проверяет результат против success-критериев уже после того, какimplementзавершил работу. Но никто не следит за исполнителями в процессе: implement-агент может уйти от задачи (drift) — раздуть скоуп, переписать лишнее, закопаться в нерелевантных файлах или заняться gold-plating — и это обнаружится только на верификации, либо не обнаружится вовсе.Нужна роль-валидатор / надсмотрщик («стоит с хлыстом»): дешёвая модель, которая во время работы исполнителя проверяет соответствие его действий заданию и оперативно возвращает его в русло.
Предложение
Добавить новую роль (например,
enforce/overseer) вSOLUTION_ROLE_CONTRACTS(src/core/solution-lod/roles.ts):implement-активаций (по триггеру — N вызовов инструмента / шагов, или по сигналу от runtime onEvent), а не после завершения.region.objective) иacceptanceCriteria; если видит дрейф — возвращает исполнителю короткое предписание вернуться к задаче (инжект в контекст или прерывание активации).models.enforce(механизм уже есть: per-role model assignment вloadConnectorDefinition/withSolutionRoleModelAssignments,src/core/config.ts:43-70).VerificationOutputSchema(src/core/solution-lod/types.ts:185) — напримерonTrack | steer(reason) | abort(reason).Открытые вопросы
synthesize/inspectили только дляimplement.Ожидаемый результат
Окружение