
Зачем нужен AI-агент для новостей
Представьте личного аналитика, который 24/7 читает сотни источников, фильтрует шум и приносит только важное. Такой агент не устаёт, не пропускает дедлайны и не отвлекается на кликбейт. Это не фантазия — это реализуемый проект на базе современных LLM.
Ручной мониторинг новостей — как ловить рыбу голыми руками в мутной реке. Вы хватаете всё подряд, тратите часы и всё равно что-то упускаете. AI-агент — это эхолот: он сканирует глубину и показывает, где стоит закинуть удочку.
Для построения агента понадобятся локальные модели. Если у вас их ещё нет, начните с гайда по установке Ollama. Для расширения возможностей агента инструментами изучите протокол MCP — он позволит подключить внешние сервисы.
Шаг 1: Определите круг источников
Составьте список RSS-лент, Telegram-каналов, Twitter/X-аккаунтов и сайтов, которые хотите мониторить. Лучше 20 качественных источников, чем 200 зашумлённых.
AI-инструменты, которые можно сразу взять в работу
Подборка доступов и подписок к популярным сервисам: быстро, с авто-выдачей и понятной оплатой.
Критерии отбора
Актуальность: источники должны обновляться минимум раз в день.
Экспертиза: выбирайте нишевые площадки вместо общих новостных агрегаторов.
Разнообразие: включайте источники с разной точкой зрения для снижения информационного пузыря.
Шаг 2: Настройте сбор данных
Для RSS-лент используйте стандартные парсеры. Для Telegram и соцсетей — API или scraping-инструменты. Собранные данные сохраняйте в едином формате (JSON) с полями: заголовок, текст, источник, дата, ссылка.
import feedparser
def fetch_rss(url):
feed = feedparser.parse(url)
return [{
"title": entry.title,
"text": entry.summary,
"source": feed.feed.title,
"url": entry.link,
"date": entry.published
} for entry in feed.entries]
Шаг 3: Настройте LLM для анализа
Подключите локальную модель через Ollama или удалённый API. Модель будет получать каждую новость и определять: важна ли она, к какой теме относится, какой у неё тон (позитивный/негативный/нейтральный).
import requests
def analyze_article(text):
prompt = f"""Проанализируй новость и верни JSON:
- importance: high/medium/low
- topic: тема новости
- sentiment: positive/negative/neutral
- summary: одно предложение
Новость: {text[:2000]}"""
response = requests.post("http://localhost:11434/api/generate", json={
"model": "llama3.1",
"prompt": prompt,
"format": "json",
"stream": False
})
return response.json()["response"]
Шаг 4: Реализуйте фильтрацию
Не каждая новость заслуживает вашего внимания. Настройте фильтры по темам, ключевым словам и уровню важности. Это как сито: крупные куски остаются, мелкий шум проходит сквозь.
Белый список тем: новости по темам, которые вас интересуют.
Чёрный список источников: исключите источники с низким качеством.
Порог важности: показывайте только новости с уровнем importance = high.
Шаг 5: Настройте дайджесты
Агент должен не просто фильтровать, но и компоновать результаты. Настройте ежедневные или ежечасные дайджесты: сводка ключевых событий за период с кратким описанием каждого.
Формат дайджеста
Заголовок: самое важное событие дня.
Контекст: почему это важно и как связано с предыдущими событиями.
Источники: ссылки для углублённого изучения.
Шаг 6: Подключите уведомления
Критически важные новости должны приходить немедленно, а не ждать дайджеста. Настройте push-уведомления через Telegram-бота, email или webhook. Критерии «срочности» настраиваются индивидуально.
import requests
def send_telegram_alert(message, bot_token, chat_id):
url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
requests.post(url, json={
"chat_id": chat_id,
"text": message,
"parse_mode": "Markdown"
})
Шаг 7: Добавьте исторический анализ
Со временем агент накапливает базу проанализированных новостей. Используйте её для трендового анализа: какие темы набирают обороты, какие уходят в тень, как меняется тональность обсуждений.
Простой график частоты упоминаний ключевых слов по дням показывает больше, чем десятки ручных обзоров. Это барометр для принятия решений.
Шаг 8: Настройте обратную связь
Самый важный шаг. Агент должен учиться на ваших действиях: какие новости вы читаете, какие пропускаете, какие шарите. Эта обратная связь улучшает фильтрацию со временем.
Механика обучения
Лайки и дизлайки: простейший способ указать агенту, что правильно, а что нет.
Время чтения: если вы провели 3 минуты над новостью, она важна. Если закрыли за 5 секунд — нет.
Ручные теги: раз в неделю размечайте 20-30 новостей вручную для калибровки модели.
Архитектура агента
Полный агент — это не один скрипт, а система из нескольких компонентов:
Collector — собирает данные из источников по расписанию.
Analyzer — фильтрует и классифицирует через LLM.
Storage — сохраняет результаты в базу данных.
Notifier — отправляет уведомления и дайджесты.
Dashboard — веб-интерфейс для просмотра и настройки.
Безопасность и приватность
Мониторинг новостей предполагает обработку большого объёма данных. Если вы используете локальные модели через Ollama, данные не покидают вашу машину. При работе с облачными API проверяйте политику хранения данных провайдера.
Храните API-ключи в переменных окружения, не в коде. Настройте ротацию ключей и ограничьте доступ к агенту только доверенным пользователям.
Итог
Восемь шагов превращают хаотичное потребление новостей в управляемый поток. Начните с малого: 5-10 источников, простая фильтрация, один канал уведомлений. По мере роста потребностей добавляйте исторический анализ, машинное обучение на обратной связи и дашборд. Каждый следующий шаг делает агента умнее, а ваш рабочий день — свободнее.
AI-инструменты, которые можно сразу взять в работу
Подборка доступов и подписок к популярным сервисам: быстро, с авто-выдачей и понятной оплатой.