
40 335 сообщений. 11 336 тредов. 50 HTML-файлов. Один AI-чат в Telegram, который я решил переработать в структурированную базу знаний. Вручную это заняло бы недели. Claude Code справился за одну сессию.
Взял экспорт из Telegram Desktop. Цель - вытащить всё полезное: рекомендации, use-cases, мнения, инструменты, статистику. Разложить по 12 категориям. Получить чистый JSON на выходе. 227 МБ сырых данных.
Архитектура роя
Написал кастомный скилл telegram-channel-processor для Claude Code. Почему скилл, а не просто промпт? Нужна была воспроизводимость - чтобы запускать обработку повторно на других чатах без переписывания логики. Идея - классический orchestrator-worker паттерн.
Оркестратор: Opus 4.6 с контекстным окном 1M токенов. Он держит в голове состояние всех 18 батчей, знает какие чанки обработаны, какие упали, где нужен retry. На 200K контексте это бы не взлетело - к десятому батчу оркестратор потерял бы нить.
Воркеры: Sonnet 4.6. Осознанный trade-off. Sonnet дешевле, работает быстро, а для задачи “прочитай чанк, вытащи факты, верни JSON” - хватает с запасом. Opus на воркерах - удар по бюджету без выигрыша в качестве.
Итого: 10 параллельных агентов на батч, 18 батчей, 177 чанков данных. 378 субагентов запущено суммарно (включая настройку, дубли, повторы). Сам удивился когда посчитал.
Как это работало
Пайплайн в четыре шага:
Парсинг. 50 HTML-файлов из Telegram Desktop. Извлечение тредов, очистка от служебного мусора, разбивка на чанки по размеру.
Фильтрация. Из 11 336 тредов полезными оказались только 3 218. Двадцать восемь процентов. Ожидал 40-50%, реальность оказалась жёстче - в любом чате огромная доля приветствий, мемов, коротких реакций и оффтопика.
Извлечение. Каждый воркер получал чанк тредов и инструкцию: вытащи структурированные записи по 12 категориям. На выходе - JSON с полями: категория, текст, источник, дата, теги.
Агрегация. Оркестратор собирал результаты, дедуплицировал, мерджил в финальные файлы по категориям.
4 чанка пришлось перезапускать - и это было неожиданно нервно, потому что первые два фейла случились подряд в одном батче. Агенты падали на слишком больших кусках. Оркестратор сам обнаруживал failed чанки и разбивал их на две части - split-retry решил проблему.
Результат
2 764 структурированных записи в 12 категориях:
- Рекомендации: 548
- Use-cases: 460
- Мнения: 446
- Инструменты: 336
- Болевые точки: 301
- Статистика: 256
- Agent engineering: 223
- Тренды: 109
- Промпты: 73
- Новости индустрии: 6
- Цитаты: 5
- AI-бизнес: 1
Сессия прерывалась дважды (пауза + продолжение). Три запуска суммарно. Оркестратор с 1M контекстом подхватывал состояние без потерь.
Что понял
Рой агентов работает на масштабе. Не как концепт из блогпоста - я реально скормил ему 227 МБ и получил структурированный выход за одну сессию вместо недель ручной работы.
Контекстное окно в 1M токенов для оркестратора, который ведёт 18 батчей и отслеживает состояние сотен чанков - разница между “работает” и “теряет контекст на середине”.
Разделение Opus/Sonnet по ролям сэкономило ощутимо. Оркестратору нужен мощный мозг и большой контекст. Воркерам - скорость и дешевизна. На одних только воркерах - разница в 5-7x по стоимости если бы гнал Opus.
28% полезных тредов из чата на 40K сообщений. Даже в качественном AI-сообществе три четверти контента - шум. Что делать с 2 764 записями - пока разбираюсь. Скорее всего, knowledge base для RAG. Но это уже следующий эксперимент.