Утечки памяти в AI-агентах: когда GC не спасает

Языки с Garbage Collector избавляют от ручного управления памятью и многих багов вроде double-free. Но утечки всё равно возможны — например, через неограниченный кэш.
Классический пример: глобальный кэш для fibonacci. Он ускоряет вычисления, но никогда не очищается и растёт при каждом новом числе. Память утекает медленно, но стабильно.
В Replit Agent инженеры заметили график: процессы агента падали по памяти примерно раз в час. Состояние сериализовали в Repl, поэтому данные не терялись, но приходилось перезапускать дорогие LLM-вызовы. Пользователи замечали рывки и замедления.
Вывод: в долгоживущих процессах (агенты, сервисы) стоит следить за неограниченными структурами — кэшами, мапами, логами. Мониторинг памяти и лимиты на размер кэша помогают поймать утечку до продакшена.