为什么这些术语容易混淆

化学助手可能在一次对话中检索 PubChem 记录、计算 RDKit 描述符、提交模拟并总结结果。从用户角度看,这一切像是单一能力。实际上,不同组件分别提供数据、开放功能、描述流程,并决定接下来要做什么。

当一个项目横跨多个角色时,混淆会进一步加深。智能体框架可以开放 MCP 服务器;托管平台可以提供 Python API;Skill 可以打包可执行的辅助工具。因此,这些标签并不是互斥的产品类别。

有用的区分标准是职责:**API 定义访问方式,MCP 规范与 AI 应用之间的交互,Skill 打包流程知识,智能体协调以任务为导向的操作。**这些标签本身都不能证明化学准确性、工具覆盖全面性或不受限制的自主性。本指南介绍分类与选择,而非部署架构。

四个定义,四种不同职责

**API—应用程序编程接口。**API 规定软件如何请求功能或数据并接收结果。本指南中,PubChem 和 RCSB 展示托管数据 API,Rowan 展示托管计算的访问方式。API 也可以属于本地库或框架;“API”并不一定意味着远程 Web 服务。

**MCP—模型上下文协议。**MCP 定义 AI 应用的客户端与提供工具、资源和提示的服务器之间的交互。宿主管理客户端连接;服务器开放功能或上下文。官方架构概览明确将协议与应用如何使用语言模型或管理上下文区分开来。MCP 本身既不是化学引擎,也不是规划策略。

**Skill。**按照Agent Skills 格式,Skill 是一个以 SKILL.md 为核心的文件夹,其中包含元数据和任务指令,还可选配脚本、参考资料或模板。兼容的宿主可以发现相关指令,并在需要时加载。Skill 描述如何开展工作;执行仍需要合适的工具、依赖项和权限。不同宿主的支持情况不同,因此加载指令并不保证其中打包的代码能够运行。

**智能体。**本文所说的智能体,是一种协调工具和任务状态以实现目标的软件系统,并可能选择或调整下一步操作。其行为可以受到严格限制、由人工监督,或具有更高灵活性。自主程度取决于实现方式、可用工具、审批规则和权限,而不是“智能体”这个称呼。如需进一步了解指令包与协调系统的区别,请参阅智能体与 Skills。

比较调用方、执行方与规划方

下表将接口职责与实现方式区分开来。服务器可以执行大量计算,而无需决定整体研究计划。

层 典型调用者或使用方 提供的内容 执行发生的位置 谁决定下一步?
API 脚本、客户端库、应用或封装层 明确定义的操作、输入和响应 服务或底层软件 通常由调用方决定;实现本身可能管理其内部工作流
MCP 服务器 AI 宿主中的 MCP 客户端 可发现的工具和上下文材料 服务器及其库或连接的服务 宿主/应用策略;开放的工具本身也可能运行工作流
Skill 兼容 Skills 的宿主或智能体 指令、参考资料和可选辅助工具 宿主能够访问的任意运行环境 宿主/智能体在指引下决定,但指令并不能保证结果
智能体 用户、应用或其他协调器 任务状态、编排和工具选择 智能体运行环境及连接的执行方 在权限和人工检查点范围内,由智能体工作流决定
托管平台 浏览器用户或 API 客户端 托管计算环境和分析工作区 托管基础设施和科学引擎 用户或调用工作流;内部自动化取决于服务本身

这样可以避免“API 不能执行”或“智能体总是自主规划”这类误导性的绝对说法。API 可以提交复杂计算,而智能体也可以遵循固定顺序。

六种化学资源实际提供什么

PubChem PUG REST通过 HTTP 操作检索选定的化学记录、标识符、性质和测定信息。其文档列出的化合物输入包括 CID、名称、SMILES 和 InChI。检索和结构搜索操作所支持的输出格式因操作而异。它是托管 API,不是智能体或第三方 MCP 封装。

RCSB PDB Data API通过 REST 和 GraphQL 检索结构元数据。REST 提供固定对象表示;GraphQL 用于选择字段和遍历关系。Entry、entity、chain-instance、assembly 和 chemical-component 标识符的含义各不相同。该服务用于检索注释,不负责预测结构或执行模拟。独立的 rcsb-api Python 客户端并不等同于托管服务本身。

RDKit MCP Server (TandemAI)通过 MCP 开放 RDKit 函数,并包含由 OpenAI 驱动的 CLI 客户端、工具列表实用程序和评估套件。其关于开放 RDKit 2025.3.1 中所有函数的目标,并不代表已证实覆盖所有函数。选择它执行特定操作前,应检查实际工具清单。

RDKit Skill (K-Dense)提供有关解析、验证、描述符、指纹、子结构操作和分子处理的指令。它列出了三个用于性质计算、相似性筛选和子结构过滤的 Python 辅助工具。这些工具需要安装 rdkit 包。该 Skill 既不是 RDKit 本身,也不是一个独立运行的智能体。

ChemGraph是一个将自然语言请求与分子构建、计算、分析和报告相连接的智能体框架。它提供 CLI、异步 Python、Streamlit 和 MCP 接入方式。其默认的 single_agent 工作流不同于带检查点的 main_agent;后者可以发现 Skills,并将任务委派给已配置的专用智能体。可用计算器取决于运行环境。

Rowan是一个托管平台,其官方产品页面列出了分子建模、性质预测和蛋白质–配体工作流。其 Python API 支持以脚本方式提交任务、监控和分析。这些是供应商描述的能力,并非独立的准确性结论。该 API 是访问托管引擎的途径,并不能证明存在独立的本地实现。

各层如何协同工作

一种建议的组合方式是:研究人员提出问题 → 智能体协调器 → API 请求或 MCP 工具 → 科学执行方 → 记录结果。Skill 可以在整个过程中指导验证和解读;它不一定是另一个网络跳转。

例如,协调器可以通过 PUG REST 检索标识符,遵循 RDKit Skill 的指导验证结构,并调用合适的 RDKit MCP 工具进行计算。或者,确定性脚本可以直接调用数据 API 和 RDKit,完全不需要 MCP 或智能体。

ChemGraph 文档说明了它既能提供 MCP 工具,也能使用 MCP 工具,展示了智能体与接口角色可以并存。但这并不能证明它能与所有列出的资源互操作。将特定的 TandemAI 服务器、K-Dense Skill、RCSB API 或 Rowan 服务连接到同一工作流,仍属于需要评估的拟议集成。当前 MCP 文档也不能证明较早的项目实现了当前协议行为。

拟议示例:可审计的阿司匹林描述符练习

这是一项建议的评估,并非已完成的科学测试。目标是检索阿司匹林结构、计算选定的描述符并生成可追溯的报告,而不是证明其效力或安全性。

  1. **明确输入。**使用 PubChem CID 2244,请求原始结构,并定义预期输出:分子式、InChIKey、分子量、LogP 和 TPSA。决定保留检索到的表示不变,还是采用明确记录的标准化策略。
  2. **检索证据。**PUG REST 文档提供了 CID 2244 的 SDF 请求,以及分子式/InChIKey JSON 请求。保留来源标识符、请求、检索日期和原始响应。
  3. **选择计算路径。**在 Skill 指引下直接使用 RDKit,或先检查 TandemAI 服务器提供的工具及其输入输出模式。只有在所需操作和分子输入确实开放时,才通过 MCP 执行。不要编造工具名称。
  4. **计算前先验证。**检查解析及 sanitization(化学合理性检查)的结果。遇到无效记录时,连同来源 ID 和错误信息一起隔离;不要悄悄用猜测的结构替代。
  5. **生成输出。**建议生成描述符表、输入/来源记录和异常日志。记录描述符定义和已安装环境。与数据库性质进行比较前,先说明差异原因。
  6. **设置后续工作的关卡。**如果涉及几何优化,应单独评估 ChemGraph 可用的计算器或 Rowan 托管工作流。提交前确认方法、分子状态、电荷、自旋和权限。描述符练习并不会自动成为开展模拟的理由。

对于这个小分子练习,不需要使用 RCSB。若另一个问题需要已确认的蛋白质结构元数据,则可能用到它;但这并不能证明阿司匹林会与选定结构结合。

选择足以解决问题的最少层级

对于科学数据检索,如果输入和请求字段已知,优先使用直接 API。对受支持的 PubChem 记录操作选择 PUG REST;对已标识结构的注释选择 RCSB。对于固定检索任务,自然语言编排作用不大。

对于化学信息学,如果主要需求是在兼容的宿主中复用流程指导,可选择 Skill。如果宿主需要可发现的 RDKit 工具,可选择 MCP 服务器,但应先检查实际覆盖范围。直接使用库实现仍然是可控、可重复计算的替代方案。

对于计算化学,如果工具选择、计算管理和报告需要协调,可考虑智能体框架。如果托管提交和分析符合研究场景,可考虑托管平台。两者都不能取代对方法的评估。

在 ChemAI Atlas 中,主要类型表示资源的主要角色:PubChem 和 RCSB 使用 apis,TandemAI 服务器使用 mcp,K-Dense 指令包使用 skills,ChemGraph 使用 agents,Rowan 使用 platforms。次要类型可以描述重叠角色,而不改变资源的根本属性。任务标签是编辑整理用的导航辅助信息,并不保证执行能力。

明确处理故障和科学局限

区分访问故障与化学问题。对于 PUG REST,应遵守文档规定的限制和动态限流,使用有界重试,并在适当时改用批量检索,而不是不受限制地逐条请求。对于 RCSB GraphQL,除 HTTP 状态外还应检查响应中的错误;缺失的注释不得被转化为臆造的值。

对于 RDKit 工作,应保留原始结构和标识符。Canonical SMILES 不能解决互变异构体、质子化状态、盐或未指定立体化学的问题。指纹相似度不等同于身份相同。K-Dense 辅助工具中的历史 pains 选项包含的是示例基团,而不是已发表的 PAINS 目录。构象生成失败时,应停止后续优化。

对于计算,应审查设置、单位、收敛情况和适用性。ChemGraph 说明 EMT 适用于设置检查,而非一般的高精度化学计算。其工作区 shell 访问权限并不局限于工作区,因此操作审查并不等于沙箱。托管计算服务可用,也不能证明它对某个特定体系准确。

最后,应单独核查权利。K-Dense Skill 声明采用 BSD-3-Clause,而其仓库许可证为 MIT;再发布前应澄清适用范围。能够访问 API 或仓库本身,并不能证明拥有软件或数据的再利用权利。

读者检查清单

  • 明确缺少哪种职责:数据访问、工具开放、指令、协调还是托管执行。
  • 确认具体输入、输出、工具覆盖范围和依赖项。
  • 核实宿主支持和协议兼容性,不要想当然。
  • 明确分子状态策略,并保留原始标识符。
  • 设置审批边界、重试上限和停止条件。
  • 保留结果、异常、计算设置和来源与处理记录。
  • 独立评估科学适用性,不要与接口便利性混为一谈。

继续阅读相关指南:化学领域的 MCP 是什么?从原理到科研应用 · 化学 AI Agent 指南:从聊天助手到自主科研工作流 · 化学 AI Skills 是什么?科研 Agent 的能力模块详解 · 如何搭建一个化学 AI Agent 技术栈。

来源