用途
icml-cite 用于为 ICML 论文查找、验证和管理参考文献,核心目标是避免虚构引用。语言模型容易记错参考文献,包括错误的作者、年份、会议,甚至根本不存在的论文。提交中的虚构或错误引用属于学术不端行为,且 ICML 已在 camera-ready 阶段运行自动参考文献检查器。本技能使每条引用都可追溯到数据库记录。
主要能力
- 搜索 DBLP、Semantic Scholar、arXiv 和 Crossref 等数据库查找文献。
- 以编程方式获取 BibTeX 条目。
- 将 arXiv 条目升级为其正式发表版本。
- 对照 LaTeX 源文件审计 .bib 文件,报告缺失的引用键、未使用条目、重复条目、缺失必需字段、仅 arXiv 或 CoRR 条目、未保护的大写字母、残留占位符以及引用命令使用问题。
- 记录引用状态到 .icml/citations_log.md,包括 key、状态(verified / existence-only / placeholder)、已检查的源、是否存在正式发表版本和备注。
- 为相关工作部分提供支持:返回已验证的 BibTeX、一句话说明论文内容以及它与项目的关系,按方法论脉络分组。
使用方式
首先运行 python scripts/init_workspace.py --root <latex-root> --skill icml-cite 初始化共享的 .icml/ 工作区,格式说明见 references/workspace-contract.md。
添加引用时:
- 明确该引用支持的确切论断。
- 使用
python scripts/cite_lookup.py search "query terms" [--year-from 2020]搜索,可添加--source arxiv搜索预印本。 - 匹配标题、第一作者和年份,优先选择正式发表版本。
- 使用
python scripts/cite_lookup.py bibtex --dblp <key>或--doi <doi>或--arxiv <id>获取 BibTeX,原封不动粘贴到 .bib 中,仅做有限编辑(设置引用 key、用花括号保护标题大写字母、删除样式不需要的字段)。 - 核实论断,必要时阅读摘要或相关章节。
- 记录到 .icml/citations_log.md。
审计参考文献时,运行 python scripts/check_bib.py main.tex refs.bib,然后核实每个尚未在 citations_log.md 中的条目,优先核实支持摘要、引言和实验部分中论断的条目以及每个基线。对于 arXiv 条目,运行 python scripts/cite_lookup.py published "<title>" 查找正式发表版本。
适用场景
- ICML 论文写作过程中的引用添加与验证。
- 提交前的参考文献审计。
- Camera-ready 阶段将 arXiv 引用替换为正式发表版本。
- 为相关工作部分整理和分组参考文献。
限制
- 绝不要凭记忆编写或编辑 BibTeX 条目,每条条目必须来自数据库响应或用户提供的文件。
- 如果无法获取来源,插入显眼的占位符并告知用户,同时将 [cite] 项添加到 .icml/open_issues.md 中。
- 离线时,明确告知用户,保留已有的已验证条目,为新条目添加占位符并列出它们,即使对于著名论文也不要凭记忆补全。
- 如果无法访问论文内容核实论断,将该引用记录为 existence-verified, claim-unverified 并告知用户。
- 脚本仅使用标准库。
文件
- scripts/cite_lookup.py — 搜索 / bibtex / 正式发表版本查找(仅标准库)。
- scripts/check_bib.py — 对照 LaTeX 源文件进行参考文献审计。
- scripts/init_workspace.py — 创建共享的 .icml/ 工作区。
- references/citation-rules.md — ICML 引用格式、匿名性、BibTeX 规范。
- references/workspace-contract.md、references/icml-venue-facts.md — 共享文件。