SynBO 化学反应贝叶斯优化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_4ffb55cd/synbo。
技能介绍
要解决什么问题
化学工艺开发里,反应条件(试剂、溶剂、温度等)的组合空间往往很大,逐点试错成本高。贝叶斯优化(BO) 可以在有限实验预算下,根据已有结果逐步推荐下一批待测条件。本技能围绕 Python 包 synbo,把「反应空间 → 条件描述符 → 初始化 → 优化 → 结果回传」串成可重复执行的工作流,适合在本地项目目录里管理一次 BO 课题的全套中间产物。
技能如何工作
执行任何 initialize / optimize 类任务前,技能会按顺序核对五类前置条件,缺一不可:
- Conda 与
synbo:确认synbo_env环境存在且已安装synbo - 工作目录与项目名:从技能目录的
config.json读取project_wd、project_name;若无则校验路径存在后写入配置,并据此确定输出save_dir - 反应空间:
project_wd/rxn_space下需有各试剂类型的{reagent_type}.csv(列:SMILES、name) - 条件描述符:
project_wd/descriptors下需有对应描述符,或按指引自动生成 - 优化指标:
project_wd/optimization_settings.json定义目标(如产率、ee)、优化方向(max/min)、数值范围与权重
反应空间可通过聊天输入 SMILES 或上传表格;未命名分子会按 {reagent_type}-1 等形式自动命名。初始化、描述符生成与优化步骤分别遵循技能内 reference/ 文档(如 initialize.md、get_desc.md、optimize.md),并支持下载推荐条件、上传实验结果。
适用边界与注意点
本技能不是通用超参搜索框架的替代品,而是面向化学反应条件、且强依赖 synbo 包与既定目录结构 的编排助手。在步骤 1~4 未全部满足前,不会启动优化流程;反应空间与描述符需符合 synbo 侧「标准」数据形态。若本地无 Conda,需先与用户确认安装 Miniconda 等环境,再创建 synbo_env。
使用场景
- 本地已有若干轮反应实验数据,需要在有限新实验次数内用 BO 推荐下一批条件并写入项目目录
- 新课题刚建好 `project_wd`,要把各试剂 SMILES 整理成 `rxn_space` 下分试剂类型的 CSV 再跑初始化
- 描述符目录为空,希望在进入 `optimize` 前按技能流程生成或补齐 `descriptors` 与优化指标 JSON
- 平台返回一批推荐反应条件,需要下载后在 wet lab 测完,再把产率/ee 等结果按技能规范上传回传
适合人员
- 工艺化学研究员:在 synbo 项目里维护反应空间与描述符,按五步前置检查后再启动优化
- 实验室数据负责人:把聊天或表格里的 SMILES 规范命名并落盘到 `rxn_space`,避免 BO 因目录结构不完整中断
- 计算化学/化学信息学工程师:负责 Conda `synbo_env`、本地 `config.json` 与 synbo 脚本链路的搭建与排错
- 药物或材料合成团队负责人:需要把多目标(产率、ee 等)权重与优化方向写进 `optimization_settings.json` 并跟踪推荐条件