Используйте review, а не бесконечный спор
Critic полезен, если у него есть независимый evidence и право отклонить результат по rubric. Свободный group chat часто только умножает текст и коррелированные ошибки. Паттерн producer-critic выглядит убедительно, но легко превращается в цикл взаимного согласия: reviewer должен получать immutable artifacts, acceptance criteria и результаты проверок, а не оценивать скрытый reasoning producer и не верить заявлению "тесты пройдены" без evidence.
Три режима отличаются источником доверия. Self-critique дешёв, но ошибки и предположения сильно коррелируют - тот же контекст. Independent reviewer читает task contract, artifacts и evidence в свежем контексте, а не историю убеждений исполнителя. Group chat подходит для некоторых collaboration-паттернов, но растит контекст и требует жёсткой termination. В companion-проекте review именно evidence-gated.
private review(context: AgentContext): AgentResult {
const evidenceKeys = passedEvidence(context);
const required = ["evidence/tests/result.json", "evidence/security/result.json"];
const missing = required.filter((key) => !evidenceKeys.includes(key));
if (!artifactExists(context, "release-notes/notes.md")) {
missing.push("release-notes/notes.md");
}
const passed = missing.length === 0;
const reviewEvidence: Evidence = {
name: "independent-review",
passed,
details: passed ? "All independent branches supplied evidence" : `Missing: ${missing.join(", ")}`
};
if (!passed) {
throw new Error(reviewEvidence.details);
}
return {
summary: "Independent reviewer accepted the release package",
artifacts: [{
key: "report/release.json",
content: JSON.stringify({ decision: "approve", evidence: evidenceKeys }),
expectedVersion: 0
}],
evidence: [reviewEvidence],
usage: USAGE.reviewer
};AutoGen документирует group-chat teams, где agents по очереди публикуют сообщения в общий контекст, и отдельно советует начинать с single agent для простых задач; в termination-документации условия проверяются после ответов agents - это часть паттерна, а не необязательное улучшение. Termination для review-цикла стоит задать явно: pass всех обязательных deterministic graders; максимум N revision rounds; отсутствие нового material finding; исчерпан локальный budget; escalation человеку при споре о requirement, а не ещё один opinion agent.
Не голосуйте по факту. Три агента, прочитавшие один ошибочный источник, не создают три независимых доказательства. Считайте provenance и разнообразие evidence, а не количество одинаковых выводов.
Review устроен. Но чтобы роль вообще была проверяемой, определять её надо контрактом, а не профессией.