从科学决策出发
构建能够支持明确定义的研究决策的最小工作流。数据库查询、分子性质筛选和晶体弛豫需要不同的输入、证据和停止规则。不要一开始就连接所有可用的智能体组件。
编写一份规范,涵盖化学领域、提供的结构或记录、期望输出、单位、不可接受的错误以及负责批准的研究人员。说明结果属于检索到的观察值、计算描述符、模型估计,还是拟议实验。对于反应规划,建议的路线并不能证明反应一定会成功。
以下架构是一套规划框架。资源的能力以来源描述为准;除非有明确文档说明,否则单独列出的项目之间的连接均为建议方案。此处不声称进行过组合科学测试。
相关指南:材料科学工作流。
将技术栈拆分为不同职责
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 不能证明已与此技术栈集成 |
一个项目可能涵盖多个角色。应根据所需职责选择,而非只看标签。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 模板化资源,但其 README 指出,有些客户端只公开工具。TandemAI 提供工具列表实用程序;应检查该清单,而不要把“提供每个 RDKit 函数”的目标当作已实现的覆盖范围。
Skill 发现机制和可选元数据行为会因 host 而异。加载指令不会安装软件包、计算器或凭据。决定是否需要另一个 server 时,可参考化学 MCP 选择指南。
绘制具有明确交接点的架构
建议的架构如下:
研究请求 → LLM 与 agent host → 所选工具 → 保留的产物 → 科学审查。
Skills 在此流程旁提供程序性指导。工具分支可以直接调用库、通过 API 检索数据,或调用 MCP server。并不要求每一层都按顺序串联。
对于 ChemGraph,single_agent 是文档说明的起始工作流。其 CLI 和异步 Python 接口可以将请求连接到化学工具和会话产物。更复杂的委派属于可选项,并非分子查询的前提。
为每个交接点定义契约:
- 输入: 原始记录 ID、表示形式、标识符命名空间、单位、请求的操作和获准范围。
- 输出: 来源 ID、原始产物、派生值、方法或模型标识、警告以及明确的完整性状态。
- 决策: 继续、请求澄清、隔离记录、在限定范围内重试,或停止。
不要假定 RDKit 特征与 Chemprop 配置相匹配。核实所选教程和模型的要求。对于周期性结构,在转换前记录晶格、坐标约定、占位率和边界条件。化学 APIs 开发者指南有助于将检索契约与 agent 行为分别梳理。
拟议的分子示例:性质优先级筛选
假设某团队希望根据指定的测量背景,按水溶解度对一小组候选物排序。这是拟议的评估方案,并非经过测试的集成或预测结果。
- 明确研究终点。 输入带来源 ID 和标注参考观察值的候选 SMILES。定义单位、条件和目标化学领域。如果参考测量与研究终点不匹配,就停止模型开发,不要用方便获取的标签替代。
- 解析身份。 可考虑用 PUG REST 或 PubChemPy 检索,或在 assistant host 中使用 PubChem MCP。保留所有候选匹配项和 CID。针对阿司匹林、CID
2244的 PUG REST 属性请求有文档说明,可用作非敏感检索检查;它不是溶解度训练示例。 - 处理结构。 评估直接使用 RDKit 处理、由 RDKit Skill 指导处理,或在检查 TandemAI 暴露的 schema 后使用该服务。保留原始输入并记录无效输入。明确盐、互变异构体、质子化状态和立体化学策略;仅使用 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 是否有效、化学含义是否成立以及科学上是否充分。通过其中一项并不意味着其他项也通过。
对于检索,应依据服务文档实施速率限制和有界重试。PUG REST 用于有针对性的请求,并非用于不受限制地逐条批量访问。保留部分响应和分页状态。PubChem MCP 会区分记录缺失、GHS 数据不存在和 3D 结构不可用;这些情况都不应被解释为否定性的科学发现。
对于本地处理,应隔离无效结构并保留其 ID。嵌入失败时不应继续进行优化。对于模拟,应将解析器成功与收敛分开处理,并在比较前审查结果。对于预测,应评估留出证据是否支持预期决策,而不只是检查是否生成了表格。
TandemAI 的评估套件包含 LLM 评判,但评判器的认可不等于独立的化学验证。ChemCrow 的公开软件包不包含其论文中所述的一些工具,并明确说明无法复现相同结果。因此,不能把论文结果归于此安装版本。
规划权限、部署和可复现性
从隔离环境、非敏感示例和受限工具集开始。分别批准外部查询、上传、文件修改和计算提交。不要将凭据放入提示或已保存的报告中;应把检索到的文档视为证据,而非指令。
本地执行并不自动意味着数据只在本地处理:托管 LLM 和数据库会引入外部传输。容器本身也不能确保广泛的文件系统访问安全。ChemGraph 特别警告,其工作区 shell 访问并未被限制在工作区内。其 Kubernetes 模板在部署前需要审查身份验证和持久化设置。
记录软件包和 Skill 修订版本、模型标识符、计算器设置、查询筛选条件、检索时间、原始响应、校验和、转换和故障。将机器可读输出与叙述性内容一并保存。将不兼容的依赖放在独立环境中,并在更新后重新评估;请参阅可复现的化学 AI。
分别核查软件、权重、数据和服务条款。两项 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 产品页面。