От агентов-аналитиков к энергетическому кэшу: как менялся pipeline
⚠️ Эта статья описывает предыдущую версию системы. Мульти-агентный pipeline с классификацией, планированием и энергетическим кэшем полностью заменён одним агентом на GPT-5.2. Четыре потока обработки (GENERAL_OVERVIEW, FULL_ANALYSIS, FOLLOW_UP, SIMPLE_CHAT) больше не существуют — все вопросы проходят через единый промпт с полным JSON карты.
Текущая архитектура Astrology Bot — не первая версия. До неё был другой подход, проще и дешевле, от которого пришлось отказаться. Не из-за стоимости — из-за нестабильности.
Старый подход: GPT-5-mini и свобода интерпретации
Первая версия работала на GPT-5-mini. Pipeline был прямолинейный:
- ◆Пользователь задаёт вопрос
- ◆Планировщик строит план: какие элементы карты нужно проанализировать (4-10 пунктов)
- ◆Для каждого пункта — отдельный вызов: генерация спецификации, извлечение данных из карты, анализ
- ◆Синтезатор собирает всё в финальный ответ
GPT-5-mini не требовал жёсткой структуры — он ел здоровые спецификации и что-то выдавал. Местами было неплохо. Стоило дёшево.
Проблема была в другом.
Почему пришлось отказаться
Один и тот же элемент карты интерпретировался по-разному в зависимости от вопроса. Спрашиваешь про отношения — модель делает акцент на 7-й дом. Спрашиваешь про характер — и те же отношения вдруг описаны через Венеру, с другими акцентами и другими выводами. Оба ответа могли быть по-своему верными, но они противоречили друг другу.
Для астрологического сервиса это неприемлемо. Если человек задал два вопроса и получил два разных описания одного и того же элемента своей карты — доверие к системе рушится. Не потому что ответы плохие, а потому что они нестабильные.
Второй проблемой было отсутствие накопления. Каждый вопрос генерировал всё заново. Десятый вопрос стоил столько же, сколько первый. Никакого "обучения" системы на конкретной карте не происходило.
Ключевой инсайт: энергетика карты статична
В какой-то момент стало очевидным: энергетика 3-го дома в натальной карте — одна и та же, вне зависимости от вопроса. Управители, аспекты, планеты в доме, напряжения и поддержки — всё это не меняется от того, спрашивает человек про деньги или про отношения.
Значит, это можно описать один раз — подробно, структурированно, с обоими режимами проявления (как давление извне и как личный инструмент) — и переиспользовать в любом анализе. Об этих энергетических описаниях я пишу отдельно — это самая трудоёмкая часть проекта.
Этот инсайт перевернул архитектуру.
Текущая система: 4 потока обработки
Сейчас каждый вопрос проходит через классификатор намерений — лёгкий вызов Sonnet, который определяет тип запроса. Дальше — маршрутизация в один из четырёх потоков:
GENERAL_OVERVIEW — "расскажи о характере", "что интересного в карте?". Фиксированный план из 12 домов, все тексты уже в кэше (сгенерированы при инициализации карты). Загружаются мгновенно, остаётся только синтез — самая сложная часть с точки зрения промптов.
FULL_ANALYSIS — конкретный вопрос о теме: "как с карьерой?", "расскажи про отношения". Планировщик строит план на 4-10 пунктов (дома и планеты), система проверяет кэш, генерирует только недостающие тексты, затем синтезирует ответ. Каждый текст, сгенерированный для этого анализа, сохраняется и будет доступен для следующих вопросов.
FOLLOW_UP — уточнение или продолжение в рамках текущей темы. Не требует нового плана, но несёт в контексте все энергетические тексты сессии, ядро личности и всю беседу. Может подтянуть дополнительные данные, если разговор ушёл в смежную тему.
SIMPLE_CHAT — приветствия, общие вопросы, "что ты умеешь?". Один вызов модели, без астрологии.
Две модели, разделение ролей
Подготовительные агенты — классификатор, планировщик, генераторы энергетических текстов — всегда работают на Sonnet. Это быстрая и дешёвая модель, которая хорошо справляется со структурированными задачами.
Финальный ответ пользователю — синтез — идёт через модель, которую выбирает сам пользователь: Sonnet (быстрее и дешевле) или Opus (глубже и дороже). Именно на этапе синтеза проявляется разница в качестве: Opus лучше видит неочевидные связи между темами и строит более цельный портрет.
Что это дало
Стабильность. Один элемент карты — одна интерпретация. Третий дом описан один раз и не меняется от вопроса к вопросу. Если модель качественно описала энергетику — этот текст работает в любом контексте.
Накопление. Каждый вопрос "прогревает" карту. Первый анализ — самый дорогой, потому что система генерирует новые тексты. Второй — дешевле. Десятый — ещё дешевле. Карта становится богаче с каждым вопросом.
Переход на Claude. Старый подход работал на GPT-5-mini, которому не нужна была жёсткая структура. Новый требует точного следования формату энергетических описаний — и именно здесь выяснилось, что GPT с этим не справляется, а Sonnet — вполне.
Есть мысль когда-нибудь вернуть лёгкий режим с менее структурированным анализом. Но пока не хочется перегружать интерфейс — он и так местами сложноват.