ジェネラティブエージェンツの大嶋です。
「AIエージェントキャッチアップ #3 - The AI Scientist」という勉強会を開催しました。
generative-agents.connpass.com
アーカイブ動画はこちらです。
The AI Scientist
今回は、Sakana AI社のThe AI Scientistを動かそうと挑戦したり、ソースコードを読んだりしてみました。
The AI ScientistのGItHubリポジトリはこちらです。
今回のポイント
The AI Scientistの概要
The AI Scientistは、研究・論文の作成を自動化するAIエージェントです。
コードを生成して実行することで、機械学習の研究の実験を行い、その結果を論文にすることができます。
The AI Scientistで生成された論文の例がいくつかGitHubで公開されています。
https://github.com/SakanaAI/AI-Scientist/tree/main/example_papers
研究のアイデア生成・実験・論文生成に加えて、LLMによる論文のレビューもできるようです。
動くか試したところ...
READMEを読みながら動かそうとしてみましたが、結論として、今回はうまく動かすことができませんでした。
Google Colab上で動くか試したところ、Semantic Scholar APIのレートリミットで処理がなかなか先に進まず、断念しました。
Semantic Scholar APIは、APIキーを払い出すことでレートリミットが緩和されるようです。 The AI Scientistを動かそうと挑戦する方は、まずSemantic Scholar APIのAPIキーを取得するとよさそうです。
ちなみに、Dockerで動かす手順についても挑戦しようとしましたが、docker buildがエラーになり、こちらも断念しました。
処理の流れ
The AI Scientistを動かす際は、launch_scientist.py というファイルを実行することになります。
ここには主な処理の流れが実装されていて、このコードを読むとおおよそ以下のように処理が進むことが分かります。
- generate_ideas(アイデアの生成)
- check_idea_novelty(新規性のチェック)
- perform_experiments(実験)
- perform_writeup(論文の生成)
- perform_review(レビュー)
- perform_improvement(論文の改善)
各処理のソースコード
上記の各処理のソースコードは ai_scientist ディレクトリに置かれています。 プロンプトもこの中に含まれています。
このディレクトリに含まれるプロンプト・ソースコードは全部で2000行程度で、想像していたよりも短いコードで実装されていて驚きました。
実験のためのコード生成・実行には Aider が使われていました。 この部分でAiderを使用していることで、The AI Scientist自体は比較的コンパクトに実装できた、ということだと思います。
Aiderは比較的有名かつ今回の件で気になったので、そのうち勉強会のテーマとして扱うかもしれません。
次回のご案内
The AI Scientistはとても話題になっていたので、今回扱うことができてよかったです。
次回は「AIエージェントキャッチアップ #4 - OpenHands (旧OpenDevin)」ということで、OpenHands (旧OpenDevin) を動かしてみます!
generative-agents.connpass.com
ご興味・お時間ある方はぜひご参加ください!
また、その次の回以降のテーマも募集しているので、気になるエージェントのOSSなどあれば教えてください!