Verify research idea novelty against recent literature. Use when user says "查新", "novelty check", "有没有人做过", "check novelty", or wants to verify a research idea
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-novelty-check-4d257a56143f ,按照其中的说明把「novelty-check」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Check whether a proposed method/idea has already been done in the literature: $ARGUMENTS
gpt-6-astra — Model used via a secondary Codex agent. Must be an OpenAI model (e.g., gpt-6-astra, o3, gpt-4o)codex — Default: Codex xhigh reviewer. Use --reviewer: oracle-pro only when explicitly requested; if Oracle is unavailable, warn and fall back to Codex xhigh.Given a method description, systematically verify its novelty:
For EACH core claim, search using ALL available sources:
Web Search (via WebSearch):
Known paper databases: Check against:
Read abstracts: For each potentially overlapping paper, WebFetch its abstract and related work section
Call REVIEWER_MODEL via spawn_agent (spawn_agent) with xhigh reasoning:
reasoning_effort: xhigh
Prompt should include:
Copy this block verbatim into the reviewer's briefing; the report in Phase D is judged under it too.
=== NOVELTY VERDICT LIMITS (these bound how you judge, never how widely you search) ===
Search exhaustively; judge calibrated. Two failures waste months equally:
passing an idea a published paper already contains, and killing a viable idea
because the territory has neighbors.
1. Proximity is information, not a verdict. Someone working nearby goes in the
report; it is not by itself a reason to reject.
2. ABANDON has exactly one qualification: a specific published paper already
contains this result — name that paper. No named paper, no ABANDON.
3. Crowded-but-deltaed is PROCEED: state the delta in one sentence a reviewer
could verify. Thin or contested delta is PROCEED WITH CAUTION — say what
would make it carry, not why it should die. CAUTION is not a safe middle:
if you cannot name the specific thing that makes the delta thin, the
verdict is PROCEED.
4. Concurrent or competing work is not a veto. That is a race — report it and
let the user decide whether to run it.
5. A direct attack on a central problem is legitimate novelty when nobody has
executed it well. "This area is hot" does not mean "this area is taken."
6. This check is an early gate, never the last one — more triage, pilots, or
external review still stand between any idea and a paper, whatever order
this run uses. A wrongly passed idea dies cheaply at one of them; a wrongly
killed idea is never seen again. When torn between two verdicts, choose the
more permissive one.
Say plainly when an idea clears the check. Do not manufacture overlap.
Output a structured report:
## Novelty Check Report
### Proposed Method
[1-2 sentence description]
### Core Claims
1. [Claim 1] — Closest: [paper] — What stays unknown or different: [delta]
2. [Claim 2] — Closest: [paper] — What stays unknown or different: [delta]
...
### Closest Prior Work
| Paper | Year | Venue | Overlap | Key Difference |
|-------|------|-------|---------|----------------|
### Overall Novelty Assessment
- Score: X/10 (anchor: 5/10 = has clear neighbors but a defensible delta worth
a pilot; reserve 1-3 for results a named published paper already contains)
- Recommendation: PROCEED / PROCEED WITH CAUTION / ABANDON (per the verdict
limits: crowded-but-deltaed ground is PROCEED; ABANDON must name the paper)
- Key differentiator: [what makes this unique, if anything]
- Risk: [what a reviewer would cite as prior work]
### Suggested Positioning
[State the delta honestly in one sentence a reviewer could verify]
After each spawn_agent or optional oracle-pro reviewer call, save the trace following ../shared-references/review-tracing.md. Write files directly to .aris/traces/novelty-check/<date>_run<NN>/ and record searched claims, closest papers, reviewer route, raw response, and final novelty decision. Respect the --- trace: parameter when present (default: full).