Мульти-агентная редакционная система: практическое руководство
---
Стратегия решения
Диагноз задачи. Вы проектируете систему из трёх специализированных агентов — редактора, фактчекера и редакционного директора — которые должны работать как единый редакционный процесс, а не три независимых запроса. Здесь три подзадачи: (1) правильно разграничить роли так, чтобы агенты не дублировали друг друга и не смешивались в одну «кашу», (2) выстроить протокол передачи задач с явными точками контроля, (3) создать механизм разрешения конфликтов, который не сводится к «побеждает большинство».
Карта методов. Для разграничения ролей и структуры дебатов подходит SAG (Small Agent Group) — он даёт чёткую архитектуру: кто генерирует, кто проверяет факты, кто ловит риски, кто выносит вердикт. Для разрешения конфликтов между агентами, когда они расходятся во мнениях, нужен AgentAuditor — он учит не считать голоса, а сравнивать силу аргументов в точке расхождения. Для выявления «правого» агента в спорных ситуациях — AceMAD: тот, кто точно предсказал позицию коллег до их ответа, понимает задачу глубже. Для итеративного улучшения текста между раундами — VQQA: диагностические вопросы вместо размытого «улучши».
Синергия. Сначала SAG задаёт архитектуру ролей и раундов — это создаёт скелет системы. Затем AgentAuditor встраивается в точки конфликта между агентами: вместо голосования строит дерево рассуждений и сравнивает аргументы локально. Поверх этого AceMAD добавляет механизм взвешивания: агент, который точнее предсказал позицию коллег, получает больший вес при финальном решении. VQQA работает между раундами — как инструмент редактора для точечных правок без «расползания» изменений.
Чего ожидать. По данным исследований: SAG убирает до 70% галлюцинаций через взаимную критику; AgentAuditor восстанавливает 65–82% правильных ответов в случаях, когда большинство ошиблось; AceMAD даёт +20 процентных пунктов точности над стандартными дебатами на спорных вопросах. Вместе — система, где конфликты разрешаются через доказательства, а не через консенсус.
---
Вопрос 1: Как разграничить роли трёх агентов, чтобы они не дублировали друг друга?
Архитектура ролей с узкой ответственностью (SAG)
Механика. SAG строится на принципе: каждый агент делает одно, но делает это хорошо. Когда одна модель пытается одновременно редактировать, проверять факты и принимать редакционные решения — она когнитивно перегружена и пропускает ошибки. Разделение ролей снимает эту нагрузку: редактор думает только о тексте, фактчекер — только о достоверности, директор — только о редакционной стратегии. Взаимная критика во втором раунде создаёт принудительную проверку: выдуманный факт не выживает под вопросом фактчекера.
Как применять к вашей задаче:
- Редактор — зона ответственности: структура, логика, стиль, читаемость. Не проверяет факты, не принимает стратегических решений. Его задача — сделать текст ясным и убедительным.
- Фактчекер — зона ответственности: достоверность утверждений, источники, внутренние противоречия, некорректные обобщения. Не редактирует стиль, не решает публиковать или нет.
- Редакционный директор — зона ответственности: соответствие редакционной политике, приоритеты публикации, разрешение конфликтов между редактором и фактчекером, финальный вердикт. Не правит текст напрямую.
Критическое правило: роли НЕ должны перекрываться. Если редактор начинает проверять факты — система теряет смысл. Явно запретите каждому агенту заходить на чужую территорию.
Схема промпта:
Ты — [РОЛЬ] в редакционной системе из трёх агентов.
Твоя и ТОЛЬКО твоя зона ответственности:
[Редактор]: структура, логика, стиль, читаемость
[Фактчекер]: достоверность утверждений, источники, противоречия
[Директор]: редакционная стратегия, разрешение конфликтов, финальный вердикт
ЗАПРЕЩЕНО: заходить в зону другого агента.
ЗАПРЕЩЕНО: давать общую оценку "текст хороший/плохой".
Твой вывод — только по своей зоне. Формат:
[РОЛЬ]: [конкретные наблюдения]
Вопрос к [другому агенту]: [если нужна их экспертиза]
Почему это работает: исследование SAG показало, что узкая роль = модель не пытается делать всё сразу. Взаимная критика убирает до 70% галлюцинаций — выдуманный факт разваливается под проверкой фактчекера во втором раунде.
---
Вопрос 2: Как выстроить протокол передачи задач между агентами?
Протокол с раундами и явными точками контроля (SAG + VQQA)
Механика. Передача задач без структуры — главная причина, по которой мульти-агентные системы «расплываются». Агент получает текст, что-то делает, передаёт дальше — и к третьему агенту уже непонятно, что было исправлено, а что нет. Протокол с явными раундами и фиксированным форматом передачи решает это: каждый агент получает не просто текст, а текст + лог предыдущих решений + конкретный вопрос к нему.
Протокол из четырёх раундов:
Раунд 0 — Инициализация (Редакционный директор)
Директор получает исходный текст и задаёт параметры задачи: для кого, зачем, какие редакционные приоритеты, какие ограничения. Это контекст, который все агенты получают в начале и не теряют.
Раунд 1 — Независимый анализ (Редактор + Фактчекер параллельно)
Оба агента работают с исходным текстом независимо — не видят выводов друг друга. Редактор фиксирует структурные и стилистические проблемы. Фактчекер фиксирует фактические риски. Формат вывода: список наблюдений + оценка критичности каждого (высокая/средняя/низкая).
Раунд 2 — Взаимная критика
Редактор читает выводы фактчекера и отвечает: «Это фактическое замечание влияет на структуру текста так-то». Фактчекер читает правки редактора и отвечает: «После этой правки утверждение X стало некорректным». Каждый агент видит полный лог предыдущего раунда.
Раунд 3 — Диагностика и правка (VQQA)
Редактор применяет диагностический цикл: не «улучши всё», а конкретные вопросы по низким оценкам. Фактчекер подтверждает, что правки не создали новых фактических проблем.
Раунд 4 — Вердикт (Редакционный директор)
Директор получает: исходный текст + итоговый текст + лог всех раундов + список неразрешённых разногласий. Выносит вердикт: публиковать / доработать / отклонить + обоснование.
Схема промпта для передачи задачи:
КОНТЕКСТ ЗАДАЧИ (от Директора, Раунд 0):
Текст: [вставить]
Аудитория: [кто читает]
Редакционные приоритеты: [что важно]
Ограничения: [что нельзя]
ЛОГ ПРЕДЫДУЩИХ РАУНДОВ:
[Раунд 1 — Редактор]: [наблюдения]
[Раунд 1 — Фактчекер]: [наблюдения]
[Раунд 2 — Взаимная критика]: [обмен]
ТВОЯ ЗАДАЧА (Раунд [N]):
Роль: [Редактор / Фактчекер / Директор]
Вопрос к тебе: [конкретный вопрос]
Формат ответа: [список / вердикт / правки]
---
Вопрос 3: Как разрешать конфликты между агентами?
Аудит в точках расхождения, а не голосование (AgentAuditor)
Механика. Когда редактор говорит «этот абзац нужно переписать», а фактчекер говорит «этот абзац точен и его нельзя трогать» — голосование бессмысленно: у вас два агента, и ничья. AgentAuditor предлагает другой подход: не считать голоса, а построить дерево рассуждений и сравнить аргументы в точке расхождения. Кто обоснован сильнее — тот и прав, независимо от того, сколько агентов его поддерживает.
Как применять к вашей задаче:
- Зафиксируй точку расхождения. Директор формулирует: «Редактор предлагает X, Фактчекер возражает Y. Точка конфликта: [конкретный элемент текста]».
- Построй локальный контекст. Что общего у обоих агентов до точки расхождения (shared prefix)? Что именно они предлагают после неё (branch evidence)?
- Аудит ветвей по критериям:
- Фактическая точность: чья позиция опирается на проверяемые данные?
- Логическая связность: чей вывод следует из предпосылок?
- Соответствие редакционным приоритетам (из Раунда 0): чья позиция ближе к заявленным целям?
- Правило: Evidence over popularity. Если фактчекер обоснован сильнее — его позиция побеждает, даже если редактор и директор склонялись к другому.
Схема промпта для разрешения конфликта:
КОНФЛИКТ МЕЖДУ АГЕНТАМИ:
Точка расхождения: [конкретный элемент — абзац, утверждение, правка]
Shared prefix (что общего до конфликта):
[что оба агента признают верным]
Позиция Редактора:
Аргумент: [1-2 предложения]
Основание: [структура / стиль / читаемость]
Позиция Фактчекера:
Аргумент: [1-2 предложения]
Основание: [источник / данные / логика]
АУДИТ:
- Чья позиция фактически точнее?
- Чья логика связнее?
- Чья позиция ближе к редакционным приоритетам: [приоритеты из Раунда 0]?
ПРАВИЛО: игнорируй кто "главнее" — смотри только на силу аргументов.
ВЕРДИКТ: [победившая позиция] + [почему именно она]
---
Вопрос 4: Как определить, чьей позиции доверять больше в спорных случаях?
Взвешивание через предсказание позиций (AceMAD)
Механика. Стандартная проблема мульти-агентных систем: все три агента могут ошибиться одинаково, потому что порождены одной моделью с одними предубеждениями. AceMAD решает это через мета-когнитивный тест: перед тем как агенты читают выводы друг друга, каждый предсказывает, что скажут коллеги. Тот, кто точно предсказал разногласие — реально понял задачу. Тот, кто ожидал согласия и не получил его — демонстрирует слабую позицию. Это не красноречие решает, а точность прогноза.
Как применять к вашей задаче:
- Перед Раундом 2 (взаимная критика) добавь шаг: каждый агент пишет прогноз — что скажет другой агент о тексте. Прогнозы пишутся до чтения чужих выводов.
- После Раунда 2 директор сравнивает прогнозы с реальными позициями:
- Редактор ожидал, что фактчекер скажет X — фактчекер сказал X? Высокая точность.
- Фактчекер ожидал согласия редактора — редактор возразил? Низкая точность.
- Взвешивание при конфликте:
- Высокая точность прогноза → вес ×3
- Средняя → вес ×1.5
- Низкая → вес ×1
- Применяй только к спорным случаям — там, где аудит по AgentAuditor не дал однозначного ответа.
Схема промпта (шаг предсказания):
ДО чтения выводов другого агента — напиши прогноз:
Я ([Редактор / Фактчекер]) ожидаю, что [другой агент] скажет:
"[конкретная позиция]"
Потому что: [1-2 предложения — почему ты так думаешь]
[После чтения реальных выводов]
Мой прогноз совпал / не совпал потому что: [анализ]
---
Полный промпт для самого важного метода — Протокол редакционной системы
Это интегрированный промпт, который запускает всю систему за один сеанс:
Ты — редакционная система из трёх агентов. Работай последовательно,
строго соблюдая роли и раунды.
═══════════════════════════════════════
ТЕКСТ ДЛЯ РЕДАКТУРЫ:
[вставить текст]
РЕДАКЦИОННЫЙ КОНТЕКСТ:
Аудитория: [кто читает — например, профессионалы в области X]
Цель публикации: [информировать / убедить / обучить]
Приоритеты: [точность / читаемость / краткость — выбери 1-2]
Ограничения: [что нельзя менять — например, фирменный стиль]
═══════════════════════════════════════
РАУНД 0 — РЕДАКЦИОННЫЙ ДИРЕКТОР: Параметры задачи
Прочитай контекст выше. Сформулируй:
- Главный критерий успеха для этого текста (одно предложение)
- Что НЕ подлежит изменению (список)
- Приоритет при конфликте редактора и фактчекера:
□ Точность важнее читаемости
□ Читаемость важнее точности
□ Решать по ситуации
═══════════════════════════════════════
РАУНД 1 — НЕЗАВИСИМЫЙ АНАЛИЗ
РЕДАКТОР (только структура, логика, стиль — не проверяй факты):
Проверь по каждому пункту:
- Структура: есть ли логическая последовательность? Где теряется нить?
- Стиль: соответствует ли аудитории? Где язык слишком сложный / простой?
- Читаемость: где читатель споткнётся?
- Убедительность: где аргумент слабый?
Формат: [Проблема] → [Критичность: высокая/средняя/низкая] → [Конкретное место в тексте]
ФАКТЧЕКЕР (только достоверность — не редактируй стиль):
Проверь по каждому пункту:
- Утверждения: какие требуют источника и его нет?
- Противоречия: есть ли внутренние несоответствия?
- Обобщения: где "всегда", "никогда", "все" — некорректны?
- Цифры и даты: есть ли подозрительные данные?
Формат: [Утверждение] → [Риск: высокий/средний/низкий] → [Что именно вызывает вопрос]
═══════════════════════════════════════
РАУНД 1.5 — ПРОГНОЗЫ (до чтения выводов друг друга)
РЕДАКТОР — напиши прогноз:
"Я ожидаю, что Фактчекер скажет: [конкретная позиция], потому что..."
ФАКТЧЕКЕР — напиши прогноз:
"Я ожидаю, что Редактор скажет: [конкретная позиция], потому что..."
═══════════════════════════════════════
РАУНД 2 — ВЗАИМНАЯ КРИТИКА
Теперь агенты читают выводы друг друга.
РЕДАКТОР отвечает Фактчекеру:
- Какое фактическое замечание влияет на структуру текста?
- Где правка ради точности сломает читаемость?
- Мой прогноз совпал / не совпал: [анализ]
ФАКТЧЕКЕР отвечает Редактору:
- Какая стилистическая правка создаст фактическую проблему?
- Где редакторское упрощение исказит смысл?
- Мой прогноз совпал / не совпал: [анализ]
═══════════════════════════════════════
РАУНД 3 — ДИАГНОСТИКА И ПРАВКА (Редактор)
Возьми только замечания с критичностью "высокая" из Раундов 1-2.
Для каждого:
Вопрос: [конкретный измеримый вопрос — "есть ли в абзаце X конкретный пример?"]
Оценка: [0-100]
Что не так: [если ниже 75]
Перепиши только проблемные места. Не трогай то, что получило оценку выше 80.
Покажи: [было] → [стало]
Фактчекер подтверждает: правки не создали новых фактических проблем?
[Да / Нет + что именно]
═══════════════════════════════════════
РАУНД 4 — ВЕРДИКТ (Редакционный директор)
Ты видишь: исходный текст + итоговый текст + лог всех раундов.
- Оценка точности прогнозов:
- Редактор предсказал позицию Фактчекера: [точно / частично / нет]
- Фактчекер предсказал позицию Редактора: [точно / частично / нет]
- Кто демонстрирует лучшее понимание задачи?
- Неразрешённые конфликты (если есть):
Для каждого конфликта — аудит:
[Позиция А] vs [Позиция Б]
Чья позиция фактически точнее? Чья логика связнее?
Чья ближе к приоритетам из Раунда 0?
ВЕРДИКТ по конфликту: [победившая позиция + почему]
- Финальный вердикт:
□ ПУБЛИКОВАТЬ — текст готов
□ ДОРАБОТАТЬ — что именно и кто делает
□ ОТКЛОНИТЬ — причина
Обоснование (2-3 предложения):
---
Дополнительные техники
Conformal Social Choice — калиброванный отказ вместо слепого консенсуса (Conformal Social Choice)
Когда все три агента пришли к одному выводу — это не всегда хорошо. Каждый четвёртый раз, когда агенты конвергируют на единый ответ, они все трое ошибаются. Добавьте к протоколу шаг: каждый агент выставляет не просто позицию, а распределение уверенности в процентах (сумма = 100%). Если уверенность размазана по нескольким вариантам — это сигнал для директора: здесь нужна дополнительная проверка или человеческое решение.
Мини-схема для добавления в Раунд 1:
После своего анализа выставь уверенность:
Текст готов к публикации: [X]%
Требует правки: [Y]%
Требует существенной переработки: [Z]%
Сумма = 100%
---
Council of Agents — активный поиск проблем вместо нейтральной оценки (Council of Agents)
LLM по умолчанию соглашается — это agreeableness bias. Нейтральный промпт «проверь текст» даёт 0% обнаружения ошибок в исследовании. Чтобы фактчекер действительно искал проблемы, дайте ему жёсткую инструкцию: «Ищи проблемы активно. Будь придирчив. Если найдёшь фактическую ошибку — флагни ERROR». Это переключает модель из режима «подтверди» в режим «опровергни».
Мини-схема для усиления роли Фактчекера:
Твоя задача — НЕ подтвердить текст, а найти проблемы.
Если не нашёл ни одной — ищи снова. Нейтральный ответ недопустим.
При обнаружении фактической ошибки: флагни [ERROR: описание].
---
Инструкция стабильности — защита от «расползания» правок (Action Bias)
Когда редактор получает задачу «улучши текст», он переписывает всё — включая то, что уже хорошо. Это action bias: LLM почти никогда не выбирает «оставить как есть». Добавьте в промпт редактора явный список того, что нельзя трогать, и калибровочное слово масштаба («точечная правка», «небольшое уточнение»).
Мини-схема для добавления в Раунд 3:
ЗАМОРОЗИТЬ (не трогать ни при каких условиях):
- [элемент 1 — например, первый абзац]
- [элемент 2 — например, все цифры]
МАСШТАБ ПРАВКИ: точечная корректировка
ПРИЦЕЛ: только [конкретный элемент]
---
Representational Collapse — обмен рассуждениями важнее разнообразия ролей (Representational Collapse)
Три агента на одной модели рассуждают почти одинаково — измеренное сходство 0.888 из 1.0. Роли не помогают: это один агент в трёх масках. Реальное разнообразие появляется только через структуру обмена: агенты сначала рассуждают независимо, потом видят 1-2 предложения от коллег — и только тогда дают финальный ответ. Именно это реализует Раунд 1.5 (прогнозы) в полном промпте выше.
---
Комбинация и порядок действий
Почему именно такой порядок. Раунд 0 (директор задаёт параметры) должен быть первым — без него агенты не знают, что считать успехом, и оптимизируют разное. Раунд 1 (независимый анализ) идёт до взаимной критики — иначе агенты подстраиваются под чужую позицию ещё до формирования своей (это и есть representational collapse из исследования). Прогнозы (Раунд 1.5) пишутся строго до чтения чужих выводов — иначе теряется весь смысл механизма взвешивания AceMAD.
Какой метод первым. SAG создаёт скелет: роли, раунды, формат передачи. Без него остальные методы не к чему прикрепить.
Что усиливает друг друга. AgentAuditor + AceMAD — синергетическая пара для разрешения конфликтов: AgentAuditor говорит «чья позиция обоснована сильнее в точке расхождения», AceMAD говорит «кому доверять больше системно». Вместе они закрывают два разных типа конфликтов: локальный (конкретный спор) и системный (кто вообще лучше понимает задачу).
Что работает независимо. VQQA (диагностический цикл) и инструкция стабильности из Action Bias — независимые инструменты редактора. Их можно применять отдельно от всей системы, просто для улучшения текста без мульти-агентного контекста.
Ожидаемый итог при полном применении. Система даёт три вещи, которых нет в одиночном агенте: (1) принудительную проверку фактов через специализированную роль, (2) разрешение конфликтов через доказательства, а не иерархию, (3) защиту от консенсусных ошибок через механизм взвешивания. По аналогии с данными исследований — исходя из механики методов — ожидайте существенного снижения пропущенных фактических ошибок и более обоснованных редакционных решений по сравнению с одним агентом-«универсалом».