Tswoen/Paper-Agent

Paper-Agent 是一个面向科研人员和学生的智能论文检索与调研工具。项目基于多智能体协作架构(LangGraph),通过自然语言处理(NLP)、自动化搜索,帮助用户高效查找学术论文、分析文献内容,并进行论文调研。Paper-Agent 支持多平台集成、关键词搜索、自动分析、论文调研,提升了学术研究的效率。适用于论文写作、学术调研、科研项目管理等多种场景,是学术调研的理想助手。

Paper‑Agent – AI駆動の研究アシスタント

何ができるか

  • 研究トピックを入力すると、システムは自動的に論文を検索し、読解し、結果を分析し、ステップバイステップで追える完全な文献レビューをドラフトします。
  • 全体のパイプラインは、検索、読解、分析、アウトライン作成、執筆といった専門的なエージェント(Search, Read, Analyse, Outline, Write)のセットで構成されており、OpenAI や Anthropic などの大規模言語モデル(LLM)プロバイダーと連携します。
  • 結果、進捗状況、中間成果物は、リアルタイムで更新されるサーバーサイドイベント(SSE)を介して表示されるウェブベースのワークベンチに表示され、すべてローカルの SQLite + ファイルシステムに保存されるため、一時停止して後で再開できます。

主な技術要素

レイヤー 技術 役割
実行環境 Python 3.12+, uv パッケージマネージャ バックエンドサービスの実行
API FastAPI (Uvicorn) RESTエンドポイントとSSEストリームの公開
ワークフローエンジン LangGraph (typed-dict共有状態) マルチエージェントパイプラインの調整
エージェント カスタムPythonエージェント(Search, Read, Analyse, WritingOutline, Writing) 研究ワークフローの各段階を担当
LLM統合 OpenAI互換およびAnthropic互換プロバイダー プロンプト生成、情報抽出、テキスト作成
論文ソース arXiv, OpenAlex, Semantic Scholarコネクタ メタデータとPDFの取得
PDF処理 pypdf → Markdown → テキストチャンク化 PDFを検索可能なテキストに変換
ベクトルストア ChromaDB 類似性検索に高速なチャンク埋め込みを保存
永続化 SQLite + JSON/Markdownファイル セッション、中間結果、最終ドラフトの保存
フロントエンド Vue 3 + TypeScript + Vite 進捗状況、モデル設定、チャットスタイルのセッションビューを表示
パッケージ管理 uv (Python) & npm (フロントエンド) すべての依存関係をワンコマンドでインストール

使い方

  1. インストールuv sync(Python依存関係)と npm run front:install(フロントエンド依存関係)を実行します。
  2. 設定config/model.json を作成するか、Web UIを使用して、LLMプロバイダーのURL、APIキー、各エージェントのモデル「ティア」を設定します。
  3. 起動uv run python main.py でFastAPIサーバーを起動します(APIドキュメントは http://127.0.0.1:8000/docs で確認可能)。
  4. UIを実行npm run front:dev(LANアクセスには front:dev:network)を実行し、Vueアプリを http://127.0.0.1:5173/ で開きます。
  5. セッションを作成 – 研究トピックを入力し、SSE駆動のプログレスバーを観察しながら、システムが3つのソースを検索し、要約を読解し、PDFをダウンロードし、チャンク化し、サブトピックを分析し、アウトラインを作成し、各セクションを執筆する様子を確認します。
  6. 保存と再開 – すべての状態が永続化されているため、ブラウザを閉じて後から再開できます。

なぜ重要なのか

  • エンドツーエンドの自動化:検索、読解、ノート作成、アウトライン作成、ドラフト作成の手作業ループを置き換えます。
  • コストの可視化:各段階で異なるモデルティアを使用でき、UIは各ステップごとのトークン使用量を表示します。
  • 透明性:リアルタイムのSSE更新により、システムが何をしているかを正確に確認でき、必要に応じて介入できます。
  • 拡張性:LangGraph上で構築されているため、新しいエージェントやカスタムプロンプトを追加しても、全体のスタックを再書き換えする必要がありません。

参加方法

  • 問題報告とプルリクエストを歓迎します。テストは test/ ディレクトリにあり、uv run python -m unittest discover -s test -v で実行できます。
  • フロントエンドの変更は、マージ前に npm run front:build を通す必要があります。
  • プロジェクトはオープンソースで、リポジトリ https://github.com/Tswoen/Paper-Agent にてライセンスされています。

Paper‑Agentは、LLMが重い作業を担いながらも、プロセス全体を可視化・制御可能にするように設計されており、文献レビューをより速く、体系的にします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト