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 (프론트엔드) |
모든 종속성의 단일 명령어 설치 |
사용 방법
- 설치 –
uv sync(Python 종속성) 및npm run front:install(프론트엔드 종속성)을 실행합니다. - 구성 –
config/model.json을 생성하거나 웹 UI를 사용하여 LLM 제공업체 URL, API 키, 각 에이전트에 대한 모델 "티어"를 설정합니다. - 시작 –
uv run python main.py로 FastAPI 서버를 시작합니다 (http://127.0.0.1:8000/docs에서 API 문서 확인 가능). - 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이 무거운 작업을 처리하면서도 전체 프로세스를 시각화하고 제어할 수 있도록 하여, 문헌 리뷰를 더 빠르고 체계적으로 만드는 것을 목표로 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트