用途
Literature Engineer 是一个证据收集型技能,用于在锁定的检索策略下扩充候选文献,并补齐可追溯的元数据,构建一个大规模、可验证的候选文献池,供下游的去重、排序、映射、笔记、引用与撰写使用。
主要能力
- 多路召回:支持离线导入、在线检索与引文滚雪球三种路径合并。
- 离线优先合并:读取多种格式的离线导出文件(csv、json、jsonl、bib),并为每个文件标注来源。
- 在线检索:可选启用 arXiv API 检索,必要时尝试 Semantic Scholar 路径。
- 引文滚雪球:通过参考文献或引用关系扩展种子论文(在线),或合并离线滚雪球导出。
- 规范化与去重:规范化 ID 与 URL,合并重复项并合并来源信息。
- 领域包:通过 topic 匹配加载领域包,例如针对 LLM 智能体主题固定经典/综述 arXiv ID。
- 生成检索报告:输出覆盖分桶与缺失元数据统计。
使用方式
快速开始:
uv run python .codex/skills/literature-engineer/scripts/run.py --help
读取 queries.md 中的检索配置,包括关键词、排除项、最大结果数与时间窗口。
离线导入(将导出文件放入 papers/imports/ 后运行):
uv run python .codex/skills/literature-engineer/scripts/run.py --workspace <workspace>
显式离线多路输入:
uv run python .codex/skills/literature-engineer/scripts/run.py --workspace <workspace> --input path/to/a.bib --input path/to/b.jsonl
在线 arXiv 检索(需要网络):
uv run python .codex/skills/literature-engineer/scripts/run.py --workspace <workspace> --online
滚雪球(除离线导出外需要网络):
uv run python .codex/skills/literature-engineer/scripts/run.py --workspace <workspace> --snowball
输入与输出
输入:queries.md;可选离线来源 papers/import.csv|json|jsonl|bib、papers/arxiv_export.csv|json|jsonl|bib、papers/imports/.csv|json|jsonl|bib;可选离线滚雪球 papers/snowball/.csv|json|jsonl|bib。
输出:
- papers/papers_raw.jsonl:每行一条记录,最小字段包括 title、authors、year、url、稳定标识(arxiv_id 或 doi)、abstract、source 与 provenance。
- papers/papers_raw.csv:供人工浏览。
- papers/retrieval_report.md:路线计数、缺失元数据统计与后续操作。
质量要求
- 候选池需达到当前工作流声明的检索下限且不伪造;若工作流有 retrieval_policy.minimum_records 则采用该值,调查型配置可能基于 core_size 推导更严格的目标。
- 每条记录需有稳定标识(arxiv_id 或 doi,加 url)。
- 每条记录需有 provenance,标明由哪条路线、文件或 API 产生。
适用场景
适用于需要按锁定检索策略扩充文献候选并补齐可追溯元数据的证据优先型文献综述工作流,例如 LLM 智能体等主题的经典与综述论文收集。
限制
- 在线扩充需要网络;arXiv API 在某些环境可能不稳定。
- 在线检索是尽力而为;若因临时网络错误返回 0 条,重试通常即可,管线不应伪造数据。
- 若无法达到目标候选池,正确行为是阻断并请求更多导出或启用网络。
- 若 HTTPS/TLS 到外部域不稳定,Semantic Scholar 路径通过 r.jina.ai 代理获取。