Только что глубоко изучил MiroThinker 1.5, их способ сжатия Agent немного странный, но, поняв его, действительно нашел полезным. Основная проблема заключается в том, как впихнуть 400 раз использование инструмента в контекст 256K. Они сделали крайне смелый шаг: физически замаскировали Observation (результаты инструментов) в think-action-observation в истории ReAct. Кроме того, что последние K раундов сохранили оригинал, все предыдущие сотни раундов результатов инструментов были заменены на фразу "Результат инструмента опущен для экономии токенов". Однако все <thought> были полностью сохранены. Здесь есть очень неинтуитивный момент: этот агент сам по себе занимается глубокими исследованиями, и он оставляет только последние K раундов, то есть 5 раундов оригинала, а все предыдущие отсутствуют, как он может отвечать на вопросы. Это создает очень скрытое, но ключевое предположение: если Thought достаточно плотный, он на самом деле бесконечно приближается к Summary. Каждое создание Thought по сути является информационным срезом модели по текущему Observation. Когда T1 создается, ключевые данные из O1 уже "попадают" в голову. Хотя O1 был заменен на заполнитель, T1 все еще существует. T1 становится "информационным сжатием" O1. Не нужно отдельно добавлять агент Summary, эта полная цепочка Thought сама по себе является постоянно обновляемым, высококачественным «динамическим резюме».