AI活用

AI Scientist-v2の使い方|GitHubから環境構築して研究アイデアを実験する方法

Sakana AIのAI Scientist-v2をLinux・NVIDIA GPU環境へ導入し、研究テーマ作成、アイデア生成、BFTS設定、実験、PDF確認、エラー対処まで解説します。

この記事の目次
  1. 結論:AI Scientist-v2は「文章生成ツール」ではなく、GPU上で生成コードを実行する研究システム
  2. AI Scientist-v2でできること
  3. AI Scientist-v1とv2の違い
  4. 必要な環境
  5. OS・GPU・ソフトウェア
  6. APIキー
  7. 必ず隔離環境で実行する
  8. AI Scientist-v2をインストールする
  9. リポジトリを取得する
  10. conda環境と依存関係を作る
  11. APIキーを環境変数へ設定する
  12. 研究テーマのMarkdownを作る
  13. 研究アイデアを生成する
  14. bfts_config.yamlを小さく調整する
  15. よく確認するagent設定
  16. よく確認するsearch設定
  17. 実験パイプラインを起動する
  18. 出力を確認する
  19. よくあるエラーと対処方法
  20. CUDA out of memory
  21. Semantic Scholarのレート制限・403
  22. PDFやレビューが生成されない
  23. 古いモデルIDでAPIエラーになる
  24. 費用と実行時間を管理する
  25. 研究倫理・ライセンス・公開時の注意点
  26. あわせて読みたい記事
  27. よくある質問
  28. まとめ
  29. 参考リンク

AI Scientist-v2は、研究案を文章で返すだけではなく、LLMが実験コードを書き、GPU上で実行し、結果を評価しながら論文原稿まで作る研究システムです。

この記事では、公式GitHubをもとに、必要環境、インストール、研究テーマ、アイデア生成、ツリー探索、出力確認、エラー対処を順番に解説します。

情報確認日:2026年7月11日(日本時間)

結論:AI Scientist-v2は「文章生成ツール」ではなく、GPU上で生成コードを実行する研究システム

この記事の結論

  • 公開実装はLinux、NVIDIA GPU、CUDA、PyTorchを前提としている
  • 最初にMarkdownで研究テーマを定義し、ideationスクリプトで候補をJSON化する
  • 本体はBFTS設定に従って複数の実験経路を探索し、結果分析と論文作成まで進める
  • LLMが生成したコードを実行するため、Dockerなどの隔離環境と課金上限が必須
  • READMEのモデルIDは公開当時の例を含むため、現在利用できるモデルへ置き換えて検証する

AI Scientist-v2でできること

AI Scientist-v2は、研究テーマから仮説を作り、実験コードを生成・実行し、結果を比較し、図表と論文原稿を作るエージェント型システムです。中心にあるのは、1回の生成で答えを出す処理ではなく、複数の実験経路を探索して結果の良い方向を残す仕組みです。

工程 主な処理 生成されるもの
テーマ定義 研究領域、キーワード、狙いをMarkdownに記述 トピックファイル
アイデア生成 候補、仮説、関連研究、実験案を生成・反省 JSON形式の研究案
実験探索 コード生成、実行、評価、デバッグ、分岐 探索木・ログ・結果
原稿作成 結果の集約、図表、引用、レビュー LaTeX・PDF・レビュー
確認 探索経路と失敗を人間が検証 unified_tree_viz.htmlなど

AI Scientist-v1とv2の違い

v1は人間が用意したテンプレートと既存コードを強く利用し、明確な課題を安定して進める構成でした。v2は人間作成テンプレートへの依存を減らし、実験マネージャーとエージェント型ツリー探索によって、より開かれた研究領域を扱います。

v2=上位互換ではない:v2が常にv1より良い論文を作るわけではありません。公式READMEでも、良いテンプレートがある明確な課題はv1が高い成功率を持ち、v2は広い探索と引き換えに成功率が下がる場合があると説明されています。

必要な環境

OS・GPU・ソフトウェア

  • Linux
  • NVIDIA GPUとCUDA
  • Python 3.11のconda環境
  • CUDA対応PyTorch
  • PDF処理用のPoppler
  • LaTeX検査用のChkTeX
  • 研究に使うモデルのAPIキー

macOSやCPUだけの環境でREADMEどおりに動かす構成ではありません。ローカルGPUがない場合は、権限制限できるGPUクラウドや専用のLinuxマシンを検討します。

APIキー

OpenAIモデルはOPENAI_API_KEY、Gemini系はGEMINI_API_KEY、AWS Bedrock経由のClaudeはAWS認証情報を使います。文献検索を安定させる場合はSemantic ScholarのS2_API_KEYも設定できます。

必ず隔離環境で実行する

AI Scientist-v2は、LLMが書いたPythonコードを実際に実行します。意図しないパッケージ導入、外部アクセス、長時間プロセス、ファイル操作が起きる可能性があります。普段使うホストOSや機密データがある環境へ直接入れるべきではありません。

  • Dockerまたは使い捨ての仮想マシンを使う
  • ホストのホームディレクトリやSSH鍵をマウントしない
  • クラウド認証情報は必要最小限の権限にする
  • 外部通信先を制限できる場合は制限する
  • API側で月額・日額の予算上限を設定する
  • 実行時間、GPU時間、生成回数、ワーカー数に上限を設ける

AI Scientist-v2をインストールする

リポジトリを取得する

git clone https://github.com/SakanaAI/AI-Scientist-v2.git
cd AI-Scientist-v2

conda環境と依存関係を作る

conda create -n ai_scientist python=3.11
conda activate ai_scientist

# CUDAのバージョンは自分のドライバ環境に合わせて調整する
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

conda install anaconda::poppler
conda install conda-forge::chktex
pip install -r requirements.txt

READMEにはCUDA 12.4の例が載っていますが、固定でコピーするのではなく、NVIDIAドライバとPyTorchの対応表を確認します。まずnvidia-smiとPythonからのCUDA認識を確認してください。

nvidia-smi
python -c "import torch; print(torch.cuda.is_available()); print(torch.version.cuda)"

APIキーを環境変数へ設定する

export OPENAI_API_KEY="YOUR_OPENAI_KEY"
export S2_API_KEY="YOUR_SEMANTIC_SCHOLAR_KEY"

# Bedrockを使う場合のみ
# export AWS_ACCESS_KEY_ID="..."
# export AWS_SECRET_ACCESS_KEY="..."
# export AWS_REGION_NAME="..."

APIキーをREADME、シェル履歴、Git管理対象のファイルへ直接書かないでください。専用のシークレット管理や、権限を絞った一時認証情報を使います。

研究テーマのMarkdownを作る

いきなり本体を実行せず、最初に研究領域をMarkdownで定義します。テーマが広すぎると、実験が大きくなり、GPU不足や評価不能につながります。最初は小さなデータセットと短時間で評価できる課題にします。

# Title
Lightweight image classification under limited GPU memory

# Keywords
image classification, small dataset, efficient training, augmentation

# TL;DR
限られたGPUメモリで精度と学習時間のバランスが良い手法を探索する。

# Abstract
小規模な公開データセットを使い、モデル規模、データ拡張、学習率の
組み合わせを比較する。1回の実験は短時間で終わり、精度・学習時間・
GPUメモリ使用量を評価指標とする。

例ではai_scientist/ideas/my_research_topic.mdとして保存します。外部データの利用条件、個人情報、ライセンスもテーマ段階で明記すると安全です。

研究アイデアを生成する

ideationスクリプトは、テーマをもとに複数の研究案を生成し、反省処理と文献検索を使って絞り込みます。最初の動作確認では生成数と反省回数を小さくしてください。

python ai_scientist/perform_ideation_temp_free.py           --workshop-file "ai_scientist/ideas/my_research_topic.md"           --model YOUR_SUPPORTED_MODEL           --max-num-generations 3           --num-reflections 2

成功すると、同じ名前のJSONファイルが生成されます。仮説、提案実験、関連研究の評価などを確認し、計算量が大きすぎる案や目的に合わない案を削除してから本体へ渡します。

bfts_config.yamlを小さく調整する

本体はBest-First Tree Searchの設定に従って実験経路を探索します。最初からREADMEの大きな設定を使わず、ワーカーと探索ステップを減らして、最後まで1回通るか確認します。

よく確認するagent設定

項目 役割 小規模な試運転の考え方
num_workers 同時に進める探索経路 まず1。GPUとAPI余裕を見て増やす
steps 探索する最大ノード数 少数から開始し、ログを見て増やす
num_seeds 初期シード数 ワーカー数との整合を取る

よく確認するsearch設定

項目 役割 注意点
max_debug_depth 失敗ノードを何回デバッグするか 大きいと失敗経路へ時間と費用を使う
debug_prob 失敗時にデバッグを試す確率 試運転では低めにして挙動を見る
num_drafts 初期探索木の数 増やすと多様性と計算量が増える

実験パイプラインを起動する

公式READMEのコマンドには公開当時のモデルIDが含まれます。現在利用可能なモデル名と、コード側が対応するプロバイダ表記を確認して置き換えてください。

python launch_scientist_bfts.py           --load_ideas "ai_scientist/ideas/my_research_topic.json"           --load_code           --add_dataset_ref           --model_writeup YOUR_WRITEUP_MODEL           --model_citation YOUR_CITATION_MODEL           --model_review YOUR_REVIEW_MODEL           --model_agg_plots YOUR_PLOT_MODEL           --num_cite_rounds 3

--load_codeは既存コードを初期値として使う場合に指定します。コードなしで始める場合は外します。引用ラウンドや探索設定を小さくすると、まずパイプライン全体の接続を確認できます。

出力を確認する

  • experiments/以下のタイムスタンプ付きフォルダ:実験ごとの成果物
  • logs/0-run/unified_tree_viz.html:探索木の可視化
  • 実験ログ:生成コード、標準出力、指標、失敗理由
  • LaTeX・図表:原稿作成途中のファイル
  • 最終PDF:書き込み工程まで成功した場合に生成

PDFだけを成果として見ず、探索木と各実験ログを確認します。評価指標が目的に合っているか、データ漏洩がないか、比較条件が揃っているかを人間が検証してください。

よくあるエラーと対処方法

CUDA out of memory

  • テーマに「小さいモデルと小規模データを使う」と明記する
  • num_workersを1へ下げる
  • 同時に動いているGPUプロセスを確認する
  • 画像サイズ、バッチサイズ、モデル規模を制限する
  • GPUメモリの大きい環境へ移す前に、実験の必要性を見直す

Semantic Scholarのレート制限・403

S2_API_KEYを設定し、生成数や引用ラウンドを下げます。文献取得を飛ばせる構成でも、最終的な新規性と引用の正確性は人間が別途確認する必要があります。

PDFやレビューが生成されない

前段の実験が十分に成功していない、LaTeX環境が不足している、モデル呼び出しに失敗した、引用工程で止まった可能性があります。最終ログだけでなく、最初に失敗したノードまで遡ります。

古いモデルIDでAPIエラーになる

READMEは再現用の記録でもあるため、例にあるモデルが現行APIで利用できるとは限りません。プロバイダの現行モデル一覧と、リポジトリ内の対応コードを確認し、互換性をテストしてから長時間実行します。

費用と実行時間を管理する

公式READMEには公開時点の費用例がありますが、モデル価格と探索量で大きく変わります。予算は「1回のリクエスト単価」ではなく、アイデア数×反省回数×探索ノード×レビュー回数で見積もります。

  • 試運転用と本番探索用の設定ファイルを分ける
  • リクエスト数、トークン数、GPU時間をログへ残す
  • APIプロバイダ側のハードリミットを設定する
  • 長時間処理にはOS側のタイムアウトを付ける
  • 中間成果を保存し、失敗時に最初からやり直さない

研究倫理・ライセンス・公開時の注意点

AI Scientist-v2のリポジトリは独自の責任ある利用条件を含み、生成した科学原稿へAI利用を明確に開示することを求めています。コードのライセンスだけでなく、データセット、外部モデル、引用文献の条件も個別に確認します。

AIが作った実験結果や論文を、人間の検証なしで研究成果として公開しないでください。再実行、データ分割、統計、引用、著者責任を人間が確認する必要があります。

あわせて読みたい記事

よくある質問

WindowsやmacOSで動かせますか?

公式実装はLinuxとNVIDIA GPU、CUDA、PyTorchを前提にしています。WSLや仮想環境で動く可能性はありますが、READMEどおりの保証対象と考えず、Linuxの隔離環境を用意する方が安全です。

GPUなしで試せますか?

外部APIだけで完結する部分もありますが、実験コードがGPUを前提にすることが多く、公式要件はNVIDIA GPUです。テーマと実験内容をCPU向けに制限しない限り実用的ではありません。

論文まで必ず生成されますか?

いいえ。実験の成功率、モデル、テーマ、環境によって途中で失敗します。PDFが出ないことも想定し、ログと探索経路を成果として確認します。

READMEのモデル名をそのまま使えますか?

公開当時の例を含むため、現行APIで使えるかを確認してください。小さな呼び出しで互換性を検証してから本実行します。

Webアプリ開発のアイデア検証にも使えますか?

公開実装は機械学習研究向けです。ただし、複数案を生成し、自動テストと指標で探索する考え方はWebパフォーマンスやUI実験へ応用できます。実装は別の軽量なエージェント構成にした方が扱いやすい場合があります。

まとめ

AI Scientist-v2を試すときは、LinuxとNVIDIA GPUを準備し、隔離環境で依存関係を導入します。テーマMarkdownから小数のアイデアを生成し、BFTSのワーカーと探索数を抑えた試運転を行い、探索木とログを確認してから規模を広げます。

最大のポイントは、生成されたPDFではなく、生成コードを安全に実行し、評価方法と結果を人間が検証できる運用を作ることです。

参考リンク