Polaris 部署指南:开源 AI 科研智能体,从文献到论文全流程自动化

市面上的「AI 科研助手」大多是聊天机器人套壳:读一篇论文、答几个问题、帮你改一段文字。浙大 ZJU-REAL 团队本周开源的 Polaris 走的是另一条路——把文献调研、想法生成、想法评审、GPU 实验、LaTeX 论文写作、论文评审六个阶段串成一条完整流水线,上一阶段的产物自动流入下一阶段,每个交接点都可以停下等人审批。

最值得抄的工程决策:重活(爬取、解析、去重、指标解析、引用匹配)全部用确定性代码完成,LLM 只负责判断类工作(打分、综合、起草、评审)。这种「确定性 vs 判断性」的切分让长任务跑得又便宜又可复现、可审计——做正经 Agent 项目都应该这么分。

六个阶段 + Voyage 智能体内核

  • 文献:从 OpenAlex、Semantic Scholar、arXiv 抓取论文,以锚点论文滚雪球式扩展引用,每篇论文编译成一页交叉链接的 Wiki(TL;DR、方法、可复用思路、概念反链)。同一篇论文全平台共享同一份解读,不随打开位置而变。
  • 想法:基于多信号缺口分析(概念共现空洞、论文局限、趋势速度)驱动检索增强的想法生成,按新颖性、可行性、可操作性、影响力四维打分。
  • 评审:配置不同人设的评审智能体两两辩论,裁判产出 Elo 排名;实验室成员通过 WebSocket 实时参与讨论,评论作为一等输入进入智能体上下文。
  • 实验:用 Fernet 加密的 SSH 凭据连到实验室 GPU 服务器。实验 Voyage 先问清需求、规划实验、通过算力预算检查,然后写代码、跑冒烟测试、正式启动(日志与指标曲线实时流式输出),再自动迭代:解析指标、反思、改进或止损,按时间预算而非固定重试次数修复失败;真卡住时会主动问人而不是报错。
  • 写作:多文件 LaTeX 工程(NeurIPS/ICLR/ACL 模板)+ CodeMirror 6 编辑器 + CRDT 实时协同编辑,服务端 tectonic 编译出实时 PDF。实验数字只能来自真实运行指标,引用必须映射到知识库真实条目。
  • 评审:提交前自动做引用核查。

所有长任务都以 Voyage 形式运行:可持久化、可断点续跑、带人工审批闸门,跨步骤读写基于文件的内存,跑几小时甚至几天都不会丢状态。这是值得直接复制的架构——长任务做成可审计、可重启的 run,而不是一把梭的调用。

两条命令跑起来

官方推荐 Docker Compose,开发和生产都适用,本地不需要装 Python、Node 或数据库:

cp .env.example .env        # 填入模型供应商 key 和密钥
make dev                    # docker compose 起全套服务,带热重载

前端在 http://localhost:5173,API 文档在 http://localhost:8000/docs。生产部署直接用 Docker Hub 预构建镜像,无需本地编译:

cp .env.example .env        # POLARIS_ENV=prod、POLARIS_IMAGE_TAG、密钥、LLM key
docker compose --env-file .env -f docker/docker-compose.yml pull
docker compose --env-file .env -f docker/docker-compose.yml up -d
docker compose -f docker/docker-compose.yml exec api alembic upgrade head   # 首次必跑

三个坑:worker 容器必须起(所有长任务都跑在它上面);首次迁移必须执行,Postgres 表不会自动创建;仓库根目录的 .env 控制 POLARIS_ENVPOLARIS_IMAGE_TAG 和模型 key。

模型路由:单一 LLM 边界,配置驱动

所有模型调用走同一抽象层,数据库路由表把每个研究阶段映射到具体的供应商、模型和推理强度——打分用便宜模型,辩论和起草用强模型。管理员设全局路由,用户可覆盖自己的;内置 fake provider 在生产环境被结构性禁用。模型选择是配置而不是硬编码,多阶段 Agent 系统直接照抄这个设计。

用 MCP 把研究栈接进 Claude Code

Polaris 自带一个只读 MCP server(Streamable HTTP 和 stdio 两种协议),暴露文献、知识库、项目状态、稿件和外部搜索。Claude Code、Codex、Cursor 都能直接连——每个工具带自检和试用 playground,接入前可以先试运行。这是给外部编码 Agent 提供领域知识库只读访问的干净范式,和 MCP 生态的整体走向一致。

实践建议

  • 先用访客账号逛一圈:http://101.37.174.109:8080,账号 guest / zjuguest123——只读、不调用任何模型,但所有页面包括管理视图都能看。
  • 抄「确定性 vs 判断性」的切分,这是长任务跑得起的根本原因。
  • 所有长任务都做成可续跑、带人工闸门的 run,跨步骤保留文件式内存。
  • 桌面客户端(macOS/Windows/Linux)从 Releases 下载;构建未签名:macOS 需先执行 xattr -dr com.apple.quarantine 放行,Ubuntu 24.04 可能还要 --no-sandbox

资源

发表评论

滚动至顶部