Paper Repro Triage

👤 slight-leaves 📦 v1.0.0 ⭐ 4.4 ⬇️ 584 下載
💼 行業專業 免費

📖 技能介紹


name: paper-repro-triage description: 中文論文復現執行工作流。用於使用者上傳或提供深度學習、機器學習、LLM、CV、NLP、多模態、資料集、benchmark、prompt 工程或 agent 論文的 PDF、arXiv 連結、論文主頁、專案頁、標題摘要或原始碼線索,並要求判斷可復現性、搜尋官方程式碼、檢查本地原始碼、追蹤資料集論文原始碼、定位資料處理程式碼、自動 clone 倉庫,或在無線上/本地原始碼但具備復現條件時生成符合常見 PyTorch 開源專案直覺的復現工程。最終寫入 Markdown 報告,聊天只返回極簡中文摘要。


論文復現初篩、原始碼溯源與復現工程生成

總原則

本技能用於把論文分析從“聊天式建議”升級為“面向復現的執行工作流”。回答必須使用中文。除非工具許可權、網路、審批或使用者環境阻止,否則不要只告訴使用者去執行命令;應優先使用可用工具完成可執行動作。

每次觸發後,聊天回覆第一行必須輸出:

[paper-repro-triage active]

詳細結果必須寫入 Markdown 檔案,聊天只返回極簡摘要。

強制行為

  1. 詳細結果寫入 Markdown:預設寫到當前 agent workspace 下的 paper-repro-workspace/<paper-slug>/repro-report.md
  2. 聊天內容極簡:只輸出報告路徑、主論文原始碼狀態、資料集原始碼狀態、復現工程狀態、是否需要復現、是否能復現、核心原因。
  3. 不要輸出“下一步建議”作為流程終點:如果當前流程能繼續執行,就繼續執行;聊天摘要和報告末尾只寫“未完成項/人工確認項”。
  4. 先找原始碼,再談復現:必須按“線上官方程式碼 → 本地主論文原始碼 → 資料集論文原始碼 → 無主論文原始碼復現工程”的順序執行。不能因為 GitHub 沒搜到就立即從零復現。
  5. 資料集原始碼或 baseline 原始碼不能替代主論文原始碼:如果只找到資料集相關原始碼、baseline 程式碼、第三方實現或舊方法程式碼,必須繼續判斷是否要生成主論文復現工程。
  6. 遇到程式碼倉庫優先自動 clone:主論文官方倉庫、資料集論文官方倉庫、專案頁倉庫都應優先 clone 到 workspace;但 clone 前必須先查本地是否已有相關原始碼。
  7. 重複目錄跳過 clone:如果 clone 目標路徑下已有同名原始碼資料夾,不要再次 clone,不要自動 git pull,不要覆蓋,不要改用時間戳目錄;應讀取現有目錄做只讀檢查,並在報告與聊天摘要中寫明 已存在,跳過 clone
  8. 遇到資料集必須做原始碼溯源:不用下載資料集論文 PDF,也不用下載資料集本體;只搜尋資料集原論文、專案頁、arXiv 摘要頁、Papers with Code、GitHub/GitLab/Hugging Face 線索,判斷是否有官方原始碼、處理指令碼或 benchmark 程式碼。

    更多技能請訪問小蔥技能站7w4.net。

  9. 必須定位資料處理程式碼:對主論文原始碼、baseline 原始碼和資料集相關原始碼,都要定位資料載入、預處理、劃分、特徵抽取、標註解析、benchmark 構建等程式碼位置,並寫入報告。
  10. 無主論文原始碼時必須嘗試生成復現工程:當線上沒有官方原始碼、本地沒有主論文原始碼,且論文證據支援“可以直接復現”或“部分可復現”時,必須生成 PyTorch 復現工程;不能只寫方案。
  11. 生成工程要符合常見開源直覺:預設採用“根目錄入口 + 四個程式碼目錄 + 一個復現文件目錄”的簡潔 PyTorch 結構:根目錄保留 main.pyconfig.pyrun.py;程式碼放入 data/models/engine/utils/requirements.txtpaper-spec.yamlevidence-map.mdrepro-notes.md 統一放入 repro-docs/。該結構是最低基本盤,可按論文需要擴充套件,但不要預設生成 configs/ 多 YAML 目錄、獨立 losses/ 目錄、scripts/ 訓練指令碼或 .sh 檔案。
  12. 不要偽造復現結果:可以生成程式碼和 smoke check,但不能聲稱已經復現論文結果。論文未給出的超引數、模組或處理步驟必須標註為 ASSUMPTIONTODO
  13. 主論文原始碼存在時必須停在程式碼導讀階段:如果已找到、已 clone、已跳過 clone 或本地已存在主論文官方/高度可信原始碼,本次技能流程的終點是“倉庫導讀 + 資料處理程式碼定位 + 寫入報告 + 極簡摘要”。不得繼續修復原始碼、配置資料目錄、安裝依賴、下載資料、執行訓練、執行評測或執行 inference。
  14. “復現”預設表示復現分析與準備:使用者只說“復現這篇論文”“重新跑一遍”“處理這篇論文”時,不代表允許訓練;只有使用者明確說“執行訓練/開始訓練/跑通訓練/執行評測/下載資料/修復程式碼並執行”,才進入執行類任務。
  15. 執行類任務不屬於本技能自動階段:即使 exec 許可權是 full/ask=off,本技能也不能自動安裝依賴、下載資料、改官方程式碼或跑訓練。

輸入

接受以下輸入:論文 PDF、arXiv 連結、論文主頁連結、專案頁連結、論文標題/摘要/正文片段、GitHub/GitLab 連結,以及“判斷是否值得復現”“找程式碼”“自動 clone”“讀倉庫”“整理實驗配置”“查資料集論文原始碼”“生成復現工程”“寫 md 報告”等請求。

必須優先使用的工具

根據當前 OpenClaw 環境中可用的工具執行:

  1. 使用 PDF 工具或檔案讀取能力抽取論文正文、附錄、腳註、表格、圖注和參考文獻。
  2. 使用 web/search/fetch 類工具讀取 arXiv 頁面、專案頁、論文中出現的外部連結、資料集原論文頁面和公開內碼表面。
  3. 使用 exec/shell 工具執行倉庫和檔案相關命令,例如 git clonepython scripts/bootstrap_repo.pypython scripts/find_local_code.pypython scripts/inspect_repo_data_processing.pypython scripts/build_paper_spec.pypython scripts/scaffold_repro_project.pypython scripts/inspect_repro_project.pydirfind、寫入 .md 檔案。
  4. Windows cmd 環境優先使用 Python 指令碼:python ...;如果 python 不可用,嘗試 py ...
  5. 不使用 .sh 作為預設路徑;本技能不生成 .sh 訓練指令碼。
  6. 如果 exec 不可用、被拒絕、網路失敗或 Python 不可用,必須在報告中說明失敗原因和退化路徑。

工作區約定

  1. 優先在當前 agent workspace 下建立 paper-repro-workspace/
  2. 對每篇主論文建立安全目錄名:paper-repro-workspace/<paper-slug>/
  3. 詳細報告:paper-repro-workspace/<paper-slug>/repro-report.md
  4. 主論文程式碼:paper-repro-workspace/<paper-slug>/main-code/<repo-name>/
  5. 資料集論文或資料集專案程式碼:paper-repro-workspace/<paper-slug>/dataset-code/<dataset-slug>/<repo-name>/
  6. 本地手動放置原始碼可位於:paper-repro-workspace/<paper-slug>/local-code/
  7. 無程式碼生成工程目錄不得固定為 repro-implementation。必須根據論文框架、方法、模型或任務名生成:paper-repro-workspace/<paper-slug>/<framework-or-method-slug>-reproduction/。如果只能做 baseline,目錄名必須包含 baseline
  8. 不要在使用者系統隨機目錄中 clone 或生成程式碼,不要覆蓋已有目錄。

執行邊界與停止條件

  • 主論文原始碼存在即停止在程式碼導讀階段:主論文官方/高度可信原始碼已 clone、已存在或本地已找到時,只做倉庫導讀、入口定位、資料處理程式碼定位、寫報告和極簡摘要。
  • 禁止自動執行階段:主論文原始碼存在時,不安裝依賴、不下載資料、不修復原始碼路徑、不設定真實資料目錄、不執行訓練/評估/推理、不生成新的 <method-slug>-reproduction/ 工程。
  • 無主論文原始碼才生成復現工程:只有線上和本地都沒有主論文原始碼,並且論文可直接復現或部分可復現時,才生成 <method-slug>-reproduction/
  • 資料集原始碼和 baseline 原始碼不能替代主論文原始碼:它們只能作為資料處理或實現參考證據;如果主論文沒有原始碼,仍需判斷並生成主論文復現工程。
  • 後續短句不自動跑訓練:報告產出後,使用者只說“復現/繼續/重新跑一遍”時,預設重新執行本技能流程,不得擅自開始訓練;明確要求訓練時才視為新的執行任務。

總體流程

第 1 步:讀取論文證據

從論文 PDF、arXiv 頁面或使用者提供文本中提取:標題、作者、年份、會議或期刊、摘要、核心貢獻、方法、實驗、附錄、腳註、程式碼可用性宣告、資料集、指標、baseline、訓練細節、圖表標題和圖注、明確的 GitHub/GitLab/專案頁/Hugging Face/資料集連結。

如果無法讀取 PDF 或附件,先說明缺失的工具或輸入,不要編造論文內容。

第 2 步:論文型別分類

必須給出一個主型別,必要時給出次型別。可選型別:綜述論文、方法論文、提示詞工程論文、基準評測論文、資源論文、理論論文、系統論文。

第 3 步:可復現性判定

使用 references/reproducibility-rubric.md。只能輸出以下四個標籤之一:可以直接復現、部分可復現、不具備實際可復現性、不是復現目標。

必須區分“能不能復現”和“需不需要復現”。不要把“有論文描述”誤判成“可以直接復現”。

第 4 步:主論文程式碼線索搜尋

必須主動搜尋論文證據中的程式碼線索:PDF URL、腳註、附錄、作者說明、arXiv abstract 頁面、project page、supplementary material、OpenReview 頁面、code is availablesource codeimplementationofficial repositorygithubproject page 等。

如果發現多個倉庫,優先判斷作者官方倉庫。無法確認時,標記為“官方性未驗證”。

第 5 步:本地主論文原始碼檢查

在進入無程式碼復現前,必須檢查本地是否已有主論文相關原始碼。優先使用:

python scripts/find_local_code.py --paper-slug <paper-slug> --name <paper-title-or-method> --workspace .

檢查範圍包括:paper-repro-workspace/<paper-slug>/main-code/paper-repro-workspace/<paper-slug>/local-code/、當前 agent workspace、環境變數 PAPER_REPRO_LOCAL_CODE_ROOTS。資料集程式碼目錄可以作為輔助證據,但不能直接判定為主論文原始碼。

如果本地找到高可信主論文原始碼,不進入無程式碼復現路徑,而是進入“原生代碼路徑”:讀取 README、依賴、訓練入口、評測入口、配置、模型、資料處理程式碼,並寫入報告。

第 6 步:資料集論文與資料集原始碼溯源

當主論文使用或釋出資料集、benchmark 或標註資源時,必須執行此步驟。詳細流程見 references/dataset-source-tracing.md

對每個關鍵資料集,必須:

  1. 提取資料集名稱、簡稱、引用編號、資料集論文標題、專案頁、資料下載頁和腳註。
  2. 檢索資料集原論文、專案頁、Papers with Code、GitHub/GitLab/Hugging Face 線索。
  3. clone 前先檢查本地是否已有相關原始碼。
  4. 找到官方或可能官方原始碼後 clone 或跳過 clone。
  5. 使用 scripts/inspect_repo_data_processing.py 或等價只讀檢查定位資料處理程式碼。
  6. 報告資料處理程式碼檔案、入口命令、關鍵函式/類、README 證據和對主論文復現的影響。

第 7 步:有主論文程式碼時自動執行並導讀

如果發現主論文官方/高度可信程式碼,必須:

  1. 記錄“檢測到主論文程式碼倉庫,進入自動倉庫路徑”。
  2. clone 前判斷目標路徑是否已有同名原始碼資料夾;若已有,跳過 clone,只讀檢查。
  3. Windows 優先執行:python scripts/bootstrap_repo.py <repo-url> <paper-slug> main-code;如 python 不可用,嘗試 py scripts/bootstrap_repo.py ...
  4. clone 成功或發現現有目錄後,繼續做倉庫導讀,不能停在“已經 clone”或“已存在”。
  5. 使用 scripts/inspect_repo_data_processing.py <repo-path> 定位資料處理程式碼。
  6. 報告本地路徑、clone 狀態、重複目錄提醒、依賴檔案、安裝命令候選、訓練/推理/評測入口、資料集準備方式、配置檔案、模型檔案、訓練檔案、評測檔案、資料處理檔案。
  7. 完成第 6 項後必須寫入報告並結束本技能流程;不得繼續安裝依賴、修復原始碼、設定真實資料路徑、下載資料、執行訓練、執行評測或執行 inference。
  8. “可以直接復現”只表示具備復現條件,不表示現在開始執行訓練。

第 8 步:無主論文原始碼時生成復現工程

只要滿足以下條件,就必須生成復現工程,而不是隻給建議:

  • 線上沒有官方/可信主論文原始碼;
  • 本地沒有主論文原始碼;
  • 論文不是綜述、純理論或非復現目標;
  • 論文證據支援“可以直接復現”或“部分可復現”;
  • 資料集、模型結構、訓練迴圈、loss、指標至少能構造最小可行版本。

如果找到資料集相關原始碼或 baseline 原始碼,要將其作為資料處理和 baseline 證據輸入復現工程,但不能終止主論文復現工程生成。

詳細規則見 references/no-code-reproduction.md

生成前必須先寫 paper-spec.yaml。可以使用:

python scripts/build_paper_spec.py <evidence-md> --out paper-repro-workspace/<paper-slug>/paper-spec.yaml

然後生成工程:

python scripts/scaffold_repro_project.py paper-repro-workspace/<paper-slug>/paper-spec.yaml --out paper-repro-workspace/<paper-slug>/<framework-or-method-slug>-reproduction

生成後執行靜態檢查:

python scripts/inspect_repro_project.py paper-repro-workspace/<paper-slug>/<framework-or-method-slug>-reproduction

不自動安裝依賴,不下載大數據,不執行訓練。輕量 py_compile 和檔案完整性檢查可以自動執行。

第 9 步:寫入 Markdown 報告

最終必須把詳細內容寫入:paper-repro-workspace/<paper-slug>/repro-report.md

報告模板見 references/output-template.md。必須記錄:論文資訊、分類、可復現性、程式碼搜尋、主論文原始碼、本地原始碼、資料集原始碼、資料處理程式碼位置、復現工程生成結果、執行過的命令、不能復現原因、未完成項/人工確認項。

聊天輸出格式

聊天中不要輸出長報告。聊天回覆只輸出:

[paper-repro-triage active]

- 報告檔案:`paper-repro-workspace/<paper-slug>/repro-report.md`
- 主論文原始碼:已 clone / 已存在,跳過 clone / 本地已存在 / 未找到 / 等待審批 / clone 失敗
- 資料集原始碼:已 clone N 個 / 已存在,跳過 clone N 個 / 本地已存在 N 個 / 未找到 / 部分找到 / 未檢索
- 資料處理程式碼:已定位 N 處 / 未定位 / 不適用
- 復現工程:已生成 / 僅生成 skeleton / 未生成,路徑:`paper-repro-workspace/<paper-slug>/<implementation-slug>/`
- 是否需要復現:需要 / 不需要 / 建議只做部分復現
- 是否能復現:可以直接復現 / 部分可復現 / 不具備實際可復現性 / 不是復現目標
- 核心原因:一句話說明;如果能復現則寫“無核心阻礙”
- 執行邊界:未執行訓練 / 未安裝依賴 / 未下載資料;如已存在主論文原始碼,寫“已停在程式碼導讀階段”

安全與誠實規則

  • 不要偽造已經執行過的命令。
  • 不要偽造倉庫檔名。
  • 不要偽造 Markdown 檔案已經寫入。
  • 不要聲稱精確復現,除非程式碼、資料、配置和評測協議都足夠充分。
  • 不要把第三方復現倉庫當成官方倉庫。
  • 不要自動安裝未知依賴、下載大數據、修復官方原始碼路徑、設定真實資料目錄或執行訓練/評測/推理指令碼;clone、跳過重複 clone、只讀倉庫檢查、生成復現工程、靜態檢查可以自動執行。
  • 所有論文未明確給出的超引數、路徑、模型維度、loss 權重、資料處理細節必須標註 ASSUMPTION
  • 如果只能生成 baseline,必須命名為 baseline,不能命名為 paper reproduction。
  • 如果生成的程式碼含 TODONotImplementedError,報告必須列出。

資源

  • 可復現性判定標準:references/reproducibility-rubric.md
  • Markdown 報告模板:references/output-template.md
  • 資料集論文原始碼溯源流程:references/dataset-source-tracing.md
  • 無程式碼復現工程流程:references/no-code-reproduction.md
  • 倉庫 bootstrap 指令碼:scripts/bootstrap_repo.py
  • 本地原始碼查詢:scripts/find_local_code.py
  • 資料處理程式碼定位:scripts/inspect_repo_data_processing.py
  • paper spec 草稿:scripts/build_paper_spec.py
  • 復現工程生成:scripts/scaffold_repro_project.py
  • 復現工程檢查:scripts/inspect_repro_project.py

🤖 AI 評測

這個 Skill 質量不錯,設計了一套完整的論文復現工作流程,文件寫得清楚明白,配套指令碼也比較實用。優點是流程規範、中文友好、安全邊界清晰;不足是遇到問題時模型不會主動問你要怎麼辦,執行過程中也不會告訴你進行到哪一步了,感覺像是在獨自幹活而不是在幫你協作。

📊 多維度評分

適應性4.4
規範性4.1
有效性4.8
可靠性4.4
可信度4.4

📁 包含檔案 (13 個)

📄 SKILL.md 16.7 KB
📄 _meta.json 137 B
📄 agents/openai.yaml 163 B
📄 references/dataset-source-tracing.md 4.7 KB
📄 references/no-code-reproduction.md 8.6 KB
📄 references/output-template.md 9.8 KB
📄 references/reproducibility-rubric.md 2.7 KB
📄 scripts/bootstrap_repo.py 7.2 KB
📄 scripts/build_paper_spec.py 3.2 KB
📄 scripts/find_local_code.py 7.4 KB
📄 scripts/inspect_repo_data_processing.py 5.2 KB
📄 scripts/inspect_repro_project.py 3.8 KB
📄 scripts/scaffold_repro_project.py 15.8 KB