draft-related-work

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Draft Related Work

撰写相关工作部分

Produces a Related Work section that positions the paper — every paragraph is a cluster of actually-retrieved prior work plus an explicit delta sentence — formatted to the target venue's conventions. This is a writing skill with two hard gates:
  • Anti-hallucination. A citation that was not retrieved and verified in this session does not ship.
  • Anti-structural-hole. The clusters the section MUST cover are derived from the paper's own claimed scope, never from whatever
    find-papers
    happened to return. A retrieved-but-peripheral corpus produces an outline that positions confidently while leaving a hole exactly where the paper lives — a missing direct-competitor cluster, an absent canonical lineage, a whole expected sub-area with zero citations. That gap is found deterministically and routed back to
    find-papers
    as a targeted second pass, not shipped as a silent author to-do.
生成能为论文精准定位的相关工作部分——每个段落对应一组实际检索到的已有研究,外加一句明确的研究增量语句——且格式符合目标会议的规范。本写作技能设有两道严格的审核关卡:
  • 防幻觉引用:未在本次会话中检索并验证的引用不会被纳入最终内容。
  • 防结构缺失:该部分必须覆盖的聚类主题由论文自身宣称的研究范围推导而来,绝非仅基于find-papers工具检索到的内容。若检索到的文献仅涉及外围领域,生成的大纲会准确定位论文,同时明确指出缺失的关键部分——比如缺少直接竞品的聚类主题、未涵盖经典研究脉络、某一预期子领域无任何引用。这类缺口会被精准识别,并引导返回find-papers工具进行针对性的二次检索,不会仅作为作者待办事项而被隐藏。

When to use

使用场景

  • Drafting Related Work for a new paper, given a topic and a target venue.
  • Rewriting an existing section reviewers called a "laundry list", "thin", "missing comparisons", or "unclear novelty".
  • Folding newly found papers (or a reviewer's "you missed X, Y, Z") into an existing section without breaking its structure.
  • NOT for finding papers (use
    find-papers
    ), reading one paper (
    fetch-paper
    ), a full thematic survey (
    literature-review
    ), or checking an existing bibliography only (
    verify-citations
    ).
  • 给定研究主题和目标会议,为新论文撰写相关工作部分。
  • 重写被审稿人评价为“罗列无逻辑”“内容单薄”“缺少对比”或“创新性不明确”的现有相关工作部分。
  • 将新检索到的论文(或审稿人指出的“你遗漏了X、Y、Z”)整合到现有相关工作部分中,且不破坏原有结构。
  • 不适用于:检索文献(请使用find-papers)、单篇论文阅读(请使用fetch-paper)、完整主题综述(请使用literature-review)或仅检查现有参考文献(请使用verify-citations)。

Inputs

输入信息

  • The paper's core claim/contributions, AND its sub-tasks/requirements (from the draft's intro/abstract, or ask). These drive the required-cluster enumeration in step 2 — without them the section can only mirror the retrieved pile.
  • Target venue — a
    venues/conferences/<id>.yml
    profile if one exists (its
    exemplar_distribution
    calibrates the section's length/breadth).
  • Candidate prior work: output of
    find-papers
    /
    literature-review
    , the draft's
    .bib
    , and/or papers the user names.
  • CONTACT_EMAIL
    env var for the metadata script (prompts if unset).
  • 论文的核心论点/贡献,及其子任务/要求(来自草稿的引言/摘要,或需主动询问)。这些信息会驱动步骤2中所需聚类主题的枚举——缺少这些信息,相关工作部分只能被动反映检索到的文献内容。
  • 目标会议——若存在
    venues/conferences/<id>.yml
    配置文件,需提供该文件(其中的
    exemplar_distribution
    字段用于校准相关工作部分的篇幅和广度)。
  • 候选已有研究:find-papers/literature-review的输出结果、草稿的.bib文件,和/或用户指定的论文。
  • 用于元数据脚本的
    CONTACT_EMAIL
    环境变量(若未设置会提示输入)。

Process

操作流程

  1. Pin down the venue's conventions. Read
    venues/conferences/<id>.yml
    (fields:
    family
    ,
    format.template
    ,
    review.blind
    , track page limits) and the family file it references. Profiles are a starting point, never ground truth — re-verify anything that affects the draft (template, blind level, page budget) against the live
    cfp_url
    before relying on it. Then read references/placement-conventions.md for where the section goes, how long it runs, citation-command style, and self-citation rules at that venue family. When conventions are unclear, confirm empirically: pull 3–5 recent papers from the venue itself (
    find-papers
    DBLP toc query,
    study-exemplars
    ) and observe placement.
  2. Derive the REQUIRED clusters from the paper's claimed scope — before looking at what was retrieved. Enumerate the paper's contributions, sub-tasks, and requirements from the brief/intro. For each, name the cluster of direct prior approaches a reviewer would expect to see positioned against, plus the foundational-lineage / canonical anchor that sub-area is built on (the originating method, not only the latest refinement). This list is the target; it does not yet have citations. Driving it from claimed scope (not the corpus) is what makes it generalize across papers and venues, and is what surfaces the hole the retrieved pile hides. Method and worked examples: references/clustering-and-deltas.md (§ Required clusters from claimed scope).
  3. Assemble the candidate pool — retrieved papers only. Sources: the user's
    .bib
    ,
    find-papers
    results, the references and citations of the 1–2 closest known papers (
    find-papers --paper
    style lookups). Pull deliberately toward the required clusters from step 2, not just whatever a topic search returned. Target 10–25 candidates. A paper enters the pool only with a concrete identifier (DOI or arXiv ID). If the user names a paper without one, find it first; if it cannot be found, say so — never proceed on a guessed reference.
  4. Build the clustering worksheet. Run:
    python3 scripts/gather_candidates.py <DOI> <arXiv-ID> ... [--from-file ids.txt]
    It fetches each paper's metadata one polite request at a time (title, year, venue, citation count, abstract, tldr) and prints a worksheet with empty
    cluster:
    /
    delta:
    slots. Treat the output as transient working material — it contains abstracts; never commit it. Identifiers it flags as unresolved (exit 3) are unverified: park them until cleared. Where the abstract is missing or the paper is pivotal, read it via
    fetch-paper
    .
  5. Map the pool onto the required clusters and run the coverage gate. Assign each retrieved paper to one of the step-2 required clusters (a paper that fits none is an outlier — keep only if reviewer-expected). Write the assignment into a small plan file (one block per required cluster, listing the cite keys assigned). Tag each key by evidence tier so precision stays visible and the floor cannot be met by padding — append
    !graph
    /
    !keyword
    /
    !heuristic
    to a key the paper is not confirmed to cite (an untagged key means "the paper is known to cite this"):
    "refs": ["li2018deep", "yao2019computing",          # confirmed-cited
             "smith2023!graph",   # surfaced by citation-graph edge — plausible
             "doe2022!heuristic"] # 'a strong paper would cite this' — weakest
    Then run:
    python3 scripts/check_coverage.py plan.json   # or plan.txt (see --help)
    Only confirmed-cited refs count toward the floor. The gate FAILs (exit 3) on any required cluster with zero confirmed cites — including one "covered" only by speculative refs (padding masks a real hole) — and WARNs below the floor (default 2). It also prints a precision estimate (confirmed / total) and caps heuristic-only additions (default 2 across the plan,
    --heuristic-cap
    ) so the core set stays scope-justified. On a failing or thin cluster, take its emitted second-pass retrieval worklist back to
    find-papers
    and fill the gap with confirmed cites, then re-run — do NOT draft over an empty required cluster, satisfy the floor by padding with speculative refs, or ship a gap as a silent author to-do. Only when the gate clears (or the user explicitly accepts a documented thin cluster) proceed to clustering prose.
  6. Cluster and articulate the delta per cluster. With coverage cleared, group the pool into 3–6 themes along the axis that makes this paper's gap visible, then write one delta sentence per cluster: what the cluster achieves, what it lacks for this paper's problem, what this paper does about it. Method, patterns, and anti-patterns: references/clustering-and-deltas.md. Show the user the cluster plan (cluster names, members, delta sentences) before writing prose — restructuring is cheap now, expensive later.
  7. Draft the section. One paragraph per cluster (claim sentence → representative works → limitation → delta), a dedicated paragraph for the single closest competitor, and a closing positioning paragraph. Match the venue: citation commands and self-citation voice per step 1; calibrate length and breadth to the venue family's measured exemplar median, not to maximal coverage — read the profile's
    exemplar_distribution
    (
    related_work
    band when present) or measure 3–5 recent venue papers via
    study-exemplars
    , falling back to the family norm in references/placement-conventions.md only when neither exists. Emit
    .tex
    (or markdown if the draft is not LaTeX) plus BibTeX entries for any citation not already in the user's
    .bib
    — entries built strictly from retrieved metadata. Add a comparison table only when the criteria in the clustering reference are met.
  8. Audit deterministically. Run:
    python3 scripts/audit_bib.py refs.bib --tex related-work.tex
    Fix every blocking finding: cite keys missing from the
    .bib
    , duplicate entries, entries with no DOI/eprint/URL (unverifiable — the classic hallucinated-reference shape), incomplete entries. The style census in its output must match the venue's convention.
  9. Gate through
    verify-citations
    .
    Every entry cited by the new section gets verified against Crossref/DBLP/S2 before delivery. Anything that fails verification is removed from the prose or explicitly flagged to the user as unconfirmed — never left in silently, and never "fixed" by inventing plausible fields.
  1. 明确会议规范:读取
    venues/conferences/<id>.yml
    文件(字段包括:
    family
    format.template
    review.blind
    、会议页数限制)及其引用的家族文件。配置文件仅作为参考,绝不能视为绝对标准——在依赖这些信息前,需通过会议的实时
    cfp_url
    重新验证所有影响草稿的内容(如模板格式、盲审级别、页数限制)。随后阅读references/placement-conventions.md,了解相关工作部分的位置、篇幅、引用命令格式以及该会议家族的自引规则。若规范不明确,需通过实证确认:从该会议中选取3-5篇近期论文(使用find-papers的DBLP目录查询、study-exemplars工具),观察其排版方式。
  2. 从论文宣称的研究范围推导所需聚类主题——先于查看检索结果:从论文大纲/引言中枚举其核心贡献、子任务和要求。针对每一项,命名审稿人预期会看到的直接已有研究方法聚类主题,以及该子领域所基于的基础脉络/经典研究(即起源方法,而非仅最新改进版)。此列表为目标主题,暂无引用文献。基于研究范围而非检索文献推导主题,是本工具能适配各类论文和会议的关键,也能暴露检索文献所隐藏的缺口。方法和实例可参考:references/clustering-and-deltas.md(§ 从研究范围推导所需聚类主题)。
  3. 组建候选文献池——仅包含检索到的论文:来源包括:用户的.bib文件、find-papers的结果、1-2篇最相关已知论文的参考文献和引用文献(使用find-papers --paper格式查询)。需刻意向步骤2中确定的所需聚类主题靠拢,而非仅纳入主题搜索返回的内容。目标候选文献数量为10-25篇。只有具备明确标识符(DOI或arXiv ID)的论文才能进入候选池。若用户指定的论文无标识符,需先检索;若无法找到,需告知用户——绝不能基于猜测的参考文献继续操作。
  4. 生成聚类工作表:运行以下命令:
    python3 scripts/gather_candidates.py <DOI> <arXiv-ID> ... [--from-file ids.txt]
    该脚本会以礼貌的方式逐个请求获取每篇论文的元数据(标题、年份、会议、引用量、摘要、tldr),并生成带有空白
    cluster:
    /
    delta:
    栏位的工作表。请将输出视为临时工作材料——其中包含论文摘要,切勿提交到代码仓库。脚本标记为未解析的标识符(退出码3)属于未验证内容:需暂存直至验证通过。若论文摘要缺失或该论文至关重要,可通过fetch-paper工具阅读全文。
  5. 将候选文献映射到所需聚类主题并执行覆盖度检查:将每篇检索到的论文分配到步骤2确定的所需聚类主题之一(若某篇论文不匹配任何主题则视为 outliers——仅当审稿人预期会看到时才保留)。将分配结果写入一个小型计划文件(每个所需聚类主题对应一个区块,列出分配的引用键)。为每个引用键标记证据层级,确保精准度可见,且不会通过凑数满足最低引用要求——若论文未确认引用该文献,需在引用键后追加
    !graph
    /
    !keyword
    /
    !heuristic
    (未标记的引用键表示“已确认论文引用该文献”):
    "refs": ["li2018deep", "yao2019computing",          # 已确认引用
             "smith2023!graph",   # 通过引用图关联发现——合理推测
             "doe2022!heuristic"] # “优质论文会引用该文献”——可信度最低
    随后运行:
    python3 scripts/check_coverage.py plan.json   # 或plan.txt(详见--help)
    只有已确认引用的参考文献才计入最低引用量要求。若任何所需聚类主题无已确认引用(包括仅通过推测引用凑数的主题),覆盖度检查将失败(退出码3);若引用量低于最低要求则发出警告(默认最低要求为2篇)。脚本还会输出精准度估算值(已确认引用数/总引用数),并限制仅基于推测的引用添加量(默认全计划最多2篇,可通过
    --heuristic-cap
    调整),确保核心引用集符合研究范围。若聚类主题未通过检查或引用量不足,需将脚本输出的二次检索任务清单返回find-papers工具,补充已确认的引用文献后重新运行检查——绝不能在所需聚类主题为空的情况下撰写内容,不能通过凑数推测引用满足最低要求,也不能将缺口仅作为作者待办事项隐藏。只有当检查通过(或用户明确接受已记录的引用量不足的聚类主题)时,才能进入聚类内容撰写环节。
  6. 聚类并针对每个主题阐述研究增量:覆盖度检查通过后,将候选文献分为3-6个主题,突出本文的研究缺口,然后为每个主题撰写一句增量语句:该主题的已有研究成果、针对本文问题的不足、本文的解决方案。方法、范式和反范式可参考:references/clustering-and-deltas.md。在撰写正文前,需向用户展示聚类计划(主题名称、成员、增量语句)——此时调整结构成本低,后续调整成本高。
  7. 撰写相关工作部分:每个聚类主题对应一个段落(论点句→代表性研究→局限性→增量),为最接近的竞品单独撰写一个段落,最后撰写一个总结定位段落。匹配会议规范:遵循步骤1确定的引用命令格式和自引语气;根据会议家族的样本中位数校准篇幅和广度,而非追求最大覆盖度——读取配置文件的
    exemplar_distribution
    字段(若存在
    related_work
    区间),或通过study-exemplars工具测量3-5篇近期会议论文,若两者均不存在则 fallback 到references/placement-conventions.md中的家族规范。输出.tex格式(若草稿非LaTeX则输出markdown格式),并为用户.bib文件中未包含的引用添加BibTeX条目——条目严格基于检索到的元数据。仅当符合聚类参考文档中的标准时,才添加对比表格。
  8. 确定性审核:运行以下命令:
    python3 scripts/audit_bib.py refs.bib --tex related-work.tex
    修复所有阻塞性问题:.bib文件中缺失的引用键、重复条目、无DOI/eprint/URL的条目(无法验证——典型的幻觉引用特征)、不完整条目。脚本输出的格式统计必须符合会议规范。
  9. 通过verify-citations工具验证:新部分中引用的每个条目都需通过Crossref/DBLP/S2验证后再交付。任何验证失败的条目需从正文中移除,或明确标记为未确认告知用户——绝不能隐藏,也不能通过虚构合理字段“修复”。

Output

输出内容

  • The drafted/rewritten Related Work section (
    .tex
    or markdown), clustered, with a delta per cluster, in the venue's citation style.
  • New BibTeX entries (metadata only — always safe to keep).
  • A short positioning summary: the required clusters derived from scope and whether each cleared the coverage gate, per-cluster delta, the closest competitor and the precise distinction, plus anything left unverified.
  • The coverage gate's precision estimate (confirmed-cited / total refs) and any speculative additions (graph/keyword/heuristic tier) called out explicitly as plausible-but-unconfirmed, so the user can prune them before submission rather than treating cluster-floor satisfaction as proof of citation. When the ground truth is a known subset, report recall against that subset separately from this precision band.
  • If any required cluster could not be filled, the second-pass retrieval worklist (for
    find-papers
    ) reported explicitly — never buried as a silent author to-do.
  • 撰写/重写后的相关工作部分(.tex或markdown格式),已完成聚类,每个主题包含研究增量,符合会议引用规范。
  • 新的BibTeX条目(仅含元数据——可安全保留)。
  • 简短的定位总结:从研究范围推导的所需聚类主题,以及每个主题是否通过覆盖度检查,每个主题的研究增量,最接近的竞品及具体差异,还有所有未验证的内容。
  • 覆盖度检查的精准度估算值(已确认引用数/总引用数),以及明确标注的推测引用添加(graph/keyword/heuristic层级),说明这些是合理但未确认的引用,用户可在提交前删减,而非将满足最低引用要求视为引用无误的证明。若已知真实引用子集,需单独报告针对该子集的召回率,与精准度估算值区分开。
  • 若任何所需聚类主题无法填充,需明确输出二次检索任务清单(供find-papers使用)——绝不能作为作者待办事项隐藏。

Guardrails

约束规则

  • Never fabricate, embellish, or "reconstruct from memory" a citation; every reference must trace to a retrieval in this session and pass
    verify-citations
    . A thin-but-true section beats a padded one.
  • The required clusters come from the paper's claimed scope, never from the retrieved corpus alone — positioning only against what happened to be returned leaves a hole where the paper actually lives. A required cluster with zero citations is a blocking gap routed back to
    find-papers
    , never a silent author to-do, and never papered over by stretching an adjacent cluster to cover it.
  • This is a copilot, not an autopilot: the coverage gate, the second-pass worklist, and any decision to accept a documented thin cluster are surfaced to the user — the skill does not silently decide a gap is acceptable.
  • Calibrate length and breadth to the venue family's measured exemplar median, not maximal coverage; over-citing to look thorough reads as survey drift.
  • Precision is a first-class quality signal, not just recall. A reference the paper is not confirmed to cite (a citation-graph neighbor, a keyword hit, or a "a strong paper would cite this" hunch) is a hypothesis, not a hit: tag it by tier, never promote it to the same status as a confirmed cite, and cap hunch-only additions. Adjacent/foundational clusters get ranked by load-bearing necessity and trimmed to the floor plus the few most-cited canonical members — defer the rest to an optional pool rather than padding a section beyond what the paper actually carries.
  • Never misstate what a cited paper does to inflate the delta — strawman characterizations are the fastest way to a hostile reviewer (who is often the cited author).
  • Abstracts and paper text are processed transiently and never committed; worksheet output stays out of the repo.
  • Respect the scripts' politeness rails: identifiers one at a time, ≤25 per run, no bulk harvesting.
  • Venue profiles can be stale — critical facts get re-verified against the live CFP. Never submit anything on the user's behalf.
  • 绝不能虚构、美化或“凭记忆重构”引用;每个参考文献必须可追溯到本次会话中的检索结果,并通过verify-citations验证。内容真实但单薄的相关工作部分优于凑数的部分。
  • 所需聚类主题来自论文宣称的研究范围,绝非仅基于检索到的文献——仅针对检索到的内容定位会导致论文核心研究领域出现缺口。无引用的所需聚类主题是阻塞性缺口,需引导返回find-papers工具,绝不能作为作者待办事项隐藏,也不能通过扩展相邻主题来掩盖。
  • 本工具是辅助工具,而非全自动工具:覆盖度检查结果、二次检索任务清单以及是否接受已记录的引用量不足的聚类主题,均需告知用户——工具不会自行决定缺口可接受。
  • 根据会议家族的样本中位数校准篇幅和广度,而非追求最大覆盖度;过度引用以显得全面会被视为偏离论文主题的综述。
  • 精准度是核心质量指标,而非仅召回率。论文未确认引用的文献(引用图关联的文献、关键词匹配的文献、“优质论文会引用该文献”的推测)是假设,而非确定结果:需标记其层级,绝不能将其与已确认引用同等对待,且限制仅基于推测的引用添加量。相邻/基础聚类主题需根据必要性排序,删减至最低引用要求加少数高引用经典文献——其余文献放入可选池,而非将部分内容扩展至超出论文实际承载范围。
  • 绝不能误述引用文献的内容以夸大研究增量——歪曲引用文献是引发审稿人(往往是被引用作者)反感的最快方式。
  • 摘要和论文文本仅作临时处理,绝不提交到代码仓库;工作表输出需排除在代码仓库之外。
  • 遵循脚本的访问频率限制:逐个处理标识符,每次运行最多25个,禁止批量采集。
  • 会议配置文件可能过时——关键信息需通过实时会议征稿通知重新验证。绝不能代表用户提交任何内容。

References

参考文档

  • references/clustering-and-deltas.md — deriving required clusters from claimed scope, the citation floor and zero-citation gap routing, clustering axes, the per-cluster paragraph pattern, delta phrasing, comparison tables, anti-patterns, handling the closest competitor.
  • references/placement-conventions.md — per-community placement and length norms, calibrating length to the venue's measured exemplar median, citation-command styles, blind-level self-citation rules, how to verify conventions empirically.
  • references/clustering-and-deltas.md——从研究范围推导所需聚类主题、最低引用要求和无引用缺口处理、聚类维度、每个主题的段落范式、增量表述、对比表格、反范式、最接近竞品的处理方式。
  • references/placement-conventions.md——各学术社区的排版和篇幅规范、根据会议样本中位数校准篇幅、引用命令格式、盲审级别下的自引规则、实证验证规范的方法。

Scripts

脚本工具

  • scripts/gather_candidates.py
    — fetch metadata for retrieved identifiers into a transient clustering worksheet (polite, one paper at a time).
  • scripts/check_coverage.py
    — deterministic coverage gate: FAIL on any required cluster with zero confirmed-cited citations (including one padded only with speculative refs), WARN below the citation floor, report a precision estimate (confirmed/total) and a per-plan heuristic-tier cap, and emit a targeted second-pass retrieval worklist for
    find-papers
    . Cite keys carry an optional evidence-tier marker (
    key!graph
    /
    !keyword
    /
    !heuristic
    ); only confirmed (untagged) keys count toward the floor.
  • scripts/audit_bib.py
    — offline citation/bib audit and style census.
  • scripts/gather_candidates.py
    ——为检索到的标识符获取元数据,生成临时聚类工作表(访问频率礼貌,逐个处理论文)。
  • scripts/check_coverage.py
    ——确定性覆盖度检查工具:若任何所需聚类主题无已确认引用(包括仅通过推测引用凑数的主题)则检查失败,若引用量低于最低要求则发出警告,输出精准度估算值(已确认引用数/总引用数)和全计划推测引用量上限,并为find-papers工具输出针对性的二次检索任务清单。引用键可附加可选的证据层级标记(
    key!graph
    /
    !keyword
    /
    !heuristic
    );仅已确认(未标记)的引用键计入最低引用要求。
  • scripts/audit_bib.py
    ——离线引用/BibTeX审核和格式统计工具。