首页 / 资讯中心 / 文章详情

PaperSpine 引用阶段(Citation Stage)实战指南:构建可验证的文献支持库

PaperSpine 引用阶段(Citation Stage)实战指南:构建可验证的文献支持库 ★ FEATURED ARTICLE
AI 技能AI 写作人工智能深度研究AI 应用【免费下载链接】PaperSpinePaperSpine5 — local-first, evidence-bound paper research, writing, figures, review and delivery. Download: https://wubing2023.github.io/PaperSpine/v5/项目地址https://gitcode.com/gh_mirrors/pa/PaperSpine点击查看免费下载导读本文围绕 PaperSpine 的 paper-spine orchestrator 引用阶段Citation Stage展开系统讲解如何为手稿中的文献陈述构建一份可验证的 citation support bank——包括文献检索优先级、13 列候选库表格规范、open_literature与closed_corpus两种文献范围契约以及配套的citation_bank_check.py、citation_quality_audit.py、citation_verification_en.py等校验脚本的完整命令行用法与底层实现原理。读完本文你将掌握从「收集候选文献」到「验证、覆盖度检查、精选入库」的完整流程并理解为什么「库检查 PASS」不能替代「手稿实际引用覆盖率」的最终核对。引用阶段的定位与目的citation.md是 paper-spine orchestrator 在引用环节的 canonical stage playbook标准阶段操作手册。它的核心目的是构建一份可验证的引用支持库citation support bank使手稿中的每一句文献陈述都有真实、可核验的来源支撑。需要特别强调它与「范例学习exemplar learning」的区别范例论文用于学习写作结构与目标场景的行文风格而引用支持库中的论文用于支撑用户手稿 Introduction、Related Work、Discussion、limitations、applications 和 background 中的具体文献陈述。两者不能混为一谈。引用阶段文档还澄清了一条重要边界历史遗留的 Runner bank schemas 与配额并不构成普通宿主写作的额外门槛。具体来说rewrite_existing改写已有文稿、指定本地材料路径、或materials_only设置本身不会把公共文献检索限制为封闭语料只有用户显式提出限制时公共文献才会被视为关闭。文献检索优先级协议引用阶段规定了四个层级的文献检索策略优先级从高到低Literature MCP tools首选若宿主环境配置了 MCP 服务器应优先使用并在每条引用的Source Channel列记录来源通道MCP-CNKI、MCP-IEEE、MCP-PubMed、MCP-Crossref、web、local或unknown。Host WebSearch / 浏览工具备选使用 Web 检索时Source Channel标记为web。本地文件基于本地 PDF/材料建立引用时Source Channel标记为local。MCP 是增强而非依赖即使没有任何 MCP 服务器也应从 web/local 来源正常构建引用支持库不能因缺少 MCP 而中断写作。这一协议在 SKILL.md 的研究环节得到呼应宿主 Agent 负责研究、引用检查、解读、写作与修订Web、本地文件和小脚本用于支撑交互、持久化、渲染与交付。工作引用笔记与候选库表格规范引用阶段要求沿用任务已有的任务文献目录task bibliography和声明支持笔记claim-support notes。当使用 legacy 表格检查器时以下 13 列 Markdown 表格是它接受的输入格式Candidate IDSource IDClaim Use IDReference/BibTeXYearRecencySupports SectionSupport Claim SentenceWhy This Paper FitsSourceSource ChannelVerifiedVerification Note这 13 列的语义在配套文档 citation-support-bank.md 中有更细的展开Source ID标识一篇论文书目身份Claim Use ID标识该论文在手稿中的一次使用。一篇来源可以支撑多个 claim但针对 source-coverage、recency 和 diversity 配额只计一次。每行配对一篇论文与一到两句支持句。支持句应当是可直接进入手稿的表述例如Prior work has shown that ...、Recent studies in ... motivate ...、This supports the Discussion claim that ...。支持句不得虚构不能编造来源元数据、摘要或用户提供 PDF/文本中不可见的结果。每行必须包含一种引用格式BibTeX、DOI、URL、arXiv ID或足以让用户核验的完整书目元数据。按 DOI、PMID、arXiv ID、BibTeX key、URL 或规范化引用去重多次 claim use 对来源覆盖、新颖性和多样性只计一次open_literature模式下若检索无法满足目标可记录SOURCE_COVERAGE_BLOCKEDclosed_corpus模式下记录CLOSED_CORPUS_EXHAUSTIVE及实际来源数严禁克隆行来凑数。配套文档给出了一个规范示例行以 arXiv 为引用格式Candidate IDSource IDClaim Use IDReference/BibTeXYearRecencySupports SectionSupport Claim SentenceWhy This Paper FitsSourceSource ChannelVerifiedVerification NoteC001S001U001Vaswani et al. Attention Is All You Need. arXiv:1706.037622017foundationalRelated WorkPrior work established self-attention as a replacement for recurrence.Foundational transformer paper the method builds on.arXivarxivyesConfirmed via arXiv abstract page; arXiv:1706.03762 title matches.输出位置约定为paper_rewriting_output/citation_support_bank.md参见 citation-support-bank.md。注意已有的已验证笔记足以复用单独命名一个 bank 文件不是写作的前置条件。文献范围契约open_literature 与 closed_corpus收集文献之前必须先解析literature_scope文献范围open_literature开放文献当任务允许文献发现、或需要新的 SOTA/领域地图时使用。候选池应当扩展以覆盖背景background、方法methods、近距离比较close comparisons与解读interpretation中的实际覆盖缺口。保存的最终参考文献目标是目标数量而不是候选池的乘数或年龄配额——即不能用「最终引用数 × N」或「近 X 年占比」作为完成要求。closed_corpus封闭语料用于仅允许引用所提供材料的证据受限改写。应去重并穷尽可用文献目录至少尽力覆盖已规划的最终引用目标若语料本身更小添加CLOSED_CORPUS_EXHAUSTIVE标记并报告实际总数。不要因为固定语料偏旧或小于 3 倍目标而阻塞写作——语料规模与年代是披露信息不是虚构来源的理由。关于范围解析有一条硬性判定只有用户显式将可用文献限制为所提供的来源时才解析为closed_corpus。单独的本地路径、specified_paths、rewrite_existing或materials_only均不关闭公共文献显式的离线指令限制的是「检索」行为而不是对已可用来源的身份核验。共享规则Shared Rules来源与使用分离Source ID标识论文Claim Use ID标识一次手稿使用一个来源可支持多个 claim但只对来源覆盖、新颖性和多样性配额贡献一次。每行填写Source ChannelMCP-CNKI、MCP-IEEE、web、local、unknown等。外部通道必须验证对web、MCP-*、Crossref、PubMed、Scholar、Semantic Scholar、IEEE、CNKI、WOS等外部通道Verified必须是yes、verified、pass或true之一且Verification Note必须说明核验方式DOI match、title match、Crossref/PubMed 页面、publisher 页面、database record或本地 PDF 元数据。验证失败的处理若外部验证无法完成该行不得进入可采用的 adopted 集合需保留其真实来源通道并标记验证为 pending可先基于已有证据继续起草同时继续来源核验。一个未被采用的候选行的空白字段不应阻塞基于已有效证据的写作。本地源同样需要核验local通道或空白验证字段不等于已验证。需记录实际文件支持了什么内容以及任何未解决来源问题provenance。Pending 必须可见分离未解决候选要明显标记并独立于 adopted 来源。legacy 检查器可能拒绝 pending 行——这诊断的是输入库的问题而不是停止受支持写作或篡改来源通道以掩盖疑点的理由。候选库是候选池最终写作只从中选取一个连贯的子集不要把所有候选全部倒入手稿。四步流程FlowCollection pass收集构建初始候选池为每一行填好Source Channel。Verification pass验证核验每一行外部来源填写Verified与Verification Note在适用时运行citation_quality_audit.py和citation_verification_en.py。Coverage check覆盖度检查区分unique_source_count唯一来源数与claim_use_count使用行数。若最终目标有缺口应寻找并整合相关、已验证的支持不要静默降低所要求的覆盖度若确因显式语料限制或期刊规则无法达成应报告冲突与实际覆盖情况。CLOSED_CORPUS_EXHAUSTIVE是 legacy 检查器用于「已穷尽所提供语料」的标记不是又一个写作门槛。任何模式下都不得重复使用行来填充数量。Curation精选手稿中只使用已验证、上下文匹配的来源未解决候选保持分离并继续基于已有的有效证据起草。候选库诊断与命令行实战诊断的目标必须从已保存的自定义数量或 journal-learning.md 中实际计数的目标期刊样本解析然后与当前手稿中实际引用的不同条目比较——而不是与库规模、使用行数或未被引用的 BibTeX 条目比较。bank 检查本身不做这最后一次比较。若数量不足应查找缺失文献并整合受支持的观点报告真实的范围/期刊冲突而不是把诊断 PASS 当作满足偏好。引用阶段文档给出的四个核心命令python scripts/citation_bank_check.py existing-bank.md --target-count resolved-target --scope open_literature --markdown python scripts/citation_bank_check.py existing-bank.md --target-count resolved-target --scope closed_corpus --markdown python scripts/citation_quality_audit.py paper_rewriting_output --write python scripts/citation_verification_en.py paper_rewriting_output/citation_support_bank.md --markdown --write下面结合源码逐一展开这些脚本的完整参数与判定逻辑。citation_bank_check.py候选库结构检查实现位于 citation_bank_check.py其完整参数如下参数默认值说明pathpaper_rewriting_output/citation_support_bank.md待检查的候选库文件--target-count0已解析的任务文献目标省略表示不做覆盖度评估只做结构检查。检查的是候选库不是最终手稿--multiplier1开放文献模式下要求候选数 目标数 × multiplier默认 1即不做 3 倍发现广度配额--recent-years3新颖性窗口年数--recent-ratio0.0要求的新近来源占比默认 0即不施加通用新近百分比--scopeopen_literatureopen_literature或closed_corpus--markdown/--json关输出格式--write关在库文件旁写出citation_bank_check.md关键实现事实脚本从源文件顶部注释即可看出设计取向没有与期刊无关的文献目标、发现乘数或年龄配额显式传入的 legacy 参数仅选择它们请求的结构检查DEFAULT_TARGET_COUNT 0、DEFAULT_MULTIPLIER 1、DEFAULT_RECENT_RATIO 0.0。required_candidates target_count if closed_corpus else target_count * multiplier封闭语料下要求至少达到目标数开放文献下才应用乘数。**唯一来源身份source identity**通过source_identity()提取按优先级识别 DOIdoi:、arXiv IDarxiv:、PMIDpmid:、BibTeX keybib:、URLurl:最后才回退到Source ID列source:或规范化文本text:。优先使用书目标识符而非 Agent 本地Source ID是为了防止「重贴标签一篇论文」就能虚增覆盖度。弱行检查每行必须同时满足「支持句」合并文本 ≥ 80 字符且含.!?。等句末标点与「引用格式」含、doi、http、arxiv、proceedings、journal之一大小写不敏感——该行为有测试 test_scripts.py 验证。封闭语料豁免当文本中存在CLOSED_CORPUS_EXHAUSTIVE且处于closed_corpus模式时来源数与行数低于目标不会被判 FAIL只产生警告同时提示「recency 与 3 倍发现广度仅是建议来源真实性、去重与 claim 支持仍然阻塞性」。退出码0 PASS、1 FAIL--write会写出citation_bank_check.md。测试 test_scripts.py 展示了一个 60 行候选库配合--target-count 20 --markdown的完整校验用例每行含 BibTeX 键、年份与 DOI并通过Support Claim Sentence列给出完整支持句最终输出Status: PASS。citation_quality_audit.py教学型引用质量审计实现位于 citation_quality_audit.py。它超越 DOI 验证对每条引用沿三个轴评分可解析性resolvability、新颖性recency、领域相关性field relevance并输出多样性缺口、失效引用的替换建议以及场景化引用策略。python scripts/citation_quality_audit.py paper_rewriting_output --write完整参数参数默认值说明output_dirpaper_rewriting_output读取其中的paper_spine_config.json取scene与citation_target_count与citation_support_bank.md--timeout30Crossref API 请求超时秒--delay1.0两次 API 请求之间的间隔秒用于礼貌节流--no-api关跳过 API 调用仅做结构分析--max-dois30最多通过 API 验证的 DOI 数--min-score60整体评分 PASS 下限--max-error-ratio0.30错误行占比 PASS 上限--max-pending-ratio0.50pending 行占比 PASS 上限--markdown/--json/--write—输出与落盘写citation_quality_audit.md关键实现事实DOI 识别DOI_RE支持doi: 前缀、https://doi.org/、https://dx.doi.org/三种写法每条记录只取第一个 DOI。验证判定通过 Crossref 解析后将本地标题与 Crossref 标题做相似度比较——相似度 ≥ 0.75 判verified可解析性 100 分0.500.75 判mismatched40 分 0.50 判mismatched20 分提示「很可能 DOI 指错了论文」。年份不匹配会追加 issue 与教学注记但在英文验证器中不直接导致失败。新近度评分当年 100 分、近 2 年 90、近 4 年 70、近 7 年 50、更早 20、无年份 30——注意该评分为启发式。非 DOI 来源处理有Verifiedyes/verified/pass/true且Verification Note≥ 12 字符、不含todo/tbd/pending/[verify]/unknown、并给出稳定标识arXiv ID 或 URL时标记 pending 且可解析性 80 分只有标记而无稳定标识被视为 self-attestation自证仅得 35 分并保持 pending既无 DOI 也无足够验证注记则判error0 分。引用类型分类按文本特征将引用分为sota直接任务/SOTA 论文、foundational奠基性方法、benchmark数据集/基准、survey综述、application应用、critique局限/鲁棒性/可复现/伦理。若某类型占比 5% 且非critique报告会提示多样性缺口。场景化引用策略内置journal、conference、report_review、competition四类场景的引导例如期刊场景要求「必须引用 3-5 个最新竞争方法缺失是 desk-reject 风险」综述场景则强调「引用 3-5 篇综述以确立覆盖广度」。PASS 判定整体分 ≥--min-score、错误占比 ≤ 0.30、pending 占比 ≤ 0.50三者同时满足才返回 0PASS。该脚本的测试位于 test_citation_quality_audit.py覆盖 DOI 提取、引用类型分类、新近度评分、标题相似度以及--no-api离线模式下「含 DOI 的行保持 pending 而不是离线提升为 verified」的语义。citation_verification_en.py英文引用的 Crossref 核验实现位于 citation_verification_en.py仅使用标准库通过公开 Crossref REST API无需密钥确认每条候选引用是否解析到真实已发表作品。python scripts/citation_verification_en.py paper_rewriting_output/citation_support_bank.md --markdown --write完整参数参数默认值说明bank_pathpaper_rewriting_output/citation_support_bank.md待核验的候选库--max-checks30最多核验的引用数--delay0.0请求间隔秒--no-api关完全不访问网络所有可查引用标记为skipped--markdown/--json/--write—输出与落盘写citation_verification_en.md关键实现事实匹配阈值标题相似度下限MIN_TITLE_SIMILARITY 0.6年份容差YEAR_TOLERANCE 1±1 年。优先 DOI 直查引用文本含 DOI 时直接GET /works/{DOI}DOI 使用urllib.parse.quote(safe)做百分号编码测试 test_citation_verification_en.py 验证了/、(、)会被编码无 DOI 时退化为query.bibliographic书目查询取前 200 字符、rows3并遍历返回的所有条目寻找标题与年份都匹配的项。local来源直接跳过Source Channel为local的行不查询 Crossref标记skipped。状态机matched/unmatched/skipped/warningAPI 不可达时标记warning并跳过而不是判失败——「Crossref 是增强而非硬依赖」。年份容差细节_crossref_year()优先取issued、published-print、published-online、published等实际出版日期字段最后才回退到created登记日期。测试 test_citation_verification_en.py 专门验证当 Crossref 只返回登记年份而本地为出版年份时条目仍判matched年份差异只记录在 note 中。PASS 判定存在unmatched条目、或匹配率 50% 时返回失败--no-api离线模式不会因年份问题失败测试 test_citation_verification_en.py。报告开头的 Scope 声明明确PASS 只代表 Crossref 标题/年份匹配不代表完整的书目审计——跳过项、作者/机构归属和 claim 支持仍需人工来源审查。中文引用场景citation_verification_zh.py对于中文文献仓库还提供 citation_verification_zh.py它检查中文引用格式要素作者姓名、《期刊名》、年份、卷期页码与 DOI 可用性。其文档字符串明确限定边界这些诊断不能证明伪造、书目身份或 claim 支持完整验证必须依赖原始来源或权威元数据任何一行都不会因为格式或可解析 DOI 而变成 VERIFIED。与前后环节的衔接引用阶段不是孤立环节。在 SKILL.md 的研究步骤中Agent 会同时阅读 research.md、local-reference-ingestion.md、citation.md、journal-learning.md 与目标期刊研究文档而引用目标的解析依赖 journal-learning.md 中保存的偏好字段默认值含义same_field_papers3同领域强相关论文数target_venue_papers3目标期刊代表论文数reference_count_modevenue_average以目标期刊样本书目规模均值为基准reference_countnull用户显式自定义数量custom模式在venue_average模式下应统计所选目标期刊论文的书目条目数、记录均值并至少瞄准floor(mean) 1篇有用参考文献——这是从样本得出的估计不是全期刊精确均值也不得使用被引次数。手稿完成前的最终参考文献核对则需要与 manuscript-format.md 的格式验证配合检查所有被引 key 与最终文献目录对应、按首次使用顺序编号、缺失/未使用条目、重复/分组/范围引用等。常见误区与边界源码级澄清库检查 PASS ≠ 手稿引用覆盖率达标citation_bank_check.py 与 citation_quality_audit.py 的 Markdown 输出都带一句 Scope 声明候选库结构、来源身份、可解析性、新近度/类型评分都不是最终引用覆盖率、来源内容支持或手稿就绪度。最终比较必须用「当前手稿中实际引用的不同条目」对目标进行。大候选库不能替代最终核对citation-support-bank.md 明确指出最终引用的条目要与保存的目标对账候选库再大也不能替代这一步。严禁克隆行凑数open_literature与closed_corpus两种模式下重复使用行填充数量都是禁止的citation_bank_check.py会统计duplicated_source_uses并在报告中呈现。未验证候选不得支撑最终论断无法完成外部验证的行保留真实通道、标记 pending、与 adopted 集合分离citation_quality_audit.py会把「Verified 标记但无稳定标识」明确判为 self-attestation 并降分。Crossref 不可达 ≠ 证据伪造两套验证脚本的 teaching note 均强调「Crossref 查询失败不建立伪造、撤稿或 DOI 无效」——这是未完成的查询不是造假证据。避免把偏好当成配额通用「三年内 X%」的新近百分比与「3 倍发现广度」都已被显式取消为硬性要求脚本默认值DEFAULT_RECENT_RATIO 0.0、DEFAULT_MULTIPLIER 1是否要求新近性取决于字段与任务而非普适滚动窗口。小结PaperSpine 的引用阶段把「文献引用」从「贴参考文献」提升为一条可验证的证据链按优先级协议检索 → 按 13 列规范建库 → 依据literature_scope契约设定范围 → 走完收集/验证/覆盖度/精选四步 → 用三个检查脚本结构检查、质量审计、Crossref 核验给出可复现的 PASS/FAIL 判定。全程坚持两条底线来源身份与 claim 支持双核验以及未验证候选绝不进入手稿。理解这些规则与它们的源码实现你就能在自己的论文写作流程中复现这套「本地优先、证据绑定」的引用工作流。赞分享AI 技能AI 写作人工智能深度研究AI 应用【免费下载链接】PaperSpinePaperSpine5 — local-first, evidence-bound paper research, writing, figures, review and delivery. Download: https://wubing2023.github.io/PaperSpine/v5/项目地址https://gitcode.com/gh_mirrors/pa/PaperSpine点击查看免费下载相关推荐PaperSpine 引文阶段实战指南从文献检索优先级到引文支持库验证PaperSpine 引文阶段实战指南从文献检索优先级到引文支持库验证 本篇技术指南完整讲解 PaperSpine5 论文编排器paper spine orAI 技能AI 写作人工智能深度研究AI 应用PaperSpine 引用支持库Citation Support Bank从文献候选池到可核验引用表的完整实战指南PaperSpine 引用支持库Citation Support Bank从文献候选池到可核验引用表的完整实战指南 本文围绕 PaperSpine 的 cAI 技能AI 写作人工智能深度研究AI 应用PaperSpine 引文支持库Citation Support Bank实战指南Scope-Aware 候选池构建、验证与去重PaperSpine 引文支持库Citation Support Bank实战指南Scope Aware 候选池构建、验证与去重 本文围绕 PaperSpAI 技能AI 写作人工智能深度研究AI 应用上一篇桌面音频可视化用Lano Visualizer让音乐看得见下一篇d2dx解锁《暗黑破坏神2》在现代PC上的60fps高帧率与宽屏显示创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站