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 (フロントエンド) |
すべての依存関係をワンコマンドでインストール |
使い方
- インストール –
uv sync(Python依存関係)とnpm run front:install(フロントエンド依存関係)を実行します。 - 設定 –
config/model.jsonを作成するか、Web UIを使用して、LLMプロバイダーのURL、APIキー、各エージェントのモデル「ティア」を設定します。 - 起動 –
uv run python main.pyでFastAPIサーバーを起動します(APIドキュメントはhttp://127.0.0.1:8000/docsで確認可能)。 - UIを実行 –
npm run front:dev(LANアクセスにはfront:dev:network)を実行し、Vueアプリをhttp://127.0.0.1:5173/で開きます。 - セッションを作成 – 研究トピックを入力し、SSE駆動のプログレスバーを観察しながら、システムが3つのソースを検索し、要約を読解し、PDFをダウンロードし、チャンク化し、サブトピックを分析し、アウトラインを作成し、各セクションを執筆する様子を確認します。
- 保存と再開 – すべての状態が永続化されているため、ブラウザを閉じて後から再開できます。
なぜ重要なのか
- エンドツーエンドの自動化:検索、読解、ノート作成、アウトライン作成、ドラフト作成の手作業ループを置き換えます。
- コストの可視化:各段階で異なるモデルティアを使用でき、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が重い作業を担いながらも、プロセス全体を可視化・制御可能にするように設計されており、文献レビューをより速く、体系的にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト