新穎性覆蓋
這是一個唯讀、以搜尋為基礎、針對每項新穎性主張進行碰撞偵測的工具,適用於文件形式產出物(如設計論文、研究文件或規格書)。它開啟了成果軸上的新穎性維度,這是「跨來源審查」(csr)」、「主要來源驗證」(psv)及「藍圖製作」之「研究者」所未觸及的領域:csr 收斂文件的過程軸,但未搜尋先前技術;psv 擷取每個已引用來源(向後、已引用),但未搜尋未引用的先前技術;「研究者」則為撰寫而向前收集來源(方向相反)。先前技術搜尋正是所缺失的向後、未引用先前技術碰撞檢查——它針對每個新穎性主張搜尋先前技術語料庫,並誠實回報碰撞結果。
核心定位
以搜尋為基礎,非基於回憶
一個 collision / uncited-relevant 的發現必須引用從找到的先前技術中擷取的引用文字,而非模型回憶。無法引用所找到之先前技術文字的發現,將被降級為 inconclusive,絕不予以斷言。這是承載負載的不變條件(工作區規則 3 + L1),由一個自我關卡(NC-I5)強制執行。找到的文字本身是模型從搜尋結果中提取的——這比 psv 所擷取的權威來源(請參閱下方兩層權衡說明)更弱的預言者。
每項主張的碰撞覆蓋,非新穎性裁決
先前技術搜尋「絕不」發出 novel_confirmed 或聲稱「該文件是新穎的」。其唯一的頂層訊號是 collisions_under_known_coverage:在 M 個提取的新穎性主張中,C 個為 clear-under-search,N 個為 collisions,U 個為 uncited-relevant,I 個為 inconclusive。I 的主張(以及 M=0 的情況——沒有新穎性表面)會「升級」給人類。這是一個誠實的覆蓋率揭露,而非新穎性裁決。由於無法證明否定命題(「不存在先前技術」)的證據缺位本質,一份未發現碰撞的文件意謂「在所搜尋的語料庫中未發現碰撞」,而非「新穎」。一個對稱的「新穎性收斂」技能若循環至 novel_confirmed 布林值,便是範疇謬誤——它將覆蓋率揭露(「在所搜尋的語料庫中未發現碰撞」)扁平化為裁決(「新穎」),亦即將證據缺位視為缺位證據;先前技術搜尋「明確不是如此」。(更廣泛的兩軸框架——過程 × 成果——請參閱規格博弈論文 §4.2;先前技術搜尋完全位於成果軸,因此其錯誤是成果內部問題,而非過程/成果混淆。)
附加於 csr 和 psv;單一流水線
先前技術搜尋「附加於」csr(過程軸)和 psv(已引用來源驗證);它「不」與任何一方合併。與 csr 的同家族 + 異家族多輪辯論不同,先前技術搜尋是「單一」流水線——提取新穎性主張 → 搜尋先前技術 → 對每項主張做出碰撞判決 → 揭露覆蓋率。其預言者是可供搜尋的先前技術語料庫,而非異家族模型,因此它不複製 csr 的異質基質。psv 和先前技術搜尋可組合使用:高風險文件可以同時執行 psv(已引用來源是否準確?)和先前技術搜尋(新穎性主張是否與可找到的先前技術無碰撞?)。它們不會合併。
兩層預言者弱點,誠實說明(工作區規則 3)
先前技術搜尋的預言者是可供搜尋的先前技術語料庫,比 psv 所擷取的主要來源在「兩個層次」上都更弱(承載負載的誠實權衡,提案 §3 / ADR §8 Q4):
- 比較側弱點(與 psv 共享)。 主張與先前技術的比較是由模型判定——
clear-under-search意謂模型未發現碰撞,而非碰撞不存在。這是 psv 的第 2 層部分比較弱點。 - 選取側弱點(先前技術搜尋自身)。 搜尋結果在比較弱點之上又增加了一層選取弱點:排名偏誤、召回限制(無法搜尋整個語料庫),且找到的先前技術文字本身是模型從搜尋結果中提取的,而非擷取的權威位元組範圍。
因此,先前技術搜尋在兩個層次上更弱,而非「弱預言者 vs 強預言者」。這正是它「絕不」發出 novel_confirmed,且其頂層是覆蓋率陳述而非裁決的原因。clear-under-search 意謂「在所搜尋的內容中未發現碰撞」,而非「新穎」。較弱的預言者是在缺乏人類審查的情況下,檢查新穎性的不可化約極限。
兩個盲點,誠實說明(工作區規則 3)
先前技術搜尋自身由模型執行的步驟帶有已揭露而非隱藏的盲點:(1) 新穎性主張提取繼承提取器的盲點——作者和提取器均未辨識為「新穎性」的主張將從 M 中缺席;(2) 主張與先前技術的比較由模型判定——clear-under-search 意謂模型未發現碰撞,而非碰撞不存在。C/N/U/I/M 計數僅是根據所提取、搜尋和比較的結果,而非完整性保證。異家族提取腿是延遲緩解措施(部分緩解)。
範圍
- 包含:從文件中提取原子級新穎性主張(每個主張包含:位置 + 搜尋目標);針對每個主張搜尋先前技術語料庫;發出基於所找到之先前技術引用文字的每項主張碰撞判決(collision/uncited-relevant/clear-under-search/inconclusive);發出一個碰撞記錄(
collisions_under_known_coverage)及一個碰撞發現套件。 - 不包含:程式碼審查(
parallel-development);規格書/架構設計撰寫(blueprint-crafting);文件過程收斂(cross-source-review);已引用來源驗證(primary-source-verification);研究收集(blueprint-crafting 研究者);新穎性裁決——文件的新穎性是否「真實」或「重要」——(人類)。
範圍守衛(進入時檢測)
- 交付物為原始碼/測試碼 → 路由至
parallel-development。 - 交付物為撰寫/改寫規格書、架構設計、迭代計畫或研究 → 路由至
blueprint-crafting。 - 請求為「對此文件進行對抗性多輪審查以達收斂」 → 路由至
cross-source-review(過程軸)。 - 請求為「此文件中已引用的主張是否經得起其來源的檢驗?」 → 路由至
primary-source-verification(psv = 向後-已引用;先前技術搜尋 = 向後-未引用)。 - 請求為「此文件是否過度宣稱新穎性——與其未引用的先前技術發生碰撞?」 → 先前技術搜尋(此技能)。
- 請求為「這是否新穎 / 重要 / 正確的貢獻?」 → 成果軸,僅人類。
此守衛是軟性的(提醒並路由,而非拒絕)。第 A 階段依賴「明確調用」(/skill:prior-art-search)。
快速開始
你是協調者。各個腿是唯讀的;驅動者執行單一流水線(而非多輪辯論)。按順序執行。
-
框架建立 — 識別產出物及其新穎性表面。列舉核心新穎性主張(需進行碰撞檢查的承載負載斷言,如「X 是新的 / 首次 / 無先前技術」)。宣告範圍。
-
新穎性主張提取(NC-I2) — 使用
subagent工具,並設定agent="solidforge:novelty-claim-extractor"(全新的上下文);它讀取產出物並列舉原子級新穎性主張,每個主張皆與一個位置和一個搜尋目標綁定。原子級 = 每項主張一個新穎性命題(複合主張需拆分)。新穎性主張是關於新穎性的斷言(「X 是一個新的框架」、「Y 是第一個...」、「Z 無先前技術」)。需區分於事實/引用主張(psv 的領域——驗證,而非碰撞檢查)和解釋性主張(「這很重要」——不可透過搜尋判定;升級給人類,標記為不可受理)。(提取器盲點警告:雙方均未辨識為「新穎性」的主張將從 M 中缺席。) -
多來源搜尋 + 碰撞判決(NC-I3) — 針對每個新穎性主張,搜尋先前技術語料庫(arXiv、網頁、公開儲存庫)中「已經」提出該主張的作品,然後將主張與找到的先前技術進行比較,並指定以下其中之一:
collision— 找到的先前技術已經提出此主張(文件的新穎性被誇大);引用碰撞來源 + 引用找到的先前技術文字(嚴重度blocker;evidence必須引用找到的先前技術文字)。uncited-relevant— 找到文件未引用的相關作品(非直接碰撞,但為覆蓋缺口);引用找到的先前技術文字(嚴重度warning)。clear-under-search— 在所搜尋的語料庫中未發現碰撞(非「新穎」;只是未出現碰撞)。僅計數,不作為發現。inconclusive— 搜尋無法涵蓋該主張(付費語料庫、模糊查詢、無物可找);升級給人類(嚴重度coverage)。 開放來源(arXiv 摘要、公開儲存庫)在無憑證下搜尋;網頁搜尋 API 使用一個獨立命名的 HTTP 表面(非 csr 的_ANTHROPIC_AUTH_TOKENLLM 權杖命名空間——請參閱 install.md)。(比較盲點警告 + 選取側弱點。)
- 覆蓋率揭露(NC-I4) — 發出一個
collision-record:collisions_under_known_coverage= C 個 clear-under-search / N 個 collisions / U 個 uncited-relevant / I 個 inconclusive,總計 M = C+N+U+I 個提取的新穎性主張;加上一個碰撞發現套件(collision / uncited-relevant / inconclusive 發現;clear-under-search的主張僅計數,不列出)。M=0(無可提取的新穎性主張——文件未提出新穎性斷言,或所有新穎性主張皆為解釋性)和 I>0 皆「升級」給人類。絕不發出novel_confirmed。一個 collision/uncited-relevant 的發現若無引用文字,將被降級為inconclusive。
誠實的訊號是覆蓋率揭露——搜尋了什麼、發生了什麼碰撞,以及什麼無法被覆蓋。文件是否「真正」新穎,仍由人類決定。
權威鏈
docs/proposal.md= 權威設計(主文件;CSR 過程軸實質收斂 + psv N=9/K=0 驗證,2026-07-31)。docs/iteration-plan.md= 執行藍圖(第 A 階段工作項目 NC-I0–NC-I6;衝突時以 proposal.md 為準)。docs/design-decisions.md= ADR 記錄(非顯而易見的決策:絕不 novel_confirmed、單一流水線非辯論、假陽性結構代理、兩層搜尋預言者弱點、與 psv/researcher 的關係、憑證表面)。docs/proposal.convergence.md= 提案的跨審查軌跡。
與 cross-source-review / primary-source-verification / blueprint-crafting / parallel-development 的協調
cross-source-review仍是過程軸的收斂引擎。先前技術搜尋是「附加的」且「不與之合併」:csr 的substantive_converged不暗示先前技術搜尋的覆蓋率,反之亦然。primary-source-verification是互補的成果軸腿。psv = 向後-已引用(擷取每個已引用來源);先前技術搜尋 = 向後-未引用(搜尋文件「未」引用的先前技術)。它們可組合使用(一份文件可同時執行兩者);它們不會合併。先前技術搜尋重複使用 psv 的 schema 欄位模式(collision-findings 擴展 psv 的 doc-findings——嚴格超集)以及install.md的憑證推理——複製模式,而非程式碼(工作區規則 7)。blueprint-crafting保持純粹(過程軸)。其researcher是「向前」收集(「尋找關於 X 的來源以供撰寫」)——方向與先前技術搜尋的向後碰撞相反。它們不會合併。parallel-development擁有程式碼審查。先前技術搜尋是文件導向,而非程式碼導向。files_touched邊界:此技能擁有prior-art-search/+ 儲存庫根目錄的agents/novelty-claim-extractor.agent.md(鏡像 psv 的solidforge:claim-extractor)。它不會修改 csr、psv、bc 或 pd 的核心邏輯(先前技術搜尋是附加的)。術語(工作區規則 10):collisions_under_known_coverage是唯一的頂層術語;novel_confirmed是禁止術語,且絕不作為發出的欄位出現。
自我檢查(完成定義)
成熟度說明(第 A 階段建構): 以下所有自我關卡均已部署並通過綠燈(NC-I0–NC-I6 已收斂;
docs/iteration-plan.run-record.json載有裁決)。線上 N≥3 的 Dogfood 已於 2026-08-01 在 3 個真實產出物上執行,包括長篇規格博弈論文——覆蓋率概況請參閱 dogfood-run-2026-08-01.md:通過找到的先前技術浮現了 2 個未引用但相關的發現(規格博弈 NC34 ↔ SWE-ABS;psv NC2 ↔ AI-Powered Citation Auditing),且已知的自證悖論碰撞在僅 arXiv 的預言者下回傳為 clear-under-search——展示了生產中的兩層弱點(零碰撞結果是「在所搜尋的內容中未發現碰撞」,而非「新穎」)。離線dogfood.py關卡僅涵蓋標準測試夾具(當無網路時,根據規則 1 跳過路徑)。剩餘延期事項:異家族提取腿(部分緩解提取器盲點)。名稱prior-art-search是「提議中」的,待人類鎖定(提案 §8 Q1)。
當任何自我檢查失敗時,技能變更視為未完成(工作區規則 1)。在提交前執行:
python3 skills/prior-art-search/infra/test/disconnect_check.py # 結構 + 載入鏈
python3 skills/prior-art-search/infra/test/plugin_layout.py # plugin.json + 代理格式正確
python3 skills/prior-art-search/infra/test/findings_shape_check.py # 每個發出路徑 → collision-findings + collision-record 有效
python3 skills/prior-art-search/infra/test/coverage_policy_check.py # 計數總和 M=C+N+U+I;M=0/I>0 升級;無 novel_confirmed;引用文字不變條件
python3 skills/prior-art-search/infra/test/fetched_quote_gate.py # 每個 collision/uncited-relevant 發現引用找到的先前技術文字;無引用 → inconclusive(L1/規則 3 不變條件)
python3 skills/prior-art-search/infra/test/lint_self.py # dogfood:對技能自身基礎架構進行 lint(ruff)
python3 skills/prior-art-search/infra/test/dogfood.py # 在一個帶有預先植入碰撞的測試文件上執行流水線(無網路時優雅跳過;以記錄的日誌替代)
參考文件
- proposal.md — 權威設計(問題、非目標、自有合約、分層、§8 決策)。
- iteration-plan.md — 第 A 階段執行
…
[為翻譯而截斷]