Context automatically compacted 🦾
Все мы знаем, что у модели есть контекстное окно, но это - очень непростая вещь. Заявляется, что оно, например, один миллион токенов, но на деле только около половины из них эффективны, поскольку после этого начинается контекстный дрейф или вообще деградация. Это ожидаемое поведение трансформеров, но замеры там очень интересные - у меня есть в бэклоге перевод классной статьи, где такое замеряли, скоро доберусь.
При работе с фанатичной кодогенерацией контекст забивается достаточно быстро, поэтому для продолжения работы требуется процесс, который называется компактизация - это когда все накопленное сжимается до определенного уровня. Существуют разные механизмы компактизации: вычленение фактов, суммаризация, скользящее окно, грубое обрезание и многие другие под задачу. Очень важно знать, какая именно компактизация происходит, а в идеале - не доводить до этого, либо контролировать процесс самостоятельно.
Когда мы заканчиваем задачу и переходим к новой, проблем зачастую не возникает, так как у нас нет предыдущего контекста. Самый жесткий случай компактизации, который у меня был, произошел, когда я так увлекся, что накидал много мелких задачек в чатике и затем дал делать сложную задачу про шифрование сообщений. Агент пыхтел 12 минут, дозабил все окно, затем сделал сжимание контекста, а затем благополучно продолжил работать над задачей еще 14 минут.
Он изменил 31 файл, но на выходе сообщил, что изменил цвет кнопки и увеличил шрифт. Я сначала не мог понять о чем речь, но потом все быстро понял: я действительно в самом начале чата просил это сделать и на сломе контекстного окна эта задача стала самой важной и приоритетной и в итоге получилось не шифрование, а мусор.
Поэтому лучше не доводить до компактизации, особенно до той, про которую мы детально не знаем как именно она делается.
P.S.: мем с собаками - один из моих любимых, обожаю вставлять его в серьезные презы 😀
Post #69
1.03K

- 💯 3
- 👍 2
- 🤔 2
- 🌚 1