Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
ИИ-агента научили замечать, что прочитанный им файл изменился, и не выдавать старое содержимое за текущее. В нерецензированном препринте Yingying Liu, Junzhou Fang и Chenxiong Qian сами получили все числа: Concord исправил ответы во всех тестовых случаях и потратил на 46,4% меньше токенов, чем лучший вариант без доступа к эталонному состоянию. Для агентных систем это предлагает отдельный слой согласования между контекстом модели и изменяемыми источниками.
Почему повторное чтение файла не исправляет контекст
Среда исполнения обычно сохраняет результат инструмента в истории, которую передаёт модели при следующих вызовах. Это снимок источника в момент чтения, а не постоянная ссылка на его актуальное состояние.
В примере из работы агент читает настройку магазина, где порог бесплатной доставки равен 100. Затем пользователь или другой процесс снижает его до 50. Когда агента спрашивают о заказе на 60, в рабочем каталоге уже лежит новое значение, но в контексте остаётся старое — и модель отвечает неверно.
Само изменение файла ничего не говорит модели. Даже если среда позднее восстановила правильное содержимое, прежний результат инструмента продолжает выглядеть как действующий факт. Предупреждение тоже помогает не всегда: модель должна понять его, снова вызвать инструмент и предпочесть новый результат уже сформированному выводу.
Такая ошибка возникает не только с файлами. Тот же разрыв возможен для записей базы данных, статусов задач, документов и других ресурсов, которые агент получает через инструменты, а кто-то меняет параллельно.
Как Concord находит и заменяет устаревший фрагмент
Concord рассматривает результаты инструментов не как неизменяемую стенограмму, а как блоки контекста, связанные с источниками. При чтении среда регистрирует блок, идентификатор источника, его версию и диапазон данных. Обратный индекс показывает, какие фрагменты контекста зависят от изменившегося ресурса.
Адаптер среды исполнения знает, где результат инструмента хранится и как он попадает в следующий запрос к модели. Адаптер ресурса следит за изменениями и приводит пути, версии или ключи к общему виду. Благодаря этому основной диспетчер не зависит от конкретного агентного фреймворка или типа хранилища.
Когда источник меняется, Concord проверяет, затронуло ли изменение прочитанный диапазон. Это важнее простой пометки всего файла: правка одной функции не должна обесценивать фрагмент из другой части документа.
Дальше действует заданная политика. Система может перечитать источник и заменить блок, добавить предупреждение, исключить старый фрагмент из следующего запроса или потребовать явного повторного чтения. Небольшую локальную правку прототип вносит прямо в видимый модели блок; при крупном расхождении убирает его и заставляет агента запросить данные заново.
В реализации для локальных файлов версия определяется по SHA-256 содержимого, а изменения отслеживаются через apply_patch. Это не универсальный перехват: записи в обход этого инструмента потребуют уведомлений файловой системы, перехвата операций записи или периодической проверки.
Меняет ли работа архитектуру агентных систем
ConcordBench-Pioneer проверяет контролируемую гонку на 40 задачах из HotpotQA. Агент сначала читает подменённый факт из локального файла, после чего тестовая среда восстанавливает исходный текст. Эксперимент провели с Claude Sonnet 5, GLM 5.2 и DeepSeek V4 Pro в ограниченном наборе инструментов.
Concord дал правильный ответ во всех случаях и сравнялся с эталонным запуском без гонки. Простое предупреждение исправляло лишь часть ошибок, а показ различий между старой и новой версиями помогал чаще, но требовал дополнительных чтений, шагов и токенов. Исправление самого контекста оказалось надёжнее подсказки, которую модель ещё должна правильно обработать.
Для команд практический вывод состоит не в выборе Concord как готовой зависимости, а в изменении модели данных среды исполнения. Результат инструмента стоит хранить вместе с происхождением, версией и правилом аннулирования. Перед каждым вызовом модели среда должна проверять не только актуальность рабочего каталога, но и актуальность уже собранного контекста.
Такой слой особенно уместен, если несколько агентов, пользователь и внешние процессы меняют общие ресурсы во время длинного задания. Политики можно разделить по риску: критичные данные перечитывать сразу, локальные правки обновлять на месте, а дорогие удалённые источники проверять по версии.
Проверка пока охватывает локальные файлы, один сценарий изменения и один цикл восстановления. Concord также не пересматривает планы, сводки и решения, которые модель уже вывела из старого факта. Поэтому работа обосновывает архитектурный механизм, но не доказывает его надёжность для баз данных, параллельных агентов и длинных цепочек изменений.
Источники
Иллюстрация: рисунок из статьи «When Agent Context Goes Stale: Incoherence in Volatile Agent Context», Yingying Liu, Junzhou Fang, Chenxiong Qian, CC BY 4.0
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



