見出し画像

400本のAI論文を「読む」のをやめた日:Gemini Notebookによる外部脳の構築

毎日大量に発表されるLLMやAIエージェント関連の論文。タイムラインに流れる必読論文まとめをブックマークし、消化しようと試みる行動は、多くのビジネスパーソンにとって既に破綻している。

本記事はLLMやAI agentについて理解を深めるたることができる3つのGithubリポジトリを紹介し、それらの膨大なデータをそれぞれGemini Notebookに投入して、いつでも質問に答えてくれる自分専用のAI専門家(外部脳)を構築するアプローチを提示する

1. 圧倒的な網羅性:awesome-llm-powered-agent

1つ目は awesome-llm-powered-agent である。
LLMを搭載した自律型エージェントに関する論文やプロジェクトを網羅的に収集している。Auto-GPTのような著名プロジェクトから最新のマルチエージェント協調フレームワークまで、技術進化の系譜とトレンドを完全に把握できる。

このリポジトリには大量のarXiv論文リンクが存在するため、手作業ではなくPythonスクリプトを用いてデスクトップへ一気にPDFを保存する。

以下の手順で、Pythonのコードを実行する:

  1. 下記のPythonのコードをコピーし、メモ帳アプリなどにペーストする。

  2. そのファイルを `download_awesome.py` という名前で保存する。

  3. デスクトップ上でターミナルを開く。(開き方が難しい人は、ターミナルを開いて `cd Desktop` と入力しエンターすればよい)

  4. ターミナルに `python download_awesome.py` と入力して実行する。

これでデスクトップに約200個程度のPDFが自動的にダウンロードされる。

import urllib.request
import re
import os
import time

REPO = "hyp1231/awesome-llm-powered-agent"
OUTPUT_DIR = "awesome-llm-powered-agent"

def get_readme():
    url = f"https://raw.githubusercontent.com/{REPO}/main/README.md"
    try:
        response = urllib.request.urlopen(url)
        return response.read().decode('utf-8')
    except Exception:
        url_master = f"https://raw.githubusercontent.com/{REPO}/master/README.md"
        try:
            response = urllib.request.urlopen(url_master)
            return response.read().decode('utf-8')
        except Exception as e:
            print(f"Failed to fetch README: {e}")
            return ""

def main():
    os.makedirs(OUTPUT_DIR, exist_ok=True)
    readme_content = get_readme()
    if not readme_content:
        return
        
    pattern = r'https?://arxiv\.org/(?:abs|pdf)/(\d{4}\.\d{4,5}(?:v\d+)?)'
    arxiv_ids = list(set([m.replace('.pdf', '') for m in re.findall(pattern, readme_content)]))
    
    print(f"Found {len(arxiv_ids)} papers in {REPO}")
    
    for i, arxiv_id in enumerate(arxiv_ids):
        print(f"[{i+1}/{len(arxiv_ids)}] Downloading {arxiv_id}...")
        safe_id = arxiv_id.replace('/', '_')
        output_path = os.path.join(OUTPUT_DIR, f"{safe_id}.pdf")
        
        if not os.path.exists(output_path):
            try:
                pdf_url = f"https://arxiv.org/pdf/{arxiv_id}.pdf"
                req = urllib.request.Request(pdf_url, headers={'User-Agent': 'Mozilla/5.0'})
                with urllib.request.urlopen(req) as res, open(output_path, 'wb') as f:
                    f.write(res.read())
                time.sleep(3)
            except Exception as e:
                print(f"Failed to download {arxiv_id}: {e}")

if __name__ == "__main__":
    main()

PDFが揃ったらGemini Notebookにアップロードし、論文の内容について解説を求めたり、技術の全体像をまとめるよう指示を出してみる。ちなみにインフォグラフィックとして可視化させたものが以下である。

2. 深い洞察と分類:LLM-Agent-Paper-Digest

2つ目は LLM-Agent-Paper-List である。
単なる論文リストではなく、「Planning(計画)」「Reasoning(推論)」「Tool Use(ツール使用)」「Memory(記憶)」といったエージェントのモジュールごとに厳密に分類されている。現在のエージェント技術が「どのコンポーネントに課題を抱えているのか」を構造的に理解するための見取り図として機能する。

こちらも同様に、Pythonスクリプトを用いてPDFを一括ダウンロードし、Gemini Notebookの新たなノートブックに投入する。

手順は先ほどと同じだ。

  1. 以下のPythonのコードをコピーし、メモ帳アプリなどにペーストする。

  2. そのファイルを `download_digest.py` という名前で保存する。

  3. デスクトップ上でターミナルを開く。(ターミナルを開いて `cd Desktop` と入力しエンター)

  4. ターミナルに `python download_digest.py` と入力して実行する。

これでデスクトップに約200個程度のPDFが自動的にダウンロードされる。

import urllib.request
import re
import os
import time

# 正しいリポジトリ名に修正しました
REPO = "WooooDyy/LLM-Agent-Paper-List"
OUTPUT_DIR = "LLM-Agent-Paper-List"

def get_readme():
    url = f"https://raw.githubusercontent.com/{REPO}/main/README.md"
    try:
        response = urllib.request.urlopen(url)
        return response.read().decode('utf-8')
    except Exception:
        url_master = f"https://raw.githubusercontent.com/{REPO}/master/README.md"
        try:
            response = urllib.request.urlopen(url_master)
            return response.read().decode('utf-8')
        except Exception as e:
            print(f"Failed to fetch README: {e}")
            return ""

def main():
    os.makedirs(OUTPUT_DIR, exist_ok=True)
    readme_content = get_readme()
    if not readme_content:
        return
        
    pattern = r'https?://arxiv\.org/(?:abs|pdf)/(\d{4}\.\d{4,5}(?:v\d+)?)'
    arxiv_ids = list(set([m.replace('.pdf', '') for m in re.findall(pattern, readme_content)]))
    
    print(f"Found {len(arxiv_ids)} papers in {REPO}")
    
    for i, arxiv_id in enumerate(arxiv_ids):
        print(f"[{i+1}/{len(arxiv_ids)}] Downloading {arxiv_id}...")
        safe_id = arxiv_id.replace('/', '_')
        output_path = os.path.join(OUTPUT_DIR, f"{safe_id}.pdf")
        
        if not os.path.exists(output_path):
            try:
                pdf_url = f"https://arxiv.org/pdf/{arxiv_id}.pdf"
                req = urllib.request.Request(pdf_url, headers={'User-Agent': 'Mozilla/5.0'})
                with urllib.request.urlopen(req) as res, open(output_path, 'wb') as f:
                    f.write(res.read())
                time.sleep(3)
            except Exception as e:
                print(f"Failed to download {arxiv_id}: {e}")

if __name__ == "__main__":
    main()

インフォグラフィックは以下である。

※無料版では1ノートブックにつきソースが50個までという制限があるため、論文数が多い場合はジャンルごとに分割するか、PDF結合ライブラリを用いて制限を回避することを推奨する。
https://tools.pdf24.org/ja/

3. 原理から実装への架け橋:ai-agent-book

3つ目は ai-agent-book である。
「Agent = LLM(脳) + コンテキスト(目) + ツール(手)」という核心的な数式を軸に、基礎理論から実際のエンジニアリング(MCPプロトコルやコーディングエージェントの実装)までを体系的に解説しているオープンソースの電子書籍プロジェクトだ。論文の知識を「どう実装するか」という実践的なアプローチを学ぶために極めて有用なリソースである。

このリポジトリはPDFではなく10章構成の PDF(v1.2)、Python で書かれた92個の実装コード、7言語の翻訳が Apache 2.0 で公開されている。

日本語版は book-ja/ に翻訳が揃っており、chapter1.ja.md から chapter10.ja.md までMarkdown形式で構造化されている。そのためPythonスクリプトによる自動化は不要である。Gitをクローンして入れていく。

ターミナルを開き、以下のコマンドを入力するだけでよい。
デスクトップ上にcloneしたいならターミナルを開いて `cd Desktop` と入力しエンターすればよい)

git clone https://github.com/bojieli/ai-agent-book.git

クローンしたら book-ja/ にあるchapter1.ja.md から chapter10.ja.md のMarkdownファイルを、そのままこれ専用のGemini Notebookへアップロードする。テキストデータであるため非常に軽量であり、瞬時に高度な知識ベースが完成する。

テキストを読み込ませることで、実装に関する疑問をいつでも投げかけられる強力なアシスタントになる。インフォグラフィックが以下である。

知識の圧縮と「読む」行為の終焉

400本以上の論文や技術書をテキストとして端から「読む」のではなく、各ノートブックに投入し、AIとの対話を通じて必要な知識だけを的確に引き出していく。

人間は「自力で読む」という膨大な作業から完全に解放され、「その技術を自社のビジネスや開発にどう適応させるか」という戦略的な思考にのみ認知リソースを集中させることができるのである。このシステムを構築し、情報の非対称性を自らの武器として活用してほしい。

いいなと思ったら応援しよう!