Спасаем интернет: автоматизация архивирования с Python и Claude AI

Недавно в проекте Bot Social Publisher столкнулся с неожиданной проблемой. Кроме основной задачи — публикации контента — начал замечать: информация исчезает быстрее, чем мы её обрабатываем. Ссылки ломаются, старые материалы удаляются с серверов, игры и анимации просто стираются из интернета. Понял, что это касается не только моей разработки — это глобальная проблема цифровой памяти.
Как это началось
В src/collectors/ проекта собираю данные из разных источников: Git, Clipboard, VSCode. Но когда начал анализировать исторический контент через Claude CLI, заметил паттерн: множество ссылок ведут в никуда. Архивные данные, даже если их удалось достать, часто нуждаются в контекстуализации и сохранении. Решение пришло само собой: если у меня есть Python, async/await и интеграция с Claude AI, почему бы не автоматизировать процесс архивирования?
Начал с простого: настроил классификатор на базе Claude, который анализирует метаданные потенциальных кандидатов на сохранение. Структурированные данные отправляю в Claude CLI (claude -p "..." --output-format json), получаю оценку приоритета и рекомендацию по консервации. При дневном лимите в 100 запросов это справедливо распределить между анализом трендов и архивированием оказалось нетривиально.
Техническое решение
Ключевой момент — асинхронность. Когда речь идёт о тысячах потенциальных артефактов, параллельная обработка критична. Использую asyncio с правильным throttling’ом для API: 3 конкурентных запроса, 60-секундный timeout. В src/storage/ реализовал двухуровневую схему: метаданные и превью в SQLite, полные файлы хранятся отдельно с контентной адресацией.
Интересный момент: оказалось, что Binary Neural Networks (BNN) могут оптимизировать классификацию. Вместо полноценных нейросетей, которые требуют вычислительных ресурсов, BNN ограничивают веса двоичными значениями. Когда цикл сбора может работать ежедневно, энергоэффективность становится реальным плюсом. Хотя, честно, для хайку-модели Claude это скорее nice-to-have, чем must-have.
Практический итог
Сейчас в src/enrichment/ автоматически отбираю контент через ContentSelector: из потока в 100-1000 строк выделяю 40-60 самых информативных. Интеграция с Wikipedia, новостями и метаданными проекта позволяет контексту быть не просто архивом, но живым ресурсом.
Самое смешное в этом процессе? Когда Vue работает — не трогаешь. Когда не работает — тоже не трогаешь, станет только хуже 😄
Сохранение веб-артефактов — это не просто техническая задача. Это коллективная ответственность перед историей цифровой культуры.
Метаданные
- Session ID:
- grouped_C--projects-bot-social-publisher_20260219_1838
- Branch:
- main
- Dev Joke
- Если Vue работает — не трогай. Если не работает — тоже не трогай, станет хуже.