概要
ChemAgent (Gerstein Lab) は、自己更新型ライブラリが大規模言語モデルによる複数段階の化学推論問題の解決をどう支援するかを調べる研究フレームワークです。論文では、化学タスクをより小さなタスクに分解し、その経験を構造化されたライブラリに保存して、後続のクエリで利用するワークフローが説明されています。ChemAgentは単体の化学予測モデルではなく、LLMにメモリを活用したタスク分解と解答生成の仕組みを加えるものです。
このフレームワークは化学推論問題を入力として受け取り、関連する保存情報を検索し、解答を組み立てる過程でその情報を洗練します。文書で説明されているアーキテクチャには、タスク分割、実行、関連付け、振り返りの各モジュールが含まれます。論文では3種類のメモリが説明されており、リポジトリの説明ではPlan Memory、Execution Memory、Knowledge Memoryが挙げられています。設定ではメモリの保存場所を指定し、実行失敗後の戦略改善と、評価を有効にするかどうかを制御します。
リポジトリのREADMEには、メモリプールの構築と、SciBench由来のデータセット atkins、chemmc、matter、quan で実験を実行するコードが記載されています。また、実験出力と保存済みメモリを含むディレクトリも示されています。開発ワークフローではメモリ構築が前提となっており、自動インストールの手順ではありません。
これは公開された研究コードであり、手順が整備されたターンキー型サービスではありません。インストールの項目はプレースホルダーのままで、提供された抜粋からは、依存関係の完全な設定や現行モデルとの互換性は確認できません。創薬と材料科学は論文で将来の応用候補として挙げられており、実証済みのワークフローではありません。
主な機能
- 化学推論タスクをサブタスクに分解し、その結果を再利用可能で自己更新型のライブラリに蓄積できます。
- 関連するメモリを検索・洗練し、新しい問題の分解と解答生成を支援します。
- タスク分割、実行、関連付け、振り返りをそれぞれ機能モジュールとして分離しています。
- Plan MemoryとExecution Memoryの保存場所を設定でき、Knowledge Memoryを有効化する設定も文書化されています。
- メモリ構築用の開発モードと、`atkins`、`chemmc`、`matter`、`quan` を使った実験用のテストモードが説明されています。
- 実行失敗後の戦略改善と評価の有効化を制御する設定があります。
用途
- 評価案:不完全な環境設定を解決したうえで、文書化されたSciBench化学推論ワークフローの再現を試みる。
- 評価案:再利用可能なサブタスクメモリが、提供された推論データセットでの解答生成に与える影響を調べる。
- 評価案:戦略改善や評価の設定を変更して実行を比較し、生成された解答をデータセットの参照解答と照合する。
使い方
- 再現を試みる前に、ChemAgent論文を読み、タスク分解、メモリ構築、実験の範囲を把握します。
- 公開リポジトリとその READMEを確認します。データセット、メモリのディレクトリ、実験出力を特定します。インストール手順は未完成のため、依存関係は別途解決してください。
assets/config.ymlでモデル設定、Plan MemoryとExecution Memoryのパス、戦略改善、評価の設定を確認します。Knowledge Memoryの設定はコードで確認してください。READMEの例ではimageと記載されていますが、説明文ではimgとなっています。- READMEの開発ワークフローに従います。
XAgent/agent/simple_agent/prompt.pyのfewshot_examplesから例を2つ選び、設定を調整して、文書化された開発モードで対象データセットのメモリを構築します。 dev_test.pyで文書化されたテストモードを使い、atkins、chemmc、matter、quanのいずれかを選びます。評価の一環として、生成された解答と実験出力に計算や推論の誤りがないか確認してください。実行が成功しただけで科学的な妥当性が検証されたとみなさないでください。