科学的な判断から始める
明確に定義された研究上の判断を支えられる、最小限のワークフローを構築します。データベース検索、分子物性スクリーニング、結晶構造の緩和では、必要な入力、根拠、停止規則が異なります。利用可能なエージェントコンポーネントをすべて接続することから始めてはいけません。
化学分野、提供する構造やレコード、期待する出力、単位、許容できない誤り、承認する研究者を含む仕様を作成します。結果が検索された観測値、計算記述子、モデル推定値、提案実験のいずれなのかを明示します。反応計画では、提案された経路は反応が成功する証拠ではありません。
以下のアーキテクチャは計画の枠組みです。各リソースの機能は情報源に記載されたものです。明示的な文書がない限り、別々に列挙されたプロジェクト間の接続は提案にすぎません。複合的な科学テストを実施したとは主張しません。
関連ガイド:材料科学ワークフロー。
スタックを役割ごとに分ける
LLMはリクエストの解釈と根拠の説明を担い、数値処理と構造処理は明示されたツールに割り当てます。以下の役割表は、しばしばまとめて「AI」と呼ばれるコンポーネントを区別するのに役立ちます。
| レイヤー | 役割と例 | 保つべき境界 |
|---|---|---|
| LLM | リクエストの解釈、ツール選択、説明文としての統合 | 回答は化学測定値ではない |
| Agent | ChemGraphは構築、シミュレーション、解析、レポートをオーケストレーションし、ChemCrowは質問を化学ツールに接続する | 実行はツール、設定、外部依存関係に左右される |
| Skill | Scientific Agent Skillsは手順と補助アセットをまとめる | 指示はインストール済みの科学計算環境ではない |
| MCP server | RDKit MCP Server (TandemAI)はクライアントにRDKit関数を公開する | ラッパーはRDKitの代替ではなく、網羅性を保証するものでもない |
| APIとクライアント | PubChem PUG RESTはHTTP検索を提供し、PubChemPyはPythonインターフェースを提供する | どちらも上流のPubChemにアクセスするもので、新たなデータベースではない |
| 科学計算ライブラリ | RDKitは分子操作、記述子、フィンガープリントを提供する | 特徴量の生成はエンドポイント固有の予測ではない |
| 予測ツールキット | Chempropはメッセージパッシングモデルの訓練、評価、予測をサポートする | 実用的な予測器には、選定したモデルとデータ契約が必要 |
| データと評価 | Therapeutics Data Commonsはデータセット、分割、指標、ベンチマークを提供する | データセットの出所と利用条件は個別に確認する必要がある |
| 統合プラットフォーム | Makyaはベンダーが説明する分子生成と候補評価を提供する | 外部モデルAPIがあっても、このスタックとの統合が確立されるわけではない |
1つのプロジェクトが複数の役割を担う場合もあります。名称ではなく、必要な役割に基づいて選択してください。MCP、Skills、agents、APIsのガイドには、これらを区別するための関連用語がまとめられています。
直接呼び出し、Skills、MCPを意図的に選ぶ
タスクが固定され、パラメーターも既知であれば、ライブラリやAPIを直接呼び出します。ワークフローに確認、分岐、またはツールの連携が必要な場合にagentを追加します。
SkillはMCPなしで直接コードを実行する手順を示せます。RDKit Skill (K-Dense)は、パース、検証、記述子、類似性、構造操作を説明し、オプションの補助ツールも備えています。ただし、RDKitは別途必要です。Pymatgen Skill (K-Dense)は、構造検証、対称性への感度、変換計画、ローカル相図の作成を案内します。Materials Projectヘルパーは、デフォルトでオフラインのクエリ計画を行います。
一方、MCPはツールとコンテキストのためのクライアント・サーバーインターフェースを提供します。このプロトコルはhost、client、serverを区別し、tools、resources、promptsを別々のプリミティブとして扱います。実際のhostとserverの機能を確認してください。現在のプロトコル概要だけでは、以前のプロジェクト実装との互換性は確立されません。
たとえば、PubChem MCP (cyanheads)は読み取り専用ツールとURIテンプレート形式のresourceを提供しますが、READMEによると、ツールしか公開しないクライアントもあります。TandemAIにはツール一覧ユーティリティがあります。「すべてのRDKit関数を公開する」という目標を実現済みのカバレッジとみなさず、実際の一覧を確認してください。
Skillの検出方法とオプションのメタデータの扱いはhostによって異なります。指示を読み込んでも、パッケージ、計算器、認証情報はインストールされません。別のserverを追加する価値があるか判断する際は、化学分野のMCP選定ガイドを参照してください。
明確な引き継ぎ点を持つアーキテクチャを描く
提案するアーキテクチャは次のとおりです。
研究リクエスト → LLMとagent host → 選択されたツール → 保存された成果物 → 科学的レビュー。
Skillsはこのフローに沿って手順を案内します。ツール分岐からライブラリを直接呼び出すことも、API経由でデータを取得することも、MCP serverを呼び出すこともできます。すべてのレイヤーを必ず順番に連結する必要はありません。
ChemGraphでは、single_agentが文書化された開始ワークフローです。CLIと非同期Pythonインターフェースを使って、リクエストを化学ツールやセッション成果物に接続できます。より複雑な委譲は任意であり、分子検索の前提条件ではありません。
各引き継ぎ点で契約を定義します。
- 入力: 元のレコードID、表現形式、識別子の名前空間、単位、要求する操作、承認された範囲。
- 出力: 出典ID、生の成果物、派生値、手法またはモデルの識別情報、警告、明示的な完全性ステータス。
- 判断: 続行、確認依頼、レコードの隔離、制限内での再試行、または停止。
RDKitの特徴量がChempropの設定と一致すると想定してはいけません。選択したチュートリアルとモデルの要件を確認してください。周期構造では、変換前に格子、座標規約、占有率、境界条件を記録します。化学API開発者ガイドは、検索契約とagentの挙動を分けて整理するのに役立ちます。
提案する分子の例:物性に基づく優先順位付けスクリーニング
あるチームが、指定された測定条件における水溶解度に基づいて、少数の候補を順位付けしたいとします。これは提案する評価方法であり、テスト済みの統合や予測結果ではありません。
- エンドポイントを明確にする。 出典IDとラベル付き参照観測値を含む候補SMILESを入力します。単位、条件、対象とする化学領域を定義します。参照測定値がエンドポイントに一致しなければ、都合のよいラベルで代用せず、モデル開発を中止します。
- 化学種の同一性を解決する。 取得にはPUG RESTまたはPubChemPyを使うか、assistant hostでPubChem MCPを使う案が考えられます。すべての候補一致とCIDを保持します。CID
2244のアスピリンに対するPUG RESTのpropertyリクエストは、文書化された非機密の検索確認に利用できますが、溶解度の学習例ではありません。 - 構造を準備する。 RDKitを直接使う処理、RDKit Skillに沿った処理、または公開されるschemaを確認してからTandemAIを使う方法を評価します。元データを保持し、無効な入力を記録します。塩、互変異性体、プロトン化状態、立体化学の方針を明示してください。canonical SMILESだけではこれらの問題は解決しません。
- 予測器を開発する。 TDCデータセットがエンドポイントに合致するか調査し、適切なChempropワークフローを評価します。分割の割り当て、変換、モデル設定、除外項目を保持します。TDCはscaffold splittingを文書化していますが、その分割が想定する汎化の問いに答える必要があります。
- 順位付けの前に評価する。 エンドポイントに適した指標を用い、保留データに対する推定値と参照ラベルを比較します。順位を採用する前に、化学領域の違いと除外されたレコードを調べます。
提案する出力表には、出典ID、解決された構造、予測値、単位、モデル参照、適格性ステータスを含めます。取得した物性値や計算記述子は、予測値と区別しておく必要があります。分子の準備に特化した情報は、RDKit AIワークフローガイドを参照してください。
候補生成が必要であれば、Makyaは独立したSaaSの設計選択肢です。製品ページでは多目的生成とAPI接続が説明されていますが、エクスポートschema、認証、この例との統合は明らかにされていません。
提案する材料の例:取得、検証の後に緩和を計画する
あるチームが候補となるケイ素構造を調べ、選択したレコードを緩和に向けて準備したいとします。この提案ワークフローでは、データベースの根拠と新たな計算を分けます。
取得: Materials Project MCP (benedictdebrah)には、mp_apiを使った元素、バンドギャップ、安定性による検索、および材料IDによる構造取得が記載されています。範囲を限定したフィルターと要求フィールドを計画し、ネットワークアクセスを承認します。API keyが必要です。欠落している物性は欠落のまま扱い、ゼロ値のフィルター入力にしてはいけません。
検証: Pymatgen Skillを使い、パーサーの警告を保持し、周期性と占有率を確認し、許容誤差を変えて対称性を調べる方法が考えられます。変換を承認する前に、検証レポートと出典マニフェストを出力します。ローカルな凸包解析には、互換性のあるエネルギーと競合相が必要です。計算上の凸包への所属は、実験的な安定性を意味しません。
実行の準備: ASE Skill (Jinzhe Zeng Group)はルーターであり、計算器ではありません。ase/ase-workflowsまたはase/ase-calculatorsを選択し、不足している入力を報告して次の手順に委譲します。最上位のSkill自体は計算を実行しません。実行要求はdpdisp-submit経由で委譲されます。
ChemGraphもASE計算向けのオーケストレーション選択肢であり、環境内で利用できるエンジンを検出します。これらの独立したSkillsやMaterials Project serverからChemGraphへの引き継ぎは、いずれも提案です。投入前に、計算器の適合性、単位、拘束条件、収束基準を確認してください。EMTはセットアップ確認用の計算器として説明されており、汎用の高精度化学計算器ではありません。
期待する出力は、レビュー済みのジョブ計画です。承認後に限り、計算成果物と収束評価を作成します。手順の選択については、化学・材料AI Skillsを参照してください。
科学的な問いを変えずに失敗に対処する
通信の成功、schemaの妥当性、化学的意味、科学的な十分性をそれぞれ別に確認することを提案します。1つに合格しても、次に合格したことにはなりません。
検索では、サービス文書に沿ってレート制限と上限付きの再試行を行います。PUG RESTは、対象を絞ったリクエストを想定しており、レコードごとの無制限な一括アクセス向けではありません。部分応答とページネーションの状態を保持します。PubChem MCPでは、レコードがない場合、GHSデータがない場合、3D構造を利用できない場合が区別されています。いずれも否定的な科学的所見と解釈してはいけません。
ローカル処理では、無効な構造を隔離し、そのIDを保持します。埋め込みに失敗した場合は、最適化に進んではいけません。シミュレーションでは、パーサーの成功と収束を別々に扱い、比較前に結果をレビューします。予測では、単に表が生成されたかではなく、保留データの根拠が想定する判断を支えるか評価します。
TandemAIの評価スイートにはLLMによる判定が含まれますが、判定者の承認は独立した化学検証ではありません。ChemCrowの公開パッケージには論文に記載されたツールの一部が含まれておらず、同じ結果を再現できないことが明示されています。したがって、論文の結果をこのインストール環境に帰属させることはできません。
権限、デプロイ、再現性を計画する
機密性のない例と制限されたツールセットを使い、隔離環境から始めます。外部クエリ、アップロード、ファイル変更、計算投入は個別に承認します。認証情報をプロンプトや保存レポートに含めず、取得した文書は指示ではなく根拠として扱います。
ローカル実行だからといって、データ処理が自動的にローカル限定になるわけではありません。ホスト型LLMやデータベースを使うと、外部へのデータ転送が発生します。コンテナだけで広範なファイルシステムアクセスが安全になるわけでもありません。ChemGraphは、ワークスペースのshellアクセスがワークスペース内に限定されないことを特に警告しています。Kubernetesテンプレートをデプロイする前に、認証と永続化を確認する必要があります。
パッケージとSkillのリビジョン、モデル識別子、計算器の設定、クエリフィルター、取得時刻、生のレスポンス、チェックサム、変換、失敗を記録します。機械可読な出力を説明文とともに保存します。互換性のない依存関係は別環境に分け、更新後に再評価します。再現可能な化学AIも参照してください。
ソフトウェア、重み、データ、サービスの利用条件を個別に確認します。2つのSkillの適用範囲に関する矛盾は未解決です。RDKit SkillはBSD-3-Clauseを宣言していますが、リポジトリはMITを宣言しています。ASEルーターはMITを宣言していますが、リポジトリのライセンスにはLGPLv3の文言が含まれています。包括的に単一のライセンスを割り当てるのではなく、再配布前に適用範囲を明確にしてください。
自律性を拡張する前に、次を確認してください。
- 判断対象とエンドポイントは明確か?
- 入出力契約と停止規則が記録されているか?
- 同一性の曖昧さとデータ欠損に対処しているか?
- 依存関係、hostのサポート、権限を確認したか?
- すべての値を出典または計算まで追跡できるか?
- インターフェースのテストだけでなく、科学的評価も計画されているか?
出典
アーキテクチャとワークフローの境界に関する主な参考資料は、MCPの概要、Agent Skills形式の概要、ChemGraph README、TandemAI README、PUG REST仕様です。
科学的手順は、名称を挙げたRDKit Skill、Pymatgen Skill、ASEルーター、Materials Project MCP READMEに記載されています。
その他の役割と制限については、RDKitの概要、Chempropドキュメント、TDC README、PubChemPy README、PubChem MCP README、ChemCrow README、Scientific Agent Skills README、Makya製品ページを参照してください。