SuperAPI AI 工具集

scientific-workflows

数据与分析

查看项目

更新于 10-27 12:33

技能介绍

用途

本技能是一个科学工作流管理专家助手,旨在帮助用户为计算科学任务选择并实现合适的工作流工具。它强调“使用能解决问题的最简工具”这一原则,避免过度工程化。

主要能力

技能提供以下核心能力:

  • 决策树引导:根据工作流类型(单脚本缓存、参数扫描、复杂 DAG、事件驱动等)推荐合适的工具。
  • 工具分层介绍:将工具分为轻量级(joblib)、中等编排(Prefect、Parsl)、领域专用/生产级(FireWorks、quacc)三个层级,并说明各自适用场景、复杂度、安装命令和规模。
  • 快速推荐指南:针对常见需求(缓存函数调用、并行计算、多步管道、材料科学工作流、SLURM 集群作业)给出代码示例和工具建议。
  • 功能对比矩阵:从缓存、简单并行、DAG 工作流、HPC 集成、云原生、错误恢复、监控 UI、学习曲线、设置复杂度、材料科学侧重等维度对比各工具。
  • 典型迁移路径:从纯 Python 脚本开始,逐步引入缓存、并行、复杂工作流,最终迁移到生产级工具。
  • 常见用例:计算化学参数扫描、机器学习管道、高通量材料筛选、数据处理管道等场景的推荐方案。
  • 子技能调用:可调用 joblib、prefect、parsl、fireworks、quacc 等子技能获取详细指导。
  • 反模式与最佳实践:列出应避免的做法(如用 FireWorks 跑 10 个计算)和推荐做法(如从简单开始、版本控制、规划失败等)。
  • 额外工具介绍:简要提及 Snakemake、Dask、Luigi、Apache Airflow 等工具及其适用场景。

使用方式

用户可在设计新计算工作流、选择工作流工具、从简单脚本迁移到编排工作流、排查性能或复杂度问题、学习科学计算工作流最佳实践时调用本技能。技能会通过决策树和推荐指南引导用户,并可根据需要调用子技能获取更详细的工具指导。

适用场景

  • 计算化学参数扫描:推荐 joblib → Parsl → quacc 的渐进路径。
  • 机器学习管道:推荐 joblib → Prefect。
  • 高通量材料筛选:推荐 quacc 或 FireWorks。
  • 数据处理管道:推荐 joblib → Prefect。
  • HPC 科学计算:推荐 Parsl。
  • 材料科学生产工作流:推荐 FireWorks + atomate2 或 quacc。

限制

  • 技能本身不执行计算,仅提供工具选择与实现指导。
  • 具体工具的详细用法需调用对应子技能。
  • 部分工具(如 FireWorks)设置复杂度高,需要 MongoDB 和队列管理器。
  • 技能中未提供各工具的收费、价格或平台限制信息。
  • 技能中未提供具体性能基准或效果保证。