Вроде бы все сделал вашего комментария, проверяйте:
Баги: чёрный текст в тултипе калибровочного графика — починен (Recharts игнорировал color в contentStyle, пришлось написать кастомный рендерер). Нелокализованный severity_critical — был баг несовпадения enum-ключей между бэком и i18n, теперь добавлен.
Тултипы: все метки (сектор, статус, Высокая/Критическая, горизонты) теперь объясняют себя при наведении. Даты тоже — первая это дата создания, вторая истечения. Вероятность — объяснение что это байесовская оценка, обновляется по новым данным.
Brier Score: добавил тултип с формулой (вероятность − исход)² и текстовый ярлык — «Отличная точность» / «Хорошая» / «Хуже случайного» — чтобы не нужно было знать шкалу наизусть.
Калибровочная кривая: добавил текстовое объяснение под заголовком («точки выше диагонали — недооценка рисков») и верхнюю ограничительную линию на 100%.
Нарративы: добавил блок-определение в самом начале страницы. Плюс глоссарий на странице «О проекте» — 8 терминов с объяснениями, включая Seldon Crisis, Likelihood Ratio, что такое байесовская вероятность в контексте системы.
Авто/Вручную/Истёкших — у всех четырёх метрик теперь тултипы с расшифровкой.
Клик по метке = фильтр — реализовал для секторов и статусов. Клик добавляет фильтр и показывает активный chip с кнопкой × для сброса. На странице нарративов клик по сектору переходит на страницу прогнозов с этим фильтром.
Спасибо! Стек максимально простой: Backend: FastAPI + Celery + Redis+ PostgreSQL (pgvector для RAG) Frontend: React + Vite + Tailwind LLM: DeepSeek Reasoner + GPT-5.4 + Claude Sonnet (LLM Council — три модели дебатируют между собой), DeepSeek Reasoner (мини-скептик), Claude Opus с мощным ризонингом (Основной скептик и Селдон), GPT-5.4 как fallback, Tavily (для поиска ЛЛМ в интернете) и Deepseek Chat во всех остальных делишках (переводчик, классификатор новостей и постов, резолвер) и GPT-5.4-mini как fallback. Оркестрация — Celery. Просто таски по расписанию: сбор сигналов раз в час → фильтрация, кластеризация → анализ в 8 утра UTC (8 агентов параллельно, каждый через Council из 3 моделей) → мини-скептик → основной скептик → Селдон → переводчик → публикация. Весь пайплайн — цепочка Celery tasks. Опенсорс подумаю) Когда баги пофиксю, чтобы не позориться :D
Иронично, что резолвер сам написал "Forecast period ends 2026-06-11" и "future rate decisions could alter outcome", но всё равно поставил correct + high
Вернул его в работу обратно и подкорректировал условия
Сделал частично) Буду смотреть ближайшие дни что там получится.
Кластеризация сигналов — похожие новости из разных источников группируются через cosine similarity эмбеддингов. Reuters + BBC + ТАСС про одно событие → один кластер с source_count: 3. Меньше шума, меньше токенов.
Рейтинги источников — каждому СМИ автоматически присваивается оценка надёжности по секторам на основе исторических Brier Score.
Цепочки событий — кластеры из разных дней связываются в временные сюжетные линии. Отслеживается стадия: слух → обсуждение → подтверждение → эскалация → разрешение. Система знает, что сегодняшние санкции — это продолжение вчерашней истории.
Крутая идея, особенно с рейтингом источников. Сейчас все в куче и всех одинаковый вес и ЛЛМ даже в режиме жесткого спора будут путаться кому можно доверять, а кому нет. Будет следующей на очереди. Все сразу наверное не осилю, но вес добавить вроде как не сложно
Насколько я понял их концепцию (правда я сильно не погружался в Polymarket), у них люди делают ставки на тот или иной исход. Там как бы работает мудрость толпы, можно сказать. Со всеми сопутствующими плюсами и минусами. А мне любопытно, могут ли ЛЛМ сами наванговать что-то. Без прямых манипуляций. Полимаркет, кстати, один из источников у меня :D Как сканнер настроения толпы.
Если заработает, то потом постараюсь прикрутить туда детектор разных манипуляций. Блин, надо эту идея записать :D
Апдейт 3: Мы тут коллективно задавались вопросом, почему нет прогнозов про интересующий нас регион. Оказалось, что я просто накосячил :D
Текущие 7 аналитиков, плюс скептик с Селдоном смотрели глобально и не обращали внимания на локальные движухи отдельно взятых стран. Они видели новости, сообщений, но по большей части игнорировали их. Это ошибка, потому что локальные движухи могут сильно сказаться на всем регионе, континенте и даже глобально на всем человечестве.
Теперь в ансамбле 8 аналитиков. Добавил Political Analyst - специализация на внутренней политике государств.
Новый агент анализирует через 5 линз: динамика внутренней политики (элитные расколы, преемственность и все такое), информационный контроль (блокировки, цензура), принуждение, социальное давление (скрытое недовольство vs. публичная лояльность), исторические циклы аналогичных политических образований.
Апдейт 2: Всё, что было в списке почти реализовано (кроме эмоциональных полей). Финальный счёт:
Семантическая память прогнозов
Весовое ранжирование агентов
Байесовский пересчёт. Агенты теперь не выдают "я думаю 65%", а оценивают likelihood ratio: "эта новость в 3 раза вероятнее, если гипотеза верна". Формула Байеса делает остальное. Каждое обновление - с полным audit trail: prior ->LR -> posterior.
Эвристические правила. Пять детерминированных проверок между Seldon и БД: сверхуверенность (P>90%), якорение на 50%, разброс мнений аналитиков, крупная коррекция Скептика, несоответствие текста и горизонта. Пока только алерты, не автокоррекция, потому что для модификаторов нужна статистика, а прогнозов ещё мало. И нет ни одного, который бы сбылся, не сбылся (истек, короч).
LLM Council
Эмоциональные поля СМИ отложены
Плюс бонусом:
Pipeline Audit Log: каждое предложение аналитика записывается: одобрено или нет, почему, что сказал Скептик. Полная прозрачность на /pipeline.
Детекция медиа-предвзятости: Скептик теперь активно ищет три вида искажений в новостном потоке: availability bias (медиа кричат, а реальные показатели спокойны), selection bias (одна сторона в 10× больше эфирного времени), narrative momentum (тема уже протухла, а статьи по инерции идут).
Почему эмоциональные поля отложены: Это по сути отдельный продукт. NER (Это когда из текста "Президент Макрон встретился с Си Цзиньпином в Пекине для обсуждения торговых санкций" извлекаются: Макрон - персона, Си - персона, Пекин - локация, Франция - страна, Китай - страна) + сентимент экстракшн на каждую публикацию, хранилище временных рядов, z-score аномалии. И главное, нужны месяцы накопления данных, прежде чем временные ряды начнут что-то показывать. РОЙ не раньше чем через 3-6 месяцев после запуска. Пока приоритет - накопить решенные прогнозы и раскачать калибровку того, что уже работает.
Почему эвристики - только алерты: Автоматическая коррекция вероятностей требует калибровочных кривых ("когда система давала 70%, реальность наступала в X% случаев"). Для этого нужны сотни истекших прогнозов. На десятках точек данных модификатор будет добавлять шум, а не точность. План: алерты сейчас -> калибровочные кривые через 3-6 месяцев -> автокоррекция через 6-12.
Если что, я сделал канал в ТГ, туда буду постить новости и решенные прогнозы. Сюда тоже буду, так что подписываться не обязательно. Это просто для того ,что вдруг, кому-то удобнее в ТГ, чем здесь.
А пока пойду думать как подешевле и эффективнее сделать анализ 5000 военных конфликтов
Сделал) Завтра появится с новым запуском. Каждый можно открыть и прочитать почему, зачем и из-за чего. Пока только на английском (пояснения критика и прогнозы)
Хорошо. Я изначально вообще не планировал разводить срач в посте, где народ обсуждает возможность прогнозирования. Хабр даже спросил у меня публиковать ли этот комментарий или удалить. Но кто я такой, чтобы запрещать людям высказывать свое мнение? Так вот, начну с того, что Хабр - это не рецензируемый журнал и не академический кружок, где запрещены любые мнения, кроме линии партии (Ну насколько я понимаю концепцию). Пост был метафорой и размышлениями вслух, а не заявкой на нейробиологическую истину. Метафора может быть сколь угодно неточной, для этого и существует дискуссия, которую можно вести без эпитетов вроде "наглая ложь" и "сопливый зумер".
По существу: я нигде не утверждал, что LLM = мозг. Аналогия между двумя системами - это не заявление об их идентичности. Когда говорят "атом похож на солнечную систему", никто не думает, что электроны горят водородом.
При этом пара замечаний к вашей критике. Тезис "в мозге нет вообще ничего похожего на веса, даже на сотую долю процента" - это перегиб в обратную сторону. Синаптическая пластичность (LTP/LTD) описывается именно как изменение силы связи - это не миф 50-х, а мейнстримная нейронаука. Да, реальный механизм несравнимо сложнее скалярного весового коэффициента, но утверждать что там "вообще ничего похожего" значит отрицать целое направление.
И любопытно, что вы пишете "текст — это код, который запускает генерацию информации у нас в голове". Это ровно тот же уровень метафоры, за который вы меня ругаете.
В целом, если убрать из вашего комментария переходы на личности, там есть интересные мысли про необратимость развития НС и синаптический прунинг. Но подача, к сожалению, обесценивает содержание.
Вроде бы все сделал вашего комментария, проверяйте:
Баги: чёрный текст в тултипе калибровочного графика — починен (Recharts игнорировал
colorвcontentStyle, пришлось написать кастомный рендерер). Нелокализованныйseverity_critical— был баг несовпадения enum-ключей между бэком и i18n, теперь добавлен.Тултипы: все метки (сектор, статус, Высокая/Критическая, горизонты) теперь объясняют себя при наведении. Даты тоже — первая это дата создания, вторая истечения. Вероятность — объяснение что это байесовская оценка, обновляется по новым данным.
Brier Score: добавил тултип с формулой
(вероятность − исход)²и текстовый ярлык — «Отличная точность» / «Хорошая» / «Хуже случайного» — чтобы не нужно было знать шкалу наизусть.Калибровочная кривая: добавил текстовое объяснение под заголовком («точки выше диагонали — недооценка рисков») и верхнюю ограничительную линию на 100%.
Нарративы: добавил блок-определение в самом начале страницы. Плюс глоссарий на странице «О проекте» — 8 терминов с объяснениями, включая Seldon Crisis, Likelihood Ratio, что такое байесовская вероятность в контексте системы.
Авто/Вручную/Истёкших — у всех четырёх метрик теперь тултипы с расшифровкой.
Клик по метке = фильтр — реализовал для секторов и статусов. Клик добавляет фильтр и показывает активный chip с кнопкой × для сброса. На странице нарративов клик по сектору переходит на страницу прогнозов с этим фильтром.
Класс! Спасибо) Все сделаю, только баги пофиксю
Спасибо!
Стек максимально простой:
Backend: FastAPI + Celery + Redis+ PostgreSQL (pgvector для RAG)
Frontend: React + Vite + Tailwind
LLM: DeepSeek Reasoner + GPT-5.4 + Claude Sonnet (LLM Council — три модели дебатируют между собой), DeepSeek Reasoner (мини-скептик), Claude Opus с мощным ризонингом (Основной скептик и Селдон), GPT-5.4 как fallback, Tavily (для поиска ЛЛМ в интернете) и Deepseek Chat во всех остальных делишках (переводчик, классификатор новостей и постов, резолвер) и GPT-5.4-mini как fallback.
Оркестрация — Celery. Просто таски по расписанию: сбор сигналов раз в час → фильтрация, кластеризация → анализ в 8 утра UTC (8 агентов параллельно, каждый через Council из 3 моделей) → мини-скептик → основной скептик → Селдон → переводчик → публикация. Весь пайплайн — цепочка Celery tasks.
Опенсорс подумаю) Когда баги пофиксю, чтобы не позориться :D
Да, идея хорошая, попробую так сделать
Пока что прогнозирует только 120)
Ахха...надеюсь за такие прогнозы ко мне черный воронок не приедет :D
Добавлю в фильтр, да. Забыл про него
Апдейт: Добавил)
Все правильно, спасибо, что заметили!
он слишком оптимистично это сделал))
Иронично, что резолвер сам написал "Forecast period ends 2026-06-11" и "future rate decisions could alter outcome", но всё равно поставил correct + high
Вернул его в работу обратно и подкорректировал условия
Сделал частично) Буду смотреть ближайшие дни что там получится.
Кластеризация сигналов — похожие новости из разных источников группируются через cosine similarity эмбеддингов. Reuters + BBC + ТАСС про одно событие → один кластер с
source_count: 3. Меньше шума, меньше токенов.Рейтинги источников — каждому СМИ автоматически присваивается оценка надёжности по секторам на основе исторических Brier Score.
Цепочки событий — кластеры из разных дней связываются в временные сюжетные линии. Отслеживается стадия: слух → обсуждение → подтверждение → эскалация → разрешение. Система знает, что сегодняшние санкции — это продолжение вчерашней истории.
Крутая идея, особенно с рейтингом источников. Сейчас все в куче и всех одинаковый вес и ЛЛМ даже в режиме жесткого спора будут путаться кому можно доверять, а кому нет.
Будет следующей на очереди. Все сразу наверное не осилю, но вес добавить вроде как не сложно
Отличная идея, спасибо! Записал)
Чую, разорюсь на обращениях к ЛЛМ
Насколько я понял их концепцию (правда я сильно не погружался в Polymarket), у них люди делают ставки на тот или иной исход. Там как бы работает мудрость толпы, можно сказать. Со всеми сопутствующими плюсами и минусами.
А мне любопытно, могут ли ЛЛМ сами наванговать что-то. Без прямых манипуляций. Полимаркет, кстати, один из источников у меня :D Как сканнер настроения толпы.
Если заработает, то потом постараюсь прикрутить туда детектор разных манипуляций. Блин, надо эту идея записать :D
Апдейт 3:
Мы тут коллективно задавались вопросом, почему нет прогнозов про интересующий нас регион. Оказалось, что я просто накосячил :D
Текущие 7 аналитиков, плюс скептик с Селдоном смотрели глобально и не обращали внимания на локальные движухи отдельно взятых стран. Они видели новости, сообщений, но по большей части игнорировали их.
Это ошибка, потому что локальные движухи могут сильно сказаться на всем регионе, континенте и даже глобально на всем человечестве.
Теперь в ансамбле 8 аналитиков. Добавил Political Analyst - специализация на внутренней политике государств.
Новый агент анализирует через 5 линз: динамика внутренней политики (элитные расколы, преемственность и все такое), информационный контроль (блокировки, цензура), принуждение, социальное давление (скрытое недовольство vs. публичная лояльность), исторические циклы аналогичных политических образований.
Апдейт 2: Всё, что было в списке почти реализовано (кроме эмоциональных полей). Финальный счёт:
Семантическая память прогнозов
Весовое ранжирование агентов
Байесовский пересчёт. Агенты теперь не выдают "я думаю 65%", а оценивают likelihood ratio: "эта новость в 3 раза вероятнее, если гипотеза верна". Формула Байеса делает остальное. Каждое обновление - с полным audit trail: prior ->LR -> posterior.
Эвристические правила. Пять детерминированных проверок между Seldon и БД: сверхуверенность (P>90%), якорение на 50%, разброс мнений аналитиков, крупная коррекция Скептика, несоответствие текста и горизонта. Пока только алерты, не автокоррекция, потому что для модификаторов нужна статистика, а прогнозов ещё мало. И нет ни одного, который бы сбылся, не сбылся (истек, короч).
LLM Council
Эмоциональные поля СМИ отложены
Плюс бонусом:
Pipeline Audit Log: каждое предложение аналитика записывается: одобрено или нет, почему, что сказал Скептик. Полная прозрачность на
/pipeline.Детекция медиа-предвзятости: Скептик теперь активно ищет три вида искажений в новостном потоке: availability bias (медиа кричат, а реальные показатели спокойны), selection bias (одна сторона в 10× больше эфирного времени), narrative momentum (тема уже протухла, а статьи по инерции идут).
Почему эмоциональные поля отложены: Это по сути отдельный продукт. NER (Это когда из текста "Президент Макрон встретился с Си Цзиньпином в Пекине для обсуждения торговых санкций" извлекаются: Макрон - персона, Си - персона, Пекин - локация, Франция - страна, Китай - страна) + сентимент экстракшн на каждую публикацию, хранилище временных рядов, z-score аномалии. И главное, нужны месяцы накопления данных, прежде чем временные ряды начнут что-то показывать. РОЙ не раньше чем через 3-6 месяцев после запуска. Пока приоритет - накопить решенные прогнозы и раскачать калибровку того, что уже работает.
Почему эвристики - только алерты: Автоматическая коррекция вероятностей требует калибровочных кривых ("когда система давала 70%, реальность наступала в X% случаев"). Для этого нужны сотни истекших прогнозов. На десятках точек данных модификатор будет добавлять шум, а не точность.
План: алерты сейчас -> калибровочные кривые через 3-6 месяцев -> автокоррекция через 6-12.
Если что, я сделал канал в ТГ, туда буду постить новости и решенные прогнозы. Сюда тоже буду, так что подписываться не обязательно. Это просто для того ,что вдруг, кому-то удобнее в ТГ, чем здесь.
А пока пойду думать как подешевле и эффективнее сделать анализ 5000 военных конфликтов
Сделал) Завтра появится с новым запуском. Каждый можно открыть и прочитать почему, зачем и из-за чего. Пока только на английском (пояснения критика и прогнозы)
Хорошо. Я изначально вообще не планировал разводить срач в посте, где народ обсуждает возможность прогнозирования. Хабр даже спросил у меня публиковать ли этот комментарий или удалить. Но кто я такой, чтобы запрещать людям высказывать свое мнение?
Так вот, начну с того, что Хабр - это не рецензируемый журнал и не академический кружок, где запрещены любые мнения, кроме линии партии (Ну насколько я понимаю концепцию). Пост был метафорой и размышлениями вслух, а не заявкой на нейробиологическую истину. Метафора может быть сколь угодно неточной, для этого и существует дискуссия, которую можно вести без эпитетов вроде "наглая ложь" и "сопливый зумер".
По существу: я нигде не утверждал, что LLM = мозг. Аналогия между двумя системами - это не заявление об их идентичности. Когда говорят "атом похож на солнечную систему", никто не думает, что электроны горят водородом.
При этом пара замечаний к вашей критике. Тезис "в мозге нет вообще ничего похожего на веса, даже на сотую долю процента" - это перегиб в обратную сторону. Синаптическая пластичность (LTP/LTD) описывается именно как изменение силы связи - это не миф 50-х, а мейнстримная нейронаука. Да, реальный механизм несравнимо сложнее скалярного весового коэффициента, но утверждать что там "вообще ничего похожего" значит отрицать целое направление.
И любопытно, что вы пишете "текст — это код, который запускает генерацию информации у нас в голове". Это ровно тот же уровень метафоры, за который вы меня ругаете.
В целом, если убрать из вашего комментария переходы на личности, там есть интересные мысли про необратимость развития НС и синаптический прунинг. Но подача, к сожалению, обесценивает содержание.
Как говорил мой дедушка, когда лупил меня ремнем:
"Когда тебя ругают или бьют, внучок, это потому что тебе только добра желают" :D
Хаха))
Занес в свой туду лист, спасибо! Закончу текущие и изучу внимательно, как это можно реализовать
Да, статмех в планах)
Не уверен, правда, что пупок не развяжется :D
Да, скорей всего так и есть. Но я даже не уверен, что мы (люди) умеем мыслить:)
Самому очень любопытно что получится