Tswoen/Paper-Agent

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

Paper‑Agent – AI 기반 연구 보조 도구

무엇을 할 수 있나요

  • 연구 주제를 입력하면 시스템이 자동으로 논문을 검색하고, 읽고, 결과를 분석하며, 단계별로 따라갈 수 있는 완전한 문헌 리뷰 초안을 생성합니다.
  • 전체 파이프라인은 검색, 읽기, 분석, 개요 작성, 글쓰기와 같은 전문적인 에이전트(검색, 읽기, 분석, 개요, 글쓰기)로 구성되며, OpenAI 또는 Anthropic 같은 대규모 언어 모델(LLM) 제공업체와 통신합니다.
  • 결과, 진행 상황, 중간 자산은 실시간으로 업데이트되는 웹 기반 워크벤치에 표시되며, Server-Sent Events(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을 생성하거나 웹 UI를 사용하여 LLM 제공업체 URL, API 키, 각 에이전트에 대한 모델 "티어"를 설정합니다.
  3. 시작uv run python main.py로 FastAPI 서버를 시작합니다 (http://127.0.0.1:8000/docs에서 API 문서 확인 가능).
  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이 무거운 작업을 처리하면서도 전체 프로세스를 시각화하고 제어할 수 있도록 하여, 문헌 리뷰를 더 빠르고 체계적으로 만드는 것을 목표로 합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트