Продолжаю приземлять прошлогодние статьи инженеров Anthropic на контент. Сегодня выводы из материала про контекст-инжиниринг.
Есть концепция «context rot»: чем больше токенов в контексте, тем хуже модель извлекает из них нужное. Не обрыв, а постепенная деградация. Агент начинает терять фокус — инструкции, которые были в начале сессии, постепенно «тонут» в шуме. Причина архитектурная: трансформеры создают попарные связи между каждым токеном, и чем длиннее контекст — тем сильнее размывается внимание.
Для меня это конкретная картина: агент пишет статью, в контексте одновременно висят скилл-файл с редполитикой, история диалога, результаты поиска, примеры прошлых текстов. К середине работы голос уже не тот. Запрещённые слова возвращаются. Структура плывёт. Я думал надо лучше написать инструкции. Оказывается, инструкции просто забываются.
Интересно, что Claude Code решает часть этой проблемы нативно и статья объясняет почему именно так. CLAUDE.md грузится в начало каждой сессии как высокоприоритетный контекст. Компакция включается автоматически, когда окно заполняется: модель сама пишет конспект — архитектурные решения, незакрытые вопросы, текущее состояние — и продолжает с ним. Инструменты типа glob и grep дают агенту возможность тянуть файлы по необходимости, а не загружать всё сразу.
Но это работает из коробки для кода. Для контентных задач — нет.
Когда сейчас я строю агента в Claude Code, то упаковываю в CLAUDE.md всё: редполитику, голос, запрещённые слова, структуру, примеры. Это тот же антипаттерн — «загрузи всё». Статья предлагает другой принцип: в каждый момент в контексте должен быть наименьший набор высокосигнальных токенов, достаточный для следующего шага.
Для моих контентных агентов в Claude Code это означает три вещи:
1️⃣ CLAUDE.md должен содержать только принципы и примеры голоса — не полный список правил. Конкретные данные: факты о продукте, статистику, кейсы — агент должен тянуть через инструменты поиска в момент, когда они реально нужны в тексте, а не получать заранее.
2️⃣ Сложные задачи нужно разбивать на субагентов с чистым контекстом на каждом этапе. Ресёрчер собирает данные и возвращает конспект. Автор получает только конспект — не сырые результаты поиска. Ревьюер получает только финальный текст. Каждый работает в чистом окне.
3️⃣ Компакцию для контентных сессий нужно делать осознанно, а не ждать автоматики. После каждой крупной итерации — явный конспект: что в тексте сейчас, что согласовано, что осталось. Иначе к пятой правке агент работает с балластом из отброшенных вариантов.
Если подытожить, то означает одно изменение в архитектуре: разбить монолитного «агента-писателя» на три чистых этапа: ресёрч → черновик → ревью — где каждый этап получает только результат предыдущего, а не всю историю работы. Это и есть контекст-инжиниринг применительно к контенту. В моих агентах уже есть такие пайплайны, но надо теперь продумать более чистые переходы от агента к агенту.
#ai_agents
Post #2792
143

- ❤ 1