Source Independence

Число подтверждений — верхняя граница уверенности, а не её оценка. Пять документов, пересказывающих один пресс-релиз, дают одно подтверждение; три модели одного семейства, согласившиеся между собой, — один голос.

Суть

Уверенность обычно считают счётом: сколько раз утверждение встретилось. Счёт предполагает, что встречи независимы, — и почти никогда этого не проверяет.

Три места в агентной системе, где предположение ломается одинаково:

Где Что считают Почему это один источник
Ранжирование в RAG сколько документов подтверждают ответ новостная лента, агрегатор и блог могут пересказывать один пресс-релиз
Жюри моделей (LLM as Judge) сколько судей проголосовало «за» модели одного семейства делят обучающие данные и ошибаются согласованно
Провенанс заметки сколько разных источников у утверждения один из них мог прочитать другого, а не первоисточник

Во всех трёх случаях согласие выглядит одинаково независимо от того, настоящее оно или отражённое.

Пересказ не становится вторым подтверждением

Знание, пришедшее через посредника — другую сессию, чужой конспект, вторую базу, — остаётся одним источником, у которого теперь две копии. Посредник может честно назвать первоисточник, но назвать не то же, что прочитать вторыми глазами: ошибка первоисточника переносится целиком, а Paraphrase Drift добавляет к ней собственный сдвиг.

Опасность не в самой передаче — она полезна и дешевле, чем читать всё самому. Опасность в обратном ходе: если завтра взять формулировку из чужой копии как подтверждение своей, получится подтверждение самого себя через посредника, и выглядеть оно будет как согласие двух независимых баз.

Добросовестная атрибуция ухудшает метрику

Самое неприятное следствие касается не данных, а того, кто их размечает.

Любая метрика, считающая источники по количеству, а не по независимости, ломается ровно на честной атрибуции. Чем аккуратнее записано происхождение — посредник отдельной строкой, — тем больше строк насчитает счётчик и тем выше выйдет подтверждённость. Умолчание её улучшает, аккуратность ухудшает.

Это делает дефект самоподдерживающимся: тот, кто пишет провенанс честно, выглядит хуже того, кто его не пишет, и получает стимул перестать.

Лечится не счётчиком, а классификацией строки происхождения до подсчёта: прочитан первоисточник, пересказан посредником, получен собственным сопоставлением. В подтверждённость идёт только первое. Классификатор при этом ошибается на пограничных формулировках, поэтому спорные строки должны печататься поимённо, а не растворяться в числе: ошибка разметки чинится переписыванием строки, а спрятанная в агрегате — ничем.

Внешний вызов — ещё не независимый рецензент

Тот же счёт ломается на рецензии. Отправить черновик решения «другой модели» выглядит как получение второго мнения, но независимость здесь разрушается двумя способами сразу, и оба невидимы в отчёте.

Первый — общий провайдер. Вызов наружу не гарантирует смены семейства: обвязка, сама работающая на модели того же вендора, получает в ответ голос из того же обучающего корпуса. Лечится это не механикой, а обязанностью назвать отношение честно — тремя различимыми состояниями, а не одним словом «внешняя рецензия»:

Хост Рецензент Как называется в отчёте
вендор A вендор B рецензия другого провайдера
вендор A вендор A рецензия того же провайдера
не определён любой отношение провайдеров не установлено

Третья строка нужна не для полноты: «не установлено» — честный исход, и он информативнее, чем догадка в любую сторону.

Второй способ тоньше — общий контекст. Рецензент, унаследовавший правила проекта, умения, инструменты и конфигурацию пользователя, читает черновик теми же глазами, которыми тот писался, даже будучи моделью другого вендора. Поэтому независимость рецензии обеспечивается вычитанием: пустой временный каталог вместо рабочего, отказ от пользовательской конфигурации и правил проекта, отключённые инструменты и поиск, подавленные инструкции умений, разовая сессия без наследования окружения. Изоляция здесь не про безопасность, а про то, чтобы второе мнение было вторым.

Дословная цитата вместо пересказа. Критика, прошедшая через того, кого критикуют, смягчается — это тот же сдвиг посредника, что и выше по заметке, только в один шаг и внутри одного отчёта. Поэтому текст рецензии приводится дословно, а расхождение с черновиком называется отдельной строкой, а не растворяется в сводке.

Отсутствующая рецензия записывается отсутствующей. Рецензент недоступен, не прошёл проверку версии, не уложился в срок, вернул пустоту — исход называется «рецензии не было» с причиной. Молча подставить другую модель или продолжить так, будто рецензия состоялась, — та же подстановка неизвестного значением, что описана в Unknown Not A Value; строка отчёта «рецензия изменила решение» имеет три состояния, а не два.

Как проверить независимость на практике

Вопрос ставится не «сколько источников», а «что должно было бы произойти, чтобы они ошиблись вместе». Если ответ находится легко — общий первоисточник, общий обучающий корпус, общий автор, общий агрегатор, — источники зависимы.

  • RAG: дедуплицировать не по тексту, а по происхождению — домен, автор, дата первой публикации. Совпадающие абзацы в разных доменах это признак перепечатки, а не согласия.
  • Жюри: брать модели разных вендоров, а не разные температуры одной. Согласие моделей одного семейства измеряет общность обучающих данных.

Эта строка — не только рассуждение: замер её подтверждает и переворачивает привычный выбор. Коллегия из нескольких меньших моделей непересекающихся семейств обходит одного большого судью по согласию с человеческой разметкой, и причина названа прямо — у одиночного судьи есть внутримодельное смещение, которое разнородность коллегии снимает. Побочный результат делает вывод практичным: такая коллегия выходит более чем всемеро дешевле одиночного крупного судьи, то есть независимость здесь не покупается доплатой, а экономит.

  • База знаний: источник, пришедший через посредника, помечать как требующий переподтверждения по первоисточнику, а не засчитывать вторым.
  • Рецензент: проверять и провайдера, и унаследованный контекст. Рецензия, выполненная с теми же правилами проекта и теми же умениями, — это второй прогон, а не второе мнение.

Последний пункт подтверждается наблюдением с другой стороны — не из оценки текстов, а из разработки. Проверяющий, запущенный отдельной несвязанной сессией, находил расхождения реализации со спецификацией практически на каждом шаге — те самые, которых не видела сессия-исполнитель, — и выигрывал по числу итераций до готовности. Механизм ровно тот, что описан выше: исполнитель уже знает, почему сделал так, и это знание работает как общий контекст, из-за которого вторая проверка перестаёт быть второй. Независимость здесь восстанавливается вычитанием: у проверяющего нет истории решений, и потому ему нечем себя убедить.

Связано с

  • Agent First Repository — независимое совпадение с устройством этой базы, разобранное как случай
  • LLM as Judge — жюри моделей как самый частый случай мнимой независимости голосов
  • Paraphrase Drift — что происходит с утверждением, пока оно идёт через посредника
  • RAG Metrics — почему покрытие источниками само по себе не измеряет обоснованность ответа
  • Overreliance — что делает потребитель, приняв мнимое согласие за проверенный факт
  • Open Knowledge Format — внешняя спецификация, пришедшая к тому же выводу: формат записывает сигналы, а не оценки
  • Unknown Not A Value — несостоявшаяся рецензия как отдельное значение отчёта, а не пропуск строки
  • Generator Evaluator — пара «генератор и критик», для которой этот разбор задаёт условие пригодности критика