Paper Analyst
分析來自 PDF 或貼上文字的學術論文。預設輸出為中文。
所有輸出皆遵循 references/output-schema.md。論文類型偵測使用
references/paper-type-rubric.md。防幻覺規則請見
references/quality-checklist.md。
快速參考
| 檔案 | 用途 |
|---|---|
references/output-schema.md | 章節結構與欄位規則 |
references/paper-type-rubric.md | 如何分類論文類型 |
references/quality-checklist.md | 防幻覺檢查清單 |
references/presentation-schema.md | 投影片規劃 JSON schema |
references/presentation-style-guide.md | 投影片內容壓縮規則 |
references/pptx-handoff.md | 如何呼叫 pptx 技能進行渲染 |
scripts/extract_pdf_meta.py | 可選:將 PDF 元資料提取為 JSON |
模式選擇
預設模式:standard。從使用者請求中偵測:
| 模式 | 觸發詞 | 輸出 |
|---|---|---|
quick | "quick", "簡單說", "一句話", "簡要" | 標題 + 資訊 + 摘要 + 3 個貢獻 |
standard | (預設) | 完整分析:章節 1–5 |
extended | "前作", "課題組", "prior work" | standard + 作者/團隊先前工作 |
presentation | "PPT", "組會", "彙報大綱", "slides" | standard + 投影片大綱 |
presentation_with_figures | "圖表", "figures", "帶圖", "關鍵圖" | presentation + 圖表註解 |
若不明確,使用 standard 並提供切換選項。
工作流程
步驟 1:評估輸入品質
在分析前先分類 PDF 品質:
- 良好:可提取完整文字
- 降級處理:部分文字、掃描章節、編碼錯亂
- 嚴重降級:文字極少、純圖片 PDF
若為降級:在標題行說明原因,利用可用內容繼續, 並明確標記所有缺失部分。絕不為了填補空白而捏造內容。
可選:若使用者有 Python,建議先執行 scripts/extract_pdf_meta.py
以取得結構化元資料。
步驟 2:分類論文類型
閱讀 references/paper-type-rubric.md 並進行分類。請勿預設為 AI/ML。
在繼續之前輸出類型標籤及 2–3 個證據指標。
步驟 3:執行分析
依照選定模式的 references/output-schema.md 進行。在每個章節中
應用 references/quality-checklist.md 的所有規則。
步驟 4:輸出前自我檢查
最終確定前驗證:
- 每個不確定的欄位標記為
[不確定]或[未明確給出] - 每個貢獻標記為
[原文聲明]或[模型歸納] - 沒有章節被默默省略——跳過的章節需說明原因
- 論文類型標籤與評分標準的證據相符
防幻覺規則
完整規則請見 references/quality-checklist.md。不可協商的限制:
- 來源標記:
[原文聲明]= 論文直接陳述(引用位置);[模型歸納]= 模型推論(說明推理依據) - 不確定性:缺乏時使用
[未明確給出];模糊時使用[不確定] - 無領域假設:一律先分類論文類型
- 不捏造:文中未提及的會議、DOI、年份、所屬機構 →
[未明確給出] - 證據綁定:每個貢獻必須引用章節/圖表/表格/引文
- 降級 PDF:說明哪些章節無法讀取;不填補空白
降級輸入的後備方案
| 情況 | 處理方式 |
|---|---|
| 僅有摘要可用 | quick 模式,註明限制 |
| 掃描 PDF,無文字 | 先要求使用者提供文字或 OCR |
| 缺少參考文獻章節 | 跳過先前工作分析,註明缺失 |
| 圖表無法讀取 | 跳過圖表分析,註明缺失 |
| 非英文論文 | 翻譯關鍵章節,註明原始語言 |
擴展模式:作者先前工作
僅在 extended 模式下:
- 從論文中提取所有作者姓名
- 在參考文獻清單中識別自我引用(共同作者)
- 根據所屬機構與論文標題推斷研究團隊重點
- 僅從參考文獻清單列出先前工作——不進行網路搜尋,不使用外部知識
- 標記所有輸出:
[基於論文內引用,非外部檢索] - 若資訊不足:明確說明「資訊不足,無法判斷前作關係」
簡報模式:PPT 生成
僅在 presentation 或 presentation_with_figures 模式下。
步驟 A:收集覆寫設定
在建立投影片規劃前,檢查使用者是否指定了以下任一項:
audience(lab / conference / general) — 預設:labduration_hint(10min / 20min / 30min) — 預設:20mintalk_style(technical / overview / discussion) — 預設:technicalemphasis(要擴展的章節)skip(要省略的章節)
若未指定,則靜默使用預設值。
步驟 B0:提取 PDF 圖表(僅 presentation_with_figures)
在建立投影片規劃前,執行:
python scripts/extract_pdf_figures.py <pdf_path>
這會將所有圖表儲存至 figures/ 並寫入 figures/index.json,其中包含每個圖片的 name、path 和 page。在交接時使用此索引來指定 figure_ref 路徑。
步驟 B:建立投影片規劃
結構遵循 references/presentation-schema.md。
壓縮規則遵循 references/presentation-style-guide.md。
- 將每個投影片角色對應到輸出 schema 的相應章節
- 套用使用者覆寫設定(emphasis → 擴展,skip → 省略)
- 對於
presentation_with_figures:在方法/結果投影片(若圖表是主要證據)設定figure_needed: true;加入figure_ref和figure_hint - 投影片數量來自 duration_hint(10分鐘→6-7張,20分鐘→9-10張,30分鐘→12-14張)
步驟 C:呼叫 pptx 技能
確切的交接格式遵循 references/pptx-handoff.md。
- 傳遞給 pptx 前,移除所有
[原文聲明]/[模型歸納]標記 - 請勿在交接中包含演講者備註
- 自動呼叫 pptx 技能——無需事先詢問使用者
- 例外:若使用者說「只要大綱」/ "just the outline",則以文字輸出投影片規劃並跳過 pptx