NewsieAI — パーソナライズドニュース発見プラットフォーム

AI/ML

概要

NewsieAIは、個別化されたニュース探索と支払い連携を想定したプロトタイプ的なプラットフォームです。プロジェクトは「デュアルエージェントアーキテクチャ」を採用しており、対話的にユーザーの嗜好やコンテキストを収集・更新するプロフィールビルダーエージェントと、プロファイルに基づく検索・取得と支払い検証を行うRetrieval/Payment系のエージェントで構成されています。フロントエンドはReactでワークフローUIを提供、バックエンドはFastAPIでAPIやエージェント間のオーケストレーションを担います。支払い検証にはSolanaベースの仕組みが組み込まれており、MCPツール群と連動してコンテンツの有料ゲーティングを実現します。

GitHub

リポジトリの統計情報

  • スター数: 24
  • フォーク数: 3
  • ウォッチャー数: 24
  • コミット数: 4
  • ファイル数: 4
  • メインの言語: Python

主な特徴

  • デュアル/マルチエージェントによる対話的ワークフロー設計
  • Reactフロントエンド + FastAPIバックエンドのモダン構成
  • プロファイル対応の検索(プロフィールを考慮した取得)と支払いゲーティング
  • Solanaチェーンを用いた支払い検証とMCPツール群の統合

技術的なポイント

NewsieAIの中心は「エージェント設計」による役割分担とパイプライン制御です。1つ目のエージェント(Dynamic Profile Builder)は、ユーザーとの対話を通じて興味・関心・文脈情報を収集し、外部情報やセッション履歴を踏まえてプロフィールを逐次更新します。これにより、単発のクエリだけでなく継続的なパーソナライゼーションが可能になります。2つ目以降のエージェントは、そのプロフィールを参照して適切な情報源から記事を検索・取得し、必要に応じて要約やランク付けを行います。

バックエンドはFastAPIで構築され、APIエンドポイントを介してフロントエンドのReactワークフローUIと通信します。FastAPIは非同期処理に強く、エージェント間のオーケストレーションや外部API呼び出し(検索API、LLM、ブロックチェーンノード)を効率良く扱えます。ログディレクトリが存在することから、実行履歴やデバッグ情報を蓄積し、エージェントの振る舞い検証やプロンプト改善に活用できる設計になっています。

支払いまわりでは「Solanaベースの支払い検証」が組み込まれており、オンチェーンのトランザクション確認をトリガーにしてコンテンツへのアクセス制御を実装する想定です。MCPツール群はおそらく支払いプロセスやアクセス権管理、メタデータ保護などのユーティリティを提供し、フロントエンドでの有料コンテンツ表示を安全に行えるようにします。

実装面では、モジュール化・分離設計(フロントエンド/バックエンド/ログ/ツール)が明確で、ローカル開発や拡張がしやすい構成です。将来的には、多様なLLMの統合、外部検索エンジンやベクター検索の導入、Solana以外のチェーン対応、スケーリング(水平分散・キューイング)やセキュリティ強化(トークン管理・シークレット保護)などが自然な拡張ポイントになります。(約700字程度)

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • backend: dir
  • frontend: dir
  • logs: dir

まとめ

個人向けニュース配信と支払い連携を試すプロトタイプとして実用性が高く、拡張性のある設計です。(50字程度)

リポジトリ情報:

READMEの抜粋:

NewsieAI

NewsieAI is an AI-powered workflow system for personalized news discovery, profile-aware retrieval, and payment-gated content access.
It combines a React workflow UI with a FastAPI backend, multi-agent orchestration, MCP tools, and Solana-based payment verification.

Project Overview

This project is built around a dual-agent architecture:

  1. Dynamic Profile Builder Agent
    An interactive, context-aware interface that helps collect and update external user input (pre…