TL;DR
Исследование показывает: если дать модели образцы «как здесь принято» (примеры, историю чата, прошлые ответы), она копирует всё подряд. Настоящее правило сообщества и случайные причуды отдельных авторов для неё сливаются в один паттерн. Это называется over-imitation (сверхподражание). Чем лучше модель следует настоящему правилу, тем больше она копирует и лишнее.
Вторая находка: просто память не учит неявным правилам. Агент, который видит историю прошлых взаимодействий, но не получает инструкции «найди скрытое правило», почти не выучивает его. Даже если за соблюдение правила полагается награда (доступ к рассуждениям других агентов). Если же добавить отдельный шаг «выведи правило из примеров, потом отредактируй ответ», результат заметно растёт.
Третья находка: даже когда модель правильно сформулировала правило словами, она всё равно тащит в ответ посторонние привычки. Явный штраф за ненужное копирование это не лечит. Авторы называют разрыв так: модели отлично подражают поведению, но не понимают, что из увиденного обязательно, а что случайно.
Схема метода
Исследователи проверяли четыре «нормативных модуля». Это дополнительные шаги, которые стоят между черновиком ответа и финальным ответом:
БАЗА (без модуля): память о прошлых дебатах → ответ
↓ почти не учится правилу
ШАГ 1 (Direct Edit): черновик + транскрипты других → «перепиши в их стиле»
ШАГ 2 (Infer + Edit): [а] из транскриптов выведи правило → [б] отредактируй черновик по правилу
ШАГ 3 (Contrastive): примеры «приняли» + примеры «отклонили» → в чём разница? → гипотеза правила → правка
ШАГ 4 (Theory of Mind): гипотеза о том, что знает каждый участник + что знаю я → самокритика → обновлённое правило → правка
Модуль может вызывать другую, более сильную модель. Шаги выполняются отдельными запросами.
Пример применения
Метод сильнее всего там, где правило неявное, а обратная связь молчаливая: никто не объясняет, что не так. Это знакомо по русским реалиям. В закрытом Telegram-клубе основателей модераторы молча удаляют одни посты, а другие собирают ответы. Никто не пишет правил.
Задача: Вы ведёте SMM для стартапа и хотите публиковаться в чате «Клуб основателей» так, чтобы посты не удаляли. Правил в закреплённом сообщении нет. Есть 6 постов, которые «зашли», и 4 удалённых. Все 6 принятых постов написаны одним человеком, у него ещё и привычка писать без заглавных. Её копировать не нужно.
Промпт:
Ты помогаешь мне опубликовать пост в закрытом Telegram-чате «Клуб основателей».
Правил в чате нет. Модераторы молча удаляют одни посты и оставляют другие.
ПРИНЯТЫЕ ПОСТЫ (получили ответы):
1. {пост_1}
2. {пост_2}
...
УДАЛЁННЫЕ ПОСТЫ:
1. {удалённый_1}
2. {удалённый_2}
...
Мой черновик:
{черновик}
Сделай в два этапа.
ЭТАП 1. Сравни принятые и удалённые посты. Выпиши признаки, которые есть у принятых
и отсутствуют у удалённых. Сформулируй гипотезу правила одним-двумя предложениями.
ЭТАП 2. Перепиши мой черновик так, чтобы он соответствовал выведенному правилу.
Покажи финальный текст.
Результат: Модель сначала выдаст список различий между двумя группами постов и формулировку гипотезы правила. Затем покажет переписанный пост. Вероятно, в гипотезу попадёт и случайная привычка того автора, например «без заглавных». Это ровно та слабость, которую нашли авторы. Поэтому гипотезу нужно проверить глазами, см. блок адаптации ниже.
Почему это работает
Слабость. Модель по умолчанию лучше всего делает одно: продолжает паттерн. Видя 10 удачных ответов, она воспроизводит их общую «манеру». Она не задаёт вопрос «за что именно это приняли?». История без инструкции «найди правило» остаётся просто контекстом.
Сильная сторона. Если явно попросить сравнить «приняли» и «отклонили» и сформулировать разницу, модель делает это неплохо. Контраст в примерах сужает поиск: видно не только «как делают», но и «как не надо». Авторы отмечают, что модули, которые смотрят на санкции (Contrastive, ToM), копируют лишнее чуть меньше.
Как метод обходит слабость. Он разводит два действия: сначала вывести правило, потом применить его. Но это лечит не всё. Модель всё равно смешивает норму с шумом, поэтому финальную гипотезу должен проверять человек.
Рычаги управления: - Число примеров. Больше «принятых» от разных авторов, и случайные привычки одного человека перестанут выглядеть правилом. - Отрицательные примеры. Добавь отклонённые, и модель увидит границу. - Разделение этапов. Пусть этап 1 отдаст гипотезу тебе на проверку, а этап 2 запускай отдельным сообщением. - Сильная модель для вывода правила. Авторы показали, что результат сильно зависит от модели в модуле.
Шаблон промпта
Полные тексты промптов модулей авторы вынесли в приложение (§A.7), в предоставленном тексте их нет. Ниже реконструкция по описанию: Infer + Edit с контрастными примерами.
Ты — модуль выявления неписаных правил сообщества.
Сообщество: {описание_сообщества}
Санкция за нарушение: {что_происходит_при_нарушении}
{примеры_принятого}
{примеры_отклонённого}
{мой_черновик}
Stage_1_Infer:
- Сравни PositiveExamples и NegativeExamples.
- Выпиши признаки, которые есть у положительных и отсутствуют у отрицательных.
- Сформулируй гипотезу правила: {число_предложений} предложения.
Stage_2_Edit:
- Перепиши Draft так, чтобы он соответствовал гипотезе.
- Верни финальный текст.
Что подставлять: {описание_сообщества} — где публикуетесь; {что_происходит_при_нарушении} — как проявляется санкция (удаление, молчание, бан); примеры — реальные посты или ответы; {число_предложений} — 1–2.
🚀 Быстрый старт — вставь в чат:
Вот шаблон «вывод неписаного правила и правка по нему». Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, где вы публикуетесь, какие у вас есть примеры «принятого» и «отклонённого» и как проявляется санкция. Эти данные нужны, чтобы модель могла сравнить две группы и вывести правило. Остальное она возьмёт из паттерна шаблона.
Ограничения
⚠️ Модель копирует шум: даже с отдельным шагом вывода правила модель включает в гипотезу случайные привычки отдельных авторов. Явный штраф за ненужное подражание не помогает, как утверждают авторы.
⚠️ Нестабильность: результат сильно зависит от типа правила и от модели, которая стоит в модуле. Одни виды правил (вставить символ, заменить слово) модель ловит лучше, другие (структура текста, длина, риторические приёмы) хуже.
⚠️ Синтетические правила: авторы проверяли «глупые» правила (замена слова на выдуманное, смайлик в тексте). Настоящие нормы живых сообществ сложнее и размытее, перенос выводов на них не проверен.
⚠️ Слабая модель-новичок: в основных экспериментах «новичком» была небольшая модель, а сильные модели стояли в роли других агентов. Как поведут себя современные флагманы в роли новичка, показано только частично.
⚠️ Нет проверенного лекарства: авторы показали проблему, но способ её решить не предложили. «Явно пиши правила и отделяй их от примеров» — разумный совет, но в статье он не проверен.
Как исследовали
Авторы построили искусственное «сообщество» из LLM-агентов, которые вместе решают сложные вопросы MMLU-Pro. Двое «старожилов» (GPT-5-nano) делятся рассуждениями только с теми, кто соблюдает скрытое правило. Остальным они отвечают «No response.». Это имитация молчаливой санкции. Новичок (Gemma-3 4B) не знает правила. Выгода от его выучивания измерима: с рассуждениями старожилов он отвечает точнее.
Правил придумали 48. Они взяты из IFEval («напиши больше 400 слов», «поставь смайлик») и из «псевдословных» (замени «because» на «brimble»). Они намеренно глупые, чтобы модель не могла «вспомнить» их из обучения. Сравнивали базу «только память» с четырьмя нормативными модулями на нескольких моделях (GPT-5-nano, Qwen 3 8B и 32B, Gemma 4 31B, Claude Sonnet).
Главный результат: база без модуля почти не учится. Точность не поднимается выше 0.3, даже на флагманской модели. Чем лучше агент следует правилу, тем выше точность (корреляция 0.89 по 17 конфигурациям). Значит, стимул выучить правило реальный.
Затем добавили «шум»: старожилы стали иногда писать строчными буквами или ставить восклицательные знаки. Это личные привычки, за них не наказывают. Хороший ученик должен выучить только настоящее правило. Вместо этого чем лучше модель следует правилу, тем сильнее копирует шум (корреляция около 0.76). Часто шум копируется чаще, чем само правило. Даже когда в выведенном описании настоящее правило названо верно, шум в описание всё равно попадает. Дети в похожих экспериментах копируют избирательно, учитывая контекст, а модели нет.
Адаптации и экстраполяции
🔧 Техника: добавить этап очистки гипотезы → меньше шума
После этапа 1 добавь проверку: «Для каждого признака из гипотезы укажи, сколько разных авторов его используют. Если один автор — пометь как личную привычку и исключи из правила». Это моя адаптация, в статье она не проверялась. Идея в том, чтобы дать модели явный критерий отличия нормы от шума: правило присуще группе, привычка — человеку.
🔧 Техника: убрать роль «сообщества» и просить разделить признаки на три группы
Попроси модель разделить признаки на «обязательные для всех», «встречаются у части авторов», «личная привычка одного». Правку делай только по первой группе.
Экстраполяция: файл инструкций агента. Если ты даёшь Claude Code или Cursor «образцовые файлы», чтобы он писал код «как у нас», добавь в CLAUDE.md пометку: «Обязательно: A, B. Случайно в примерах: C, D — не копируй». Статья показывает, что без такой пометки агент перенесёт и случайное.
Ресурсы
- Reading the Room: Foundations, Design, and Challenges of Normative Competence in LLMs — Andrea Wynn, Harsh Satija, Seokhyun (Nathan) Baek, Anqi Liu, Eric Nalisnick, Gillian K. Hadfield. Johns Hopkins University, Vector Institute. Сайт первого автора: andreawynn.github.io.
- Использованные основы: multi-agent debate (Du et al., 2023), IFEval (Zhou et al., 2023), MMLU-Pro (Wang et al., 2024b), Dynamic Cheatsheet (Suzgun et al., 2025), Hypothesis Search (Wang et al., 2024a), contrastive chain-of-thought (Chia et al., 2023).
- Полные тексты промптов модулей — в приложениях A.7 и A.9 статьи (в предоставленном фрагменте не вошли).
