3,583 papers
arXiv:2610.37905 71 27 окт. 2026 г. FREE

FilingLoop: двухролевой аудит и правка документов с накоплением навыков между задачами

КЛЮЧЕВАЯ СУТЬ
Обнаружено: При проверке сложных отчётов в одном чате модель путает обещание исправить текст с реальной правкой. Метод FilingLoop позволяет находить скрытые умолчания в больших документах и гарантированно вносить подтверждённые факты в черновик. Фишка: жёсткое разделение на Рецензента и Составителя плюс поштучная сверка требований с финальным файлом. Система бьёт каждое замечание на атомарные подпункты и переносит удачные правила проверки в новые задачи.
Адаптировать под запрос
⚡

TL;DR

FilingLoop — это агентная схема для проверки и доработки больших комплексных документов, где работа разделена между двумя изолированными ролями (Рецензент и Составитель), независимым Оценщиком и Редактором навыков, который обновляет инструкции ролей после каждого пакета задач. Вместо того чтобы просить одну модель «найти и исправить все проблемы» в общем чате, система раскладывает замечания на атомарные требования, проверяет их фактическое внесение в итоговый текст и переносит успешные приёмы проверки в следующие кейсы.

Когда один агент или аналитик проверяет сложный многостраничный отчёт, возникают три типичных сбоя: модель пропускает неочевидные умолчания (например, компания пишет «выручка выросла за счёт высокого спроса», не раскрывая конкретные драйверы), путает обещание исправить с реальной правкой в тексте и закрывает составное замечание частично, ответив только на один пункт из трёх. Причина проста: в длинном диалоге размывается связь между исходным замечанием, запрошенными фактами и тем, какая именно строчка изменилась в финальной редакции документа.

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


🔬

Схема метода

ВНУТРИ ОДНОГО КЕЙСА (отдельные вызовы с изолированной историей ролей):
ШАГ 1 (Рецензент): Аудит комплекта документов → список замечаний с цитатами и ID
ШАГ 2 (Составитель): Запрос недостающих фактов + точечные замены (исходный фрагмент → новый фрагмент + ID замечания) → обновлённый черновик и официальный ответ
ШАГ 3 (Повторный раунд): Рецензент проверяет обновлённый черновик и ответы → закрывает выполненные пункты или возвращает на доработку

НЕЗАВИСИМАЯ ПРОВЕРКА И ЭВОЛЮЦИЯ (отдельные запросы после фиксации результата):
ШАГ 4 (Оценщик): Сопоставление замечаний (Matching) → Поштучная проверка требований в финальном файле (Fulfillment) → Аудит фактов на выдумки и противоречия (Audit) → JSON-отчёт
ШАГ 5 (Редактор навыков): Разбор JSON-отчёта по пакету задач → обновление Markdown-инструкций Рецензента и Составителя без упоминания конкретных компаний

🚀

Пример применения

Задача: Подготовка инвестиционного меморандума и презентации для привлечения раунда в российский B2B SaaS-сервис складской аналитики (выручка 180 млн рублей в год, клиенты на Ozon и Wildberries). Нужно выловить голословные утверждения до отправки документа инвесткомитету фонда.

Промпт:

Проведём двухролевой аудит и доработку инвестиционного меморандума по методу FilingLoop. Выполняй шаги последовательно.


Черновик меморандума:
«Раздел 2. Финансовые результаты. За 2025 год выручка компании выросла на 65% и составила 180 млн руб. Рост обусловлен высоким спросом со стороны селлеров маркетплейсов и запуском нового модуля нейросетевого прогнозирования остатков. Отток клиентов (Churn) снизился до минимальных значений, а юнит-экономика вышла в уверенный плюс во втором полугодии».

Доступные внутренние факты компании (база фактов):
1. Из 71 млн руб. прироста выручки 52 млн руб. принесло повышение тарифов для старых клиентов с апреля 2025 года, а новый модуль прогнозирования дал 9 млн руб.
2. Помесячный отток в деньгах (Gross MRR Churn) снизился с 4,8% до 3,1%, но логотипный отток мелких селлеров вырос с 6% до 8,5%.
3. Положительная юнит-экономика (LTV/CAC = 3,4) достигнута только в сегменте селлеров с оборотом от 5 млн руб./мес; в младшем сегменте CAC окупается 14 месяцев при среднем сроке жизни клиента 9 месяцев.



Роль: Строгий инвестиционный аудитор (Рецензент). У тебя НЕТ доступа к внутренней базе фактов — ты видишь только черновик меморандума.
1. Найди все голословные заявления, нераскрытые причины роста и размытые формулировки.
2. Сформируй список замечаний (C-1, C-2...).
3. Разбей каждое составное замечание на атомарные требования (R-1.1, R-1.2...), указав для каждого: что именно нужно раскрыть и где это должно появиться (правка в самом тексте меморандума или пояснение в сопроводительном письме).



Роль: Юрист и аналитик компании (Составитель).
1. Для каждого требования Рецензента извлеки подтверждённые цифры из блока «Доступные внутренние факты компании».
2. Выдай точечную замену текста черновика в формате:
- ID требования: [R-X.Y]
- Заменяемый фрагмент: «...»
- Новый фрагмент: «...»
Не обещай «уточнить позже» — все обязательные раскрытия должны быть прямо вписаны в новый текст раздела.



Роль: Независимый Оценщик и Редактор навыков.
1. Проверь каждое требование R-X.Y по итоговому тексту меморандума: вынеси вердикт (Выполнено / Не выполнено), приведи точную цитату из новой редакции и проверь, нет ли противоречий с базой фактов или ухудшения исходного текста.
2. Сформулируй по 1 универсальному правилу для Markdown-инструкции Рецензента и Составителя на будущие сделки (без упоминания названия этой компании и её цифр).

Результат: На первом шаге модель в роли Рецензента выделит три замечания (по структуре прироста выручки на 65%, по размытому «минимальному оттоку» и по «уверенному плюсу» юнит-экономики) и разобьёт их на 6 атомарных требований. На втором шаге Составитель подтянет цифры из базы фактов и перепишет абзац меморандума, честно разделив эффект от повышения цен (52 млн руб.) и нового модуля (9 млн руб.), а также разграничив когорты клиентов. На третьем шаге Оценщик сверит итоговый текст с каждым подпунктом R-X.Y, подтвердит отсутствие выдуманных фактов и запишет переносимые правила в копилку навыков (например: требовать декомпозицию роста выручки на ценовой фактор и органический приток новых продуктов).


🧠

Почему это работает

Обычная самопроверка («проверь и улучши свой текст») буксует на сложных документах, потому что модель оценивает убедительность тона, а не полноту исполнения. Если в ответе написано «мы учли замечание и раскрыли факторы роста», модель-автор считает задачу решённой, даже если в самом документе по-прежнему осталась вода или исправлен только первый пункт из трёх.

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

FilingLoop обходит обе ловушки за счёт декомпозиции и фильтрации опыта. Во-первых, каждое замечание дробится на атомарные требования с привязкой к целевому артефакту: обещание в переписке не засчитывается, если требовалось изменить сам документ. Во-вторых, Редактор навыков после пакета задач проходит жёсткую валидацию: он обязан превратить конкретные промахи в абстрактные процедурные правила (как искать пробелы и как сверять правки), отсекая любые идентификаторы компаний и прямые цитаты из эталонов.

Рычаги управления: - Дробление составных замечаний: требуй нумеровать каждое действие внутри одного комментария (R-1.1, R-1.2) — это не даёт модели закрыть замечание частичной отпиской. - Разделение черновика и сопроводительного ответа: явно указывай тип результата (правка в тексте документа против пояснение в комментарии), чтобы важные факты не оседали только в чате. - Фильтр на перенос навыков: при обновлении системного промпта запрещай записывать доменные числа и имена собственные — переносить можно только алгоритм проверки.


📋

Шаблон промпта

Выполни аудит и доработку документа по схеме FilingLoop.


{черновик_документа}



{подтвержденные_факты_и_источники}


ШАГ 1 — РЕЦЕНЗЕНТ (поиск пробелов):
Изучи , не заглядывая в . Найди нераскрытые утверждения, пропущенные причинно-следственные связи и нестыковки.
Для каждого замечания (C-1, C-2...) выпиши атомарные требования (R-1.1, R-1.2...):
- Цитата из , вызывающая вопрос.
- Что конкретно нужно добавить или подтвердить.
- Где должно быть изменение: в самом тексте документа или в пояснении.

ШАГ 2 — СОСТАВИТЕЛЬ (внесение правок по фактам):
Используя только , отработай каждое требование R-X.Y:
- Если фактов в  нет — явно зафиксируй ограничение данных, ничего не додумывай.
- Для каждого изменения в документе выдай блок замены:
  [ID требования] → [Точная исходная фраза] → [Новая фраза с фактами]
- Собери обновлённую редакцию .

ШАГ 3 — НЕЗАВИСИМЫЙ ОЦЕНЩИК (тройной контроль):
Проверь  по каждому требованию R-X.Y:
1. Выполнение (Fulfillment): внесена ли правка в сам текст  (обещания не считаются).
2. Аудит фактов (Audit): каждое ли новое утверждение опирается на , нет ли противоречий и не испорчены ли соседние верные абзацы.
3. Обновление навыка (Skill Evolution): сформулируй 1–2 универсальных процедурных правила для Рецензента и Составителя на будущие задачи (без имён собственных и частных фактов этого кейса).

Что подставлять в плейсхолдеры: - {черновик_документа} — текст отчёта, договора, коммерческого предложения, технического задания или статьи, который нужно проверить. - {подтвержденные_факты_и_источники} — выгрузки из таблиц, переписка с клиентом, финансовые отчёты или фактура, на которую можно опираться при правке.

🚀 Быстрый старт — вставь в чат:

Вот шаблон метода FilingLoop для перекрёстного аудита и доработки документов. Адаптируй его под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, какой документ вы проверяете (отчёт, ТЗ, презентацию), какие исходные данные есть под рукой и по каким стандартам нужно искать пробелы — потому что методу нужно чётко развести проверяемый черновик и базу подтверждающих фактов. Она возьмёт паттерн из шаблона и адаптирует под задачу.


⚠️

Ограничения

⚠️ Потолок качества при нехватке фактов: Половина всех требований в реальном аудите упирается в недостающие внутренние сведения компании. Если нужных данных нет в базе фактов или агент не умеет формировать точечный запрос на их получение, даже идеальная процедура самопроверки закрывает лишь малую долю замечаний.

⚠️ Риск побочных повреждений текста (Harm): При внесении правок агент-составитель иногда портит соседние корректные формулировки или вставляет утверждения, которые выходят за рамки подтверждённых фактов. Поэтому этап аудита изменений относительно исходника обязателен.

⚠️ Инженерный порог полного цикла: В оригинальном виде система требует кодовой обвязки — изолированных рабочих пространств для двух ролей, контроллера уникальности текстовых замен, шлюза выдачи фактов и пакетного валидатора Markdown-навыков. В одном окне чата воспроизводится только логика ролевой проверки и атомарного чеклиста.


🔍

Как исследовали

Команда из Наньянского технологического университета (Сингапур) и HKUST (Гуанчжоу) собрала интерактивный бенчмарк FilingLoop на основе реальных архивов переписки Комиссии по ценным бумагам и биржам США (SEC EDGAR) с мая 2016 по март 2026 года. Из 300 кандидатов отобрали 380 раундов ревью (в основном выход компаний на IPO) по 96 компаниям с медианной длиной документа 111,8 тыс. слов; внутри них разметили 3 012 замечаний регулятора и разбили их на 6 099 атомарных требований. Статистика корпуса сразу вскрыла корень проблемы: в медианной задаче нужно найти 4 разных замечания (в 90-м перцентиле — до 21), причём 62,7% замечаний содержат сразу несколько требований, а 50,5% требуют запроса внутренних фактов компании, которых нет в публичном отчёте. Исследователи сравнили агентов с фиксированными инструкциями (Fixed) и самообучающихся агентов (Evolving), которые после каждого пакета задач обновляли свои Markdown-скилы по отчётам независимого Оценщика без изменения весов модели и без повторного прогона уже оценённых кейсов. Эволюция процедурных навыков подняла долю полностью закрытых требований с 24,28% до 27,96%, а полное разрешение замечаний — с 16,90% до 20,75% при росте общих затрат всего на 5,8%, снизив итоговую стоимость каждого успешно выполненного требования.


💡

Адаптации и экстраполяции

💡 Адаптация для код-ревью и приёмки ТЗ в CLAUDE.md / AGENTS.md:

Принцип разделения Matching → Fulfillment → Audit и накопления навыков отлично ложится в инструкции ИИ-агентам для разработки:

## Правило приёмки правок (протокол FilingLoop)
1. Декомпозиция: перед правкой разбей замечание из PR или задачи на атомарные требования (R-1, R-2...) с указанием целевого файла.
2. Проверка в артефакте: требование считается выполненным ТОЛЬКО если изменение зафиксировано в целевом файле. Объяснение в ответе без изменения кода не засчитывается.
3. Аудит на регрессии: после правки проверь, что все числа/утверждения опираются на логи или тесты, а соседняя логика не повреждена.
4. Эволюция скила: если на ревью всплыла повторяющаяся ошибка, запиши в `.claude/skills/review-checklist.md` общее процедурное правило (без привязки к именам конкретных функций текущего тикета).

🔗

Ресурсы

Исследование: FilingLoop: Evaluating and Evolving LLM Agents for Corporate Disclosure Review and Revision Авторы: Wentao Zhang, Yilei Zhao, Guangyan Gan, Lin William Cong (Nanyang Technological University, Singapore), Shuo Sun (The Hong Kong University of Science and Technology, Guangzhou) Источники данных: Архив корпоративной отчётности и писем-комментариев SEC EDGAR (https://www.sec.gov/search-filings/edgar-search-assistance/accessing-edgar-data)


📋 Дайджест исследования

Ключевая суть

Обнаружено: При проверке сложных отчётов в одном чате модель путает обещание исправить текст с реальной правкой. Метод FilingLoop позволяет находить скрытые умолчания в больших документах и гарантированно вносить подтверждённые факты в черновик. Фишка: жёсткое разделение на Рецензента и Составителя плюс поштучная сверка требований с финальным файлом. Система бьёт каждое замечание на атомарные подпункты и переносит удачные правила проверки в новые задачи.

Принцип работы

Когда просишь модель проверить и переписать отчёт разом, она клюёт на убедительный тон. Составитель меняет один пункт из трёх и пишет гладкую отписку, а модель считает задачу закрытой. Разведи поиск дыр и правку текста по разным ролям с независимым арбитром. Рецензент не видит внутреннюю базу фактов и ищет голословные заявления как внешний аудитор. Он дробит каждую претензию на атомарные требования с номерами. Составитель берёт цифры строго из базы фактов и выдаёт точечные замены строк. Затем Оценщик проводит тройной контроль по итоговому файлу, а Редактор навыков записывает обобщённые уроки в инструкции ролей. Это как сдача налоговой декларации. Инспектор проверяет только бланк без твоих черновиков, а бухгалтер вписывает цифры строго по справкам.

Почему работает

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

Когда применять

Аудит и подготовка сложных документов → конкретно для инвестиционных меморандумов, финансовых отчётов, договоров и технических заданий, особенно когда в тексте много голословных заявлений и нужно сверить каждую цифру с базой фактов. НЕ подходит для коротких заметок и писем без строгой фактуры.

Мини-рецепт

1. Раздели черновик и факты: подай проверяемый текст в блоке <черновик>, а таблицы и выгрузки спрячь в блок <база_фактов>.
2. Запусти слепого Рецензента: поручи найти голословные фразы без доступа к <база_фактов> и разбить каждое замечание на мелкие пункты R-1.1, R-1.2.
3. Внеси точечные замены: в роли Составителя достань цифры из <база_фактов> и выпиши замены по шаблону: ID пункта -> старая фраза -> новая фраза.
4. Включи тройной контроль и обнови навык: проверь наличие правок в самом тексте, сверь отсутствие выдумок и запиши 1-2 общих правила без названий компаний.

Примеры

[ПЛОХО] : Проверь этот инвестиционный меморандум, найди слабые места и перепиши его убедительнее
[ХОРОШО] : Шаг 1 (Рецензент, без доступа к базе фактов): найди в черновике нераскрытые причины роста и разбей замечания на атомарные требования R-1.1, R-1.2. Шаг 2 (Составитель): возьми цифры только из блока и выдай точечные замены [ID] -> [Исходная фраза] -> [Новая фраза]. Шаг 3 (Оценщик): сверь каждое требование по итоговому тексту и сформулируй 1 общее правило проверки без имён компаний.
Источник: FilingLoop: Evaluating and Evolving LLM Agents for Corporate Disclosure Review and Revision
ArXiv ID: 2610.37905 | Сгенерировано: 2026-11-01 20:35

Проблемы LLM

ПроблемаСутьКак обойти
Модель закрывает составное замечание частично или путает обещание с правкойПросишь модель проверить и доработать большой документ по списку комментариев. В длинном диалоге модель отвечает только на первый пункт из трёх. Либо пишет в отчёте «замечание учтено», но в самом тексте документа оставляет старую размытую формулировку. Модель оценивает убедительность тона ответа, а не реальные изменения в файлеРаздели роли критика и автора. Дроби каждое замечание на атомарные требования с номерами R-1.1, R-1.2. Требуй точечные замены в формате [ID требования] → [Исходная фраза] → [Новая фраза] и проверяй итоговый текст поштучно
При обучении на прошлых задачах модель тащит чужие факты в новый документСохраняешь удачные разборы в системную инструкцию, чтобы агент лучше проверял следующие отчёты. В правила попадают конкретные цифры, даты и названия прошлых компаний. На новом документе модель начинает искать чужие проблемы или вставлять шаблоны без подтверждающих данныхДобавь фильтр при обновлении инструкции: переносить можно только абстрактный алгоритм проверки. Жёстко запрети записывать в правила имена собственные, названия компаний и доменные числа из конкретных кейсов

Методы

МетодСуть
Двухролевой аудит документа с поштучной проверкой правокРаздели работу с документом на три изолированных шага. Шаг 1 (Рецензент): видит только черновик, ищет голословные утверждения и дробит замечания на атомарные требования R-1.1, R-1.2 с указанием, где нужна правка. Шаг 2 (Составитель): берёт данные строго из базы фактов и выдаёт замены [ID требования] → [Заменяемый фрагмент] → [Новый фрагмент]. Шаг 3 (Оценщик): сверяет каждое требование с финальным текстом, проверяет отсутствие выдумок и формулирует общие правила без имён собственных. Почему работает: Изоляция ролей и атомарные номера не дают подменить реальную правку текста вежливой отпиской в чате. Когда применять: аудит отчётов, договоров, презентаций и ТЗ с базой фактов. Когда не работает: короткие тексты без проверяемой фактуры

Тезисы

ТезисКомментарий
Дробление замечаний на пронумерованные подпункты исключает частичные отпискиКогда комментарий содержит сразу несколько вопросов, модель отвечает на самый простой и считает задачу закрытой. Если присвоить каждому элементарному действию отдельный код (R-1.1, R-1.2) и требовать точечную замену текста под каждый код, пропустить неудобный вопрос нельзя. Применяй: В промпте для ревью требуй разбивать каждое замечание на атомарные пункты с отдельными номерами
Скрытие базы фактов от рецензента помогает найти неочевидные умолчания в текстеЕсли проверяющая модель видит и черновик, и внутренние таблицы одновременно, она мысленно достраивает пропущенные связки и не замечает пробелов в тексте. Когда рецензент читает только сам документ без исходных данных, он сразу видит голословные заявления, которые не понятны внешнему читателю. Применяй: Запускай поиск слабых мест в отдельном запросе, куда подавай только проверяемый текст без справочных таблиц
Правила из прошлых разборов работают только после очистки от имён и цифрНакопление опыта между задачами ломается, когда в инструкцию попадают детали конкретного кейса. Модель начинает притягивать старые факты к новым текстам. Полезный навык переносится только как общая процедура: на какие формулировки обращать внимание и как сверять изменения. Применяй: При генерации правил из ошибок добавляй условие: «сформулируй универсальное правило без упоминания названий компаний, дат и цифр»
📖 Простыми словами

FilingLoop: Evaluating and Evolving LLM Agents for Corporate Disclosure Review and Revision

arXiv: 2610.37905

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

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

Что реально работает в схеме: разделение труда на четыре изолированные роли. Рецензент выкапывает баги и режет замечания на микрозадачи, Составитель молча переписывает куски, независимый Оценщик сверяет факт внесения правок (а не обещания в чате), а Редактор навыков докручивает системные промпты по итогам цикла. Если ты готовишь инвест-меморандум под компанию с выручкой 180 млн рублей, система не пропустит формулировку «мы лидеры рынка», пока в текст физически не встанут конкретные метрики.

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

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

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с