paper-search は何をしますか?
公式APIを検索し、合法的なPDFを読む。科学的な主張は、このセッションで読んだ抽象またはPDFページに含まれている場合にのみ許可される。記憶、ブログ、その他の二次的な文章から提供してはならない。すべての主張を、それを所有する論文に遡って追跡すること。
年、DOI、引用数はスクリプトの出力から取得する。citations=- の場合、ソースが数を提供しなかったことを意味する。その旨を述べること。推定はしない。
読み取りの委任
文献レビュー、最新技術調査、または複数の論文を必要とするレポートの場合、バックグラウンドエージェントを起動して読み取りを実行させ、この会話を続行できるようにする。単一の論文または既知のDOIの場合はここで処理する。
バックグラウンドエージェントの役割:
- 論文自体に対して質問を調査し、二次的な文章を調査しないこと。
- 調査結果を単一のMarkdownファイルに書き、各主張の出典を明記すること。
- リポジトリが既にそのようなメモを保存している場所に保存すること。既存の規約に従う。規約がない場合は、
docs/notes/<topic>.mdに書き、保存場所を伝えること。
scripts/papers.py の絶対パス、質問、ドメイン、出力パスを渡す。エージェントは以下のスクリプトを使用し、APIを再実装しない。
スクリプト
scripts/papers.py はこのファイルの隣に配置する。標準ライブラリのみを使用。絶対パスで実行する。
python3 scripts/papers.py search "QUERY" [--domain auto|ml|phys|math|bio|psy|chem] [--limit N] [--year 2020|2020-2024|2020-] [--sort relevance|citations|date] [--abstract]
python3 scripts/papers.py read PDF_URL --pages 1-3 [--out notes.txt]
python3 scripts/papers.py oa 10.xxxx/yyyy
oa は Unpaywall から is_oa= と pdf= を出力する。1回のクエリで --limit は最大10。ヒットリストが間違っている場合はクエリを変更する。ページングは行わない。
オプション: SEMANTIC_SCHOLAR_API_KEY(429エラーを減らす)と PAPER_SEARCH_EMAIL(OpenAlexおよびUnpaywall用)。
ルーティング
検索前にクエリを英語に翻訳する。
| トピック | --domain | 最初のソース | 失敗した場合 |
|---|---|---|---|
| AI / ML / NLP / ビジョン / ロボティクス / CS | ml | arXiv | Semantic Scholar、次にOpenAlex |
| 物理学 / 天文学 | phys | arXiv | Semantic Scholar、次にOpenAlex |
| 数学 | math | arXiv | Semantic Scholar、次にOpenAlex |
| 生物学 / 医学 / 遺伝学 / 製薬 | bio | Europe PMC | Semantic Scholar、次にOpenAlex |
| 心理学 / 認知科学 | psy | Europe PMC | Semantic Scholar、次にOpenAlex |
| 化学 / 材料 | chem | Semantic Scholar | OpenAlex |
| 混合または不明瞭 | auto | Semantic Scholar | OpenAlex |
- 最新技術、または「最も引用されている」:
--sort citations。arXivには引用数がないため、そのソートはSemantic Scholarから開始される。 - 新しいものは何か:
--sort dateまたは--year 2023-。 - タイトルで指定された論文: その英語タイトルを検索する。
--sort relevanceの場合、同一タイトルが最初にランク付けされる。
トリアージ
--abstract を付けて検索を実行する。使用する論文のみを保持する。
- 画期的: 2年以上経過し、多く引用されている。
- 最近: 過去2年以内で、質問に関連するもの。引用数が少なくてもよい。
- 周辺的: テーマから外れている。メモから除外する。
読み取り
- ユーザーが方法、数値、引用を要求した場合を除き、抽象だけで十分である。
- その場合のみPDFを開く:
read URL --pages 1-3。末尾については、最後の2~4ページを読む。長さが不明な場合は、1~3ページに留める。ページ番号を推測しない。 ERROR: not a PDFまたはpdf=(no open PDF…):oa <DOI>を実行し、出力されたpdf=を読む。pdf=-の場合、合法的な直接PDFは存在しない。抽象を保持する。ランディングページのurl=を論文として扱わない。- 以下のホストは直接読み取り可能:
arxiv.org、europepmc.org、ncbi.nlm.nih.gov、大学リポジトリ。その他のホストは最初にoaを経由する。 - Sci-Hub、Library Genesis、その他のシャドウライブラリのミラーを使用しない。
実行ごとに最大3つのPDFを読む。質問にさらに必要な場合は、抽象から完了し、開かなかったものをリストする。
メモ
# <質問>
## 調査結果
- 主張は、抽象または指定されたページに記載されている場合のみ。(Vaswani et al. 2017, 10.48550/arXiv.1706.03762, abstract)
## 論文
- **Attention Is All You Need** (2017) — 120404 引用, OpenAlex
- doi: 10.48550/arXiv.1706.03762
- pdf: https://arxiv.org/pdf/1706.03762
- read: abstract only
- why it is here: そのテキストから抽出した1行
## 未読
- トピック外として除外した論文、または開かなかったPDF。
チャットでは、ファイルを指し示すこと。内容を貼り付けない。ファイルにならない1論文の回答でも同じ引用ルール: 著者、年、DOI、およびそれが抽象からのものか、どのページからのものかを示す。