3,583 papers
arXiv:2601.03298 76 6 янв. 2026 г. FREE

Автоформализация через feedback loop: как управлять долгосрочной работой LLM

КЛЮЧЕВАЯ СУТЬ
Работаешь с LLM над большим проектом несколько дней — замечаешь странное: модель начинает важный раздел, переключается на лёгкие детали, прыгает между темами, забывает вернуться к главному. Как прокрастинатор который избегает сложного. Метод из исследования позволяет удерживать фокус LLM на приоритетах в проектах длиной дни и недели — через файл с постоянными правилами работы. Создаёшь RULES.md с границами ("не трогай разделы 1-3"), стратегией ("фокус на главных вехах"), запретами ("не удаляй заготовки"). Загружаешь в Project. В каждой сессии пишешь: "Прочитай RULES.md и продолжай работу" — модель загружает стратегию вместо импровизации. Результат из исследования: 130 тысяч строк формализованной математики за 2 недели, одно сложное доказательство на 3 тысячи строк за день.
Адаптировать под запрос

TL;DR

Исследователь создал систему, которая за 2 недели автоматически формализовала 130k строк математики (топология из учебника) стоимостью ~$100. Механика: feedback loop — LLM генерирует формальный код → автоматический checker проверяет → ошибки возвращаются в LLM → LLM исправляет → цикл повторяется сотни раз без участия человека. Работает через coding agents (Codex, Claude Code) в изолированной среде с автоматической подачей промптов.

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

Решение: файл с постоянными правилами (CLAUDE.md), который читается каждый раз перед работой. В нём строгие границы ("НИКОГДА не трогай строки до 6495"), стратегия работы ("не прыгай бесконечно за лёгким"), запреты на откаты ("перед уменьшением файла — объясни почему"), приоритеты ("фокус на главных теоремах, не на упражнениях"). Плюс специальные focused prompts когда нужно срочно закончить конкретную задачу: "Вернись к доказательству леммы Урысона и закончи её. Не переключайся." Это дало 3k-строчное доказательство за день.

📌

Схема системы

SETUP (один раз):
1. Coding agent (Codex/Claude Code) в sandbox
2. Proof checker (Megalodon) для автоматической проверки
3. Файл CLAUDE.md с постоянными правилами работы
4. Скрипт автоматизации: каждые 60 сек без изменений → подать промпт снова

ЦИКЛ (повторяется сотни раз):
Промпт: "Прочитай CLAUDE.md. Следуй инструкциям. Работай как можно дольше без остановок."
↓
LLM генерирует/исправляет код → Сохраняет backup → Запускает proof checker
↓
Checker выдаёт ошибки (или молчит = успех) → LLM анализирует → исправляет → повторяет
↓
Когда LLM останавливается (просит новый промпт) → скрипт через 60 сек подаёт тот же промпт
↓
Цикл продолжается часами (1-2 часа без участия человека)

OVERRIDE (по необходимости):
Focused prompt: "Специальное правило: вернись к [задача] и закончи. Не переключайся."
🚀

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

Задача: Пишешь большую статью про развитие нейросетей в России за 10 лет. Работаешь с Claude в Projects несколько дней. Замечаешь: модель начинает раздел про GPT-3, переключается на описание трансформеров, потом прыгает к примерам, забывает закончить анализ GPT-3. Нужно удержать фокус на главных вехах, не размазывать по деталям.

Промпт (создание файла правил):

Создай файл RULES.md для работы над статьёй. Включи:

СТРОГИЕ ГРАНИЦЫ:
- Разделы 1-3 (история до 2020) — завершены, не трогать
- Работай только в разделах 4-7 (2020-2025)

СТРАТЕГИЯ РАБОТЫ:
- Приоритет: главные вехи (выход ruGPT, Yandex GPT, GigaChat, открытые модели)
- Баланс: не застревать в технических деталях, но и не прыгать только по лёгким темам
- Перед переключением раздела: убедись что главная веха раздела раскрыта

ЗАПРЕТЫ:
- Не переписывай уже хорошие куски без явной причины
- Не удаляй заготовки — лучше временно пометь [TODO] и вернись позже
- Не дублируй информацию между разделами

МОНИТОРИНГ:
- Веди файл PROGRESS.md: статус по каждой вехе (упомянута/раскрыта/примеры добавлены/готово)
- После каждой сессии: обнови PROGRESS.md

В начале каждой сессии я буду писать: "Прочитай RULES.md и продолжай работу."

Результат: Claude создаст структурированный файл правил. В следующих сессиях ты пишешь короткий промпт "Прочитай RULES.md и продолжай работу" — модель загружает контекст правил и работает по стратегии, не размазываясь. Если нужно срочно закончить конкретную веху (например, раздел про GigaChat к дедлайну) — добавляешь focused prompt: "Специальное правило: закончи раздел про GigaChat полностью. Не переключайся на другие темы."

🧠

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

LLM в длинных сессиях оптимизирует локально — выбирает что проще сделать прямо сейчас (описать легкую деталь, добавить пример), а не что важнее глобально (закончить сложное главное доказательство). Это как прокрастинация: начал сложную задачу → увидел лёгкую → переключился → забыл вернуться. Плюс ограниченная память в длинных диалогах — модель забывает что было 100 сообщений назад, может случайно откатиться к старой версии, потеряв полезную работу.

LLM отлично следует явным инструкциям когда они есть в контексте. Но в длинном проекте без структуры модель импровизирует стратегию на ходу — и импровизирует плохо (прыгает, размазывается, откатывается). Файл с правилами создаёт постоянную "систему координат": строгие границы ("не трогай разделы 1-3"), приоритеты ("фокус на главных теоремах"), запреты ("не удаляй заготовки"). Модель читает этот файл каждый раз → загружает стратегию работы → следует ей вместо импровизации.

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

Рычаги управления: - Границы в файле правил ("не трогай строки X-Y") → расширь если нужно переработать старое, сузь если модель лезет куда не надо - Приоритеты ("фокус на главных теоремах") → замени на свои (примеры важнее теории, детали важнее обзора) - Частота чтения правил → в исследовании читались каждый раз; в чате можешь напоминать реже или чаще - Focused override → используй для дедлайнов или когда модель застряла в прыжках

📌

Шаблон: файл правил для долгосрочного проекта

# Правила работы над {название проекта}

## СТРОГИЕ ГРАНИЦЫ

### Что можно редактировать:
- {описание разрешённой зоны: разделы, файлы, части документа}
- Всё остальное — НЕ ТРОГАТЬ без явного разрешения

### Перед любым редактированием:
1. Проверь что работаешь в разрешённой зоне
2. Если сомневаешься — спроси перед изменением

## Правило "Не выбрасывай полезное"
1. Почти никогда не откатывайся к старым версиям
2. Если нужен откат — сначала сохрани всё полезное из текущей версии
3. В частности: сохраняй все работающие определения/куски/идеи
4. Перед уменьшением размера файла/текста: явно объясни почему и что удаляешь

## Стратегия работы
- Ты можешь делать следующее в любом порядке, но всегда должен быть прогресс:
  - {тип работы 1}: {что делать}
  - {тип работы 2}: {что делать}
  - {тип работы 3}: {что делать}

- Важные принципы:
  - **Баланс простого и сложного**: делать лёгкое ОК, но не прыгай бесконечно избегая трудного
  - **Приоритет главному**: {опиши что главное в проекте} — фокусируйся на этом даже если сложно
  - **Обзор всех частей**: {если проект большой} — не застревай в одной части надолго, помни обо всём проекте
  - Используй постепенный подход для сложных задач: {как разбивать сложное}

## Мониторинг прогресса
- Веди файл PROGRESS: {что отслеживать}
- Формат: {как структурировать статус}
- Используй PROGRESS чтобы найти что отстаёт и переключить фокус

## Проверка работы
- После {каких изменений} запускай {какую проверку}
- Делай пронумерованные backup-ы: backup_001, backup_002, и т.д.
- С каждым backup создавай файл CHANGES_001 с кратким описанием что изменилось
- Нумерация должна только расти, не перезаписывай старые backup-ы

Как заполнить: - {название проекта} — твой проект - {разрешённая зона} — где модель может работать (разделы 4-7, файлы X-Y, определённая тема) - {тип работы 1/2/3} — виды работы в проекте (написание разделов, проверка фактов, добавление примеров) - {что главное} — приоритет проекта (главные аргументы статьи, ключевые функции продукта, основные концепции) - {что отслеживать} — метрики прогресса под твой проект

🚀

Применение в чате

ChatGPT Projects: 1. Создай Project для долгосрочной задачи 2. Загрузи файл RULES.md с правилами работы 3. В начале каждой сессии: "Прочитай RULES.md из файлов проекта и продолжай работу по инструкциям" 4. Модель загрузит правила и будет следовать стратегии 5. Для срочных задач: "Специальное правило сегодня: {задача}. Не переключайся пока не закончишь. Остальные правила из RULES.md сохраняются."

Claude Projects (аналогично): Добавь RULES.md в Project Knowledge → ссылайся в промптах

Без Projects (обычный чат): - Вставь правила в первое сообщение длинного диалога - Периодически напоминай: "Помнишь правила работы из начала диалога? Продолжай по ним" - Минус: при длинном диалоге правила выпадут из контекста

Focused override когда нужно:

Специальное правило: вернись к {конкретная задача/раздел/доказательство} 
и закончи полностью. Не переключайся на другое пока не завершишь. 
Остальные правила из RULES.md продолжают действовать.
📌

Почему длинные правила работают

В исследовании файл CLAUDE.md занимал ~250 строк с детальными правилами, запретами, стратегиями. Можно подумать что это перегружает модель, но результат показывает обратное: чем детальнее правила, тем меньше импровизации, тем стабильнее работа.

Модель хорошо обрабатывает структурированные инструкции любой длины (в пределах контекста). Детальность снимает двусмысленность: "баланс простого и сложного" можно интерпретировать по-разному, а "не прыгай бесконечно между лёгкими задачами, если не продвинулся по главным теоремам за N попыток" — конкретно. Чем конкретнее → тем предсказуемее поведение.

В твоих проектах: не бойся детализировать правила. Лучше явный список из 10 пунктов "что делать / не делать", чем один расплывчатый принцип.

⚠️

Ограничения

⚠️ Применение: Эти принципы работают для долгосрочных проектов с файлами и множеством итераций. Для разовых вопросов в чате ("напиши email", "объясни концепцию") — избыточно.

⚠️ Автоматизация: Исследование использовало скрипты для автоподачи промптов и мониторинга. В обычном чате ты подаёшь промпты вручную — это добавляет барьер для очень длинных проектов (десятки часов непрерывной работы).

⚠️ Проверка качества: В исследовании был автоматический proof checker (находил ошибки сразу). В твоих задачах проверку качества делаешь ты или другие инструменты — feedback loop медленнее.

⚠️ Context window: Файл правил съедает часть контекста. Если проект огромный + правила длинные + история диалога большая → модель может упереться в лимит контекста раньше. Решение: периодически начинай новый чат с правилами + кратким резюме прогресса.

⚠️ Стоимость длинных сессий: Исследование потратило ~$100 за 2 недели активной работы на ChatGPT Pro ($200/мес). Если твой проект требует десятки часов генерации → следи за расходом лимитов подписки.

🔗

Ресурсы

130k Lines of Formal Topology in Two Weeks: Simple and Cheap Autoformalization for Everyone? Репозиторий с результатами формализации: https://github.com/megalodon-prover/mgwiki Josef Urban, AI4REASON и University of Gothenburg Январь 2026


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

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

Работаешь с LLM над большим проектом несколько дней — замечаешь странное: модель начинает важный раздел, переключается на лёгкие детали, прыгает между темами, забывает вернуться к главному. Как прокрастинатор который избегает сложного. Метод из исследования позволяет удерживать фокус LLM на приоритетах в проектах длиной дни и недели — через файл с постоянными правилами работы. Создаёшь RULES.md с границами ("не трогай разделы 1-3"), стратегией ("фокус на главных вехах"), запретами ("не удаляй заготовки"). Загружаешь в Project. В каждой сессии пишешь: "Прочитай RULES.md и продолжай работу" — модель загружает стратегию вместо импровизации. Результат из исследования: 130 тысяч строк формализованной математики за 2 недели, одно сложное доказательство на 3 тысячи строк за день.

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

LLM в длинных проектах делает локальную оптимизацию — выбирает что проще прямо сейчас (описать лёгкую деталь, добавить пример), а не что важнее глобально (закончить сложную главную задачу). Плюс ограниченная память — забывает что было 100 сообщений назад, может откатиться к старой версии. Файл правил создаёт постоянную систему координат — модель читает его каждый раз, загружает приоритеты и стратегию работы. Не импровизирует на ходу, а следует чёткому плану. Для срочных задач добавляешь focused prompt: "Вернись к разделу X и закончи. Не переключайся" — модель концентрируется на одном, игнорируя соблазн прыгнуть на лёгкое.

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

LLM отлично следует явным инструкциям когда они в контексте. Но в долгом проекте без структуры модель импровизирует стратегию — и импровизирует плохо (прыгает, размазывается, откатывается). Файл с правилами даёт структуру: строгие границы какие части трогать, приоритеты на чём фокусироваться, запреты что не делать. Чем детальнее правила — тем меньше двусмысленности, тем стабильнее работа. В исследовании файл занимал 250 строк детальных инструкций — результат 130k строк формализованной топологии за 2 недели стоимостью 100 долларов. Одно сложное доказательство на 3 тысячи строк заняло день благодаря focused prompt который временно переопределил приоритеты.

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

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

Мини-рецепт

1. Создай файл RULES.md: структура из блоков — Строгие границы (какие разделы/части можно редактировать), Стратегия работы (приоритет главному, баланс простого и сложного), Запреты (не откатывайся без сохранения полезного, не удаляй заготовки), Мониторинг (веди файл прогресса PROGRESS.md со статусом задач).

2. Загрузи в Project: ChatGPT Projects или Claude Projects — добавь RULES.md в файлы проекта или Project Knowledge.

3. Ссылайся в промптах: В начале каждой сессии пиши короткий промпт — "Прочитай RULES.md из файлов проекта и продолжай работу по инструкциям". Модель загрузит правила и будет следовать стратегии.

4. Для срочных задач используй focused override: Когда нужно срочно закончить конкретную часть (дедлайн или модель застряла в прыжках) — добавь специальный промпт: "Специальное правило: вернись к <задача>разделу про GigaChat и закончи полностью. Не переключайся на другое. Остальные правила из RULES.md сохраняются."

Примеры

[ПЛОХО] : Каждую сессию повторяешь длинные инструкции — "Помни что разделы 1-3 готовы не трогай их, фокусируйся на главных вехах 2020-2025, не удаляй заготовки, веди учёт прогресса..." Модель может забыть часть инструкций к середине работы, приходится напоминать снова.
[ХОРОШО] : Создал RULES.md с правилами работы над статьёй про нейросети в России. Загрузил в ChatGPT Project. В каждой новой сессии пишу короткий промпт: "Прочитай RULES.md и продолжай работу". Модель загружает стратегию (приоритет вехам: ruGPT, Yandex GPT, GigaChat; не размазываться по деталям; вести PROGRESS.md). Работает несколько дней стабильно. Когда подошёл дедлайн по разделу GigaChat — добавил focused prompt: "Специальное правило: закончи раздел про GigaChat полностью сегодня. Не переключайся." Модель сконцентрировалась и довела раздел до готовности за одну сессию.
Источник: 130k Lines of Formal Topology in Two Weeks: Simple and Cheap Autoformalization for Everyone?
ArXiv ID: 2601.03298 | Сгенерировано: 2026-01-08 06:56
📖 Простыми словами

Автоформализация через feedback loop: как управлять долгосрочной работой LLM

arXiv: 2601.03298

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

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

Главный рабочий инструмент здесь — feedback loop в связке с кодинг-агентами вроде Claude Code. Суть проста: LLM скармливают кусок текста, она выдает формальный вариант, а автоматический checker (Lean или Coq) выступает в роли злого судьи. Если код не компилируется, ошибка летит обратно в промпт, и модель пробует снова. Это работает, потому что нейронки отлично справляются с локальными исправлениями, когда им четко тыкают носом в косяк, вместо того чтобы заставлять их держать в голове всю структуру проекта целиком.

Хотя эксперимент ставили на топологии, принцип универсален для любой сложной работы с контентом. Это можно внедрить в написание кода, создание огромных баз знаний или даже в юридическую проверку договоров. Главное — перестать ждать от AI идеального результата с первой попытки и построить среду, где ошибка — это просто топливо для следующей итерации. Мы переходим от эпохи «напиши мне текст» к эпохе автономных агентов, которые сами себя проверяют и доводят задачу до финала.

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

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

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

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