^-^
刘润钦的个人博客
Paper-Agent 在 opencode 中的实现
最近更新:2026-06-01   |   字数:1.2k   |   时长:4分钟   |   阅读:
  1. 总体结构
  2. 安装目录
  3. 配置重点
  4. 简要介绍:四个代理如何分工
    1. paper:主代理
    2. reader-deep:独立阅读子代理
    3. arbiter:仲裁代理
    4. diagnose:诊断代理
  5. Skill 放什么
  6. 使用流程
  7. 这套设计解决什么问题

论文阅读 Agent 不该只是“总结 PDF”。真正有用的版本,要能读原文、拆证据、做独立核查,并在结论不稳时停下来。

这套设计参考了 Paper-Agents-OSS。它把论文工作流拆成检索、处理、解释、记忆和报告几个阶段,并强调多模型校验。这里不复刻它的 Web 系统,只把核心思想移植到 opencode:主代理负责调度,子代理负责独立阅读,skill 固化论文分析规程。

核心文件:

总体结构

1
2
3
4
5
paper 主代理:第一分析
├── reader-deep:盲读原文,给出独立的第二分析
├── arbiter:对比分歧,按原文裁决
├── diagnose:分歧过大时指出症结
└── paper-reading skill:提供论文阅读检查表

主代理和用户对话,决定何时派活,最后收口。子代理只做窄任务。Skill 不扮演角色,只提供方法。

安装目录

项目级配置建议这样放:

1
2
3
4
5
6
7
8
9
10
11
12
your-project/
├── opencode.json
├── AGENTS.md
└── .opencode/
├── agents/
│ ├── paper.md
│ ├── reader-deep.md
│ ├── arbiter.md
│ └── diagnose.md
└── skills/
└── paper-reading/
└── SKILL.md

如果想全局使用,就放到 ~/.config/opencode/agents/~/.config/opencode/skills/。配置、agent、skill 改完后要重启 opencode。

配置重点

opencode.json 做四件事:

  1. 声明 schema,避免配置字段写错。
  2. 把默认代理设为 paper
  3. 注册项目内 skill 路径。
  4. 用权限限制工具和 skill。

完整配置直接下载:opencode-paper-suite.json

建议保留这种权限风格:读文件和搜索可以放开,网络、写文件、shell 命令需要确认;论文阅读代理只允许调用 paper-reading,必要时再允许画结构图或数据图。

简要介绍:四个代理如何分工

paper:主代理

paper 是 primary agent。它负责理解需求、读取原文、组织分析、派出子代理、整合结果。

它的核心纪律是:先拆问题和证据,再给解释。不要从摘要一路滑到结论。

reader-deep:独立阅读子代理

reader-deep 只看原文,不看主代理草稿。它输出独立阅读结果,包括问题、贡献、方法、实验、限制和证据位置。

意义在于给出独立的、不受主代理污染的意见。主代理如果先写出强判断,后续模型很容易顺着走。

arbiter:仲裁代理

它比较主代理和独立阅读子代理的分析,以其中一份为底稿,按原文修正、补全,生成最终分析文档。若出现实质分歧,arbiter 回到原文裁决。它不做折中,也不选更顺眼的答案,只看证据。

diagnose:诊断代理

如果仲裁不确定、三方意见分歧太大,diagnose 出场。它不强行下结论,而是指出分歧为什么发生:表格误读、指标混淆、符号复用、实验范围不足,或论文自身表述含糊,回答给主代理并交付用户。

基于准确性、模型能力与 Token 成本的考虑,建议以 3.1 Pro 作为主代理,DeepSeek V4.0 Pro 作为独立阅读子代理,GPT 或 Opus 作为仲裁与诊断模型。

Skill 放什么

paper-reading skill 只放工作法:

  • 把论文看作 claim 和 evidence 的集合。
  • 每个重要结论都要找到来源。
  • 方法要讲输入、输出、假设和关键机制。
  • 实验要看数据集、baseline、指标、主表和消融。
  • 限制要分清作者承认的和读者能看出的。

不要把 skill 写成另一个代理。角色、调度和最终判断属于 agent;流程和检查表属于 skill。

使用流程

最小步骤:

  1. 下载 opencode-paper-suite.json,改名为 opencode.json
  2. 下载四个 agent 文件,放入 .opencode/agents/,并去掉 .txt 后缀。
  3. 下载 paper-reading.skill.md.txt,放到 .opencode/skills/paper-reading/SKILL.md
  4. 下载 AGENTS.routing.md.txt,改名为 AGENTS.md
  5. 重启 opencode。
  6. 扔给它一篇论文。

可以这样问:

1
请用 paper agent 读这篇论文。我要知道它解决什么问题、方法是否站得住、实验支持到什么程度,以及主要漏洞在哪里。

这套设计解决什么问题

它不是为了让回答更花哨,而是为了降低三类错误:

  • 幻觉:论文没说,模型替它说了。
  • 顺读:只读摘要和引言,没有检查图表、消融和实验设置。
  • 自我强化:同一上下文里的模型互相附和。

Paper-Agents-OSS 给出的启发是工作流分层和多阶段校验;opencode 适合把这种思想做成轻量个人工具,增加自由度和操作容错率。

上一篇 如何在 opencode 中组织主代理、子代理与 Skill 下一篇 岱宗盒子 —— 交兵安卓工具箱发布