Как это происходит с OpenClaw и как вы можете это исправить… Мой бот постоянно выдает огромные повторяющиеся результаты инструментов, выполняет тяжелую работу и попадает в циклы отладки в общем сеансе, в котором находятся мои личные сообщения, и застревает на 10 минут, пока не истечет время или шлюз не упадет и не перезапустится. Это приводит к потерянным сообщениям, неотзывчивому боту и множественным сбоям OOM несколько раз в час. Даже когда я заставляю бота делегировать, подсобные агенты сбрасывают результаты в окно контекста. Я попросил Codex провести расследование, и он обнаружил: • 56 результатов инструментов ≥150k символов уже включены в историю текущего сеанса • Обрезка не работает на нашем основном пути модели (Codex/OpenAI Oauth) • Нет принудительного выполнения, чтобы остановить огромные сбросы инструментов в контекст • Поддержка сеанса очищает после повреждений, она не предотвращает их Я почти уверен, что поведение OpenClaw по умолчанию не должно сбрасывать результаты инструментов в 200k символов в транскрипт. Что-то в моей конкретной настройке, должно быть, либо отключает защиту, либо пропускает усечение для результатов инструментов… Поскольку я использую lossless-claw, это может только ухудшить ситуацию: 81MB файл сеанса, 31.6MB — это просто текст результатов инструментов 😬 169 результатов инструментов более 50k символов. Один из них — 285k символов (из sessions_list.) Существует логика обрезки, которая обрезает результаты инструментов из сообщений контекста. buildContextPruningFactory Но модели должны иметь "cache-ttl" Подходящие провайдеры, по-видимому, только: anthropic moonshot zai Для меня мой бот говорит, что код обрезки отказывается активироваться на не-Anthropic провайдерах. Я много использую openai-codex 5.3, так что когда обрезка настроена, код существует, он просто молча никогда не активируется. OpenAI Responses API использует сжатие на стороне сервера, и OpenClaw автоматически включает это для прямых моделей openai, так что OpenAI обрабатывает сжатие на своей стороне. Но я на openai-codex/*, а не openai/*. Путь Codex OAuth проходит через другую среду выполнения (по-видимому, pi-ai), а не через Responses API. Итак: • cache-ttl обрезка > только Anthropic • Сжатие на стороне сервера OpenAI > только прямой API openai • LCM/lossless-claw > не обрезает старые результаты инструментов, насколько я знаю Мой бот настаивает, что путь openai-codex не получает ни одного пути обрезки. Так что я остаюсь с ботом, который слишком часто полагается на функцию экстренного усечения truncateOversizedToolResultsInSession как последнюю меру восстановления переполнения без профилактической обрезки / защит. Поскольку LCM/lossless-claw не имеет собственного управления результатами инструментов, он наследует огромные переполненные транскрипты и должен работать дополнительно, чтобы обобщать для узлов DAG. У меня нет поддержки сеанса и длинные сеансы, так что ничего не ограничивает транскрипт со временем, что приводит к: 4,707 результатов инструментов накапливаются навсегда в файле размером 81MB, без механизма выполнения, который на самом деле очищает их. Когда мой бот начинает отладку, он начинает искать и сбрасывать огромный текст в основной сеанс, затем застревает в этом цикле и умирает, а затем должен делать это снова, усугубляя проблему. Я в растерянности, как справиться с этой проблемой, это многослойная ситуация.
@quinnzeda Но ты, возможно, прав... Мне, возможно, придется взять неделю отдыха, прежде чем попробовать это.
1,49K