生物医学AI代理框架Skill biomni

Biomni是一个用于自主执行复杂生物医学研究任务的AI代理框架。它支持多步骤推理、代码生成与执行、知识检索和跨领域问题解决,广泛应用于基因组学、药物发现、分子生物学和临床分析。关键词:生物医学AI、代理框架、CRISPR设计、单细胞RNA-seq、ADMET预测、GWAS分析、药物发现、临床诊断。

AI智能体 0 次安装 0 次浏览 更新于 3/16/2026

name: biomni description: 自主生物医学AI代理框架,用于执行基因组学、药物发现、分子生物学和临床分析中的复杂研究任务。在以下场景使用此技能:进行多步骤生物医学研究,包括CRISPR筛选设计、单细胞RNA-seq分析、ADMET预测、GWAS解释、罕见疾病诊断或实验室协议优化。利用LLM推理与代码执行以及集成的生物医学数据库。

Biomni

概述

Biomni是斯坦福大学SNAP实验室的开源生物医学AI代理框架,能够自主执行跨生物医学领域的复杂研究任务。当处理多步骤生物推理任务、分析生物医学数据或进行跨基因组学、药物发现、分子生物学和临床分析的研究时,使用此技能。

核心能力

Biomni擅长:

  1. 多步骤生物推理 - 对复杂生物医学查询进行自主任务分解和规划
  2. 代码生成与执行 - 为数据处理创建动态分析管道
  3. 知识检索 - 访问约11GB的集成生物医学数据库和文献
  4. 跨领域问题解决 - 为基因组学、蛋白质组学、药物发现和临床任务提供统一接口

何时使用此技能

使用biomni进行:

  • CRISPR筛选 - 设计筛选、优先排序基因、分析敲除效应
  • 单细胞RNA-seq - 细胞类型注释、差异表达、轨迹分析
  • 药物发现 - ADMET预测、靶点识别、化合物优化
  • GWAS分析 - 变异解释、因果基因识别、通路富集分析
  • 临床基因组学 - 罕见疾病诊断、变异致病性、表型-基因型映射
  • 实验室协议 - 协议优化、文献综合、实验设计

快速开始

安装与设置

Biomni需要conda环境设置和LLM提供商的API密钥:

# 克隆仓库并设置环境
git clone https://github.com/snap-stanford/biomni
cd biomni
bash setup.sh

# 或通过pip安装
conda activate biomni_e1
pip install biomni --upgrade

配置API密钥(存储在.env文件或环境变量中):

export ANTHROPIC_API_KEY="your-key-here"
# 可选:OpenAI、Azure、Google、Groq、AWS Bedrock密钥

使用 scripts/setup_environment.py 获取交互式设置帮助。

基本使用模式

from biomni.agent import A1

# 初始化代理,指定数据路径和LLM选择
agent = A1(path='./data', llm='claude-sonnet-4-20250514')

# 自主执行生物医学任务
agent.go("您的生物医学研究问题或任务")

# 保存对话历史和结果
agent.save_conversation_history("report.pdf")

使用Biomni

1. 代理初始化

A1类是biomni的主要接口:

from biomni.agent import A1
from biomni.config import default_config

# 基本初始化
agent = A1(
    path='./data',  # 数据湖路径(首次使用时下载约11GB)
    llm='claude-sonnet-4-20250514'  # LLM模型选择
)

# 高级配置
default_config.llm = "gpt-4"
default_config.timeout_seconds = 1200
default_config.max_iterations = 50

支持的LLM提供商:

  • Anthropic Claude(推荐):claude-sonnet-4-20250514claude-opus-4-20250514
  • OpenAI:gpt-4gpt-4-turbo
  • Azure OpenAI:通过Azure配置
  • Google Gemini:gemini-2.0-flash-exp
  • Groq:llama-3.3-70b-versatile
  • AWS Bedrock:通过各种模型通过Bedrock API

查看 references/llm_providers.md 获取详细的LLM配置说明。

2. 任务执行工作流

Biomni遵循自主代理工作流:

# 步骤1:初始化代理
agent = A1(path='./data', llm='claude-sonnet-4-20250514')

# 步骤2:使用自然语言查询执行任务
result = agent.go("""
设计一个CRISPR筛选,以识别在HEK293细胞中调控自噬的基因。
基于必要性和通路相关性优先排序基因。
""")

# 步骤3:审查生成的代码和分析
# 代理自主地:
# - 将任务分解为子步骤
# - 检索相关生物知识
# - 生成并执行分析代码
# - 解释结果并提供见解

# 步骤4:保存结果
agent.save_conversation_history("autophagy_screen_report.pdf")

3. 常见任务模式

CRISPR筛选设计

agent.go("""
设计一个全基因组CRISPR敲除筛选,用于识别影响[表型]在[细胞类型]中的基因。包括:
1. sgRNA库设计
2. 基因优先排序标准
3. 基于通路分析的预期命中基因
""")

单细胞RNA-seq分析

agent.go("""
分析这个单细胞RNA-seq数据集:
- 执行质量控制和过滤
- 通过聚类识别细胞群体
- 使用标记基因注释细胞类型
- 在条件之间进行差异表达分析
文件路径:[path/to/data.h5ad]
""")

药物ADMET预测

agent.go("""
预测这些候选药物的ADMET属性:
[SMILES字符串或化合物ID]
关注:
- 吸收(Caco-2渗透性、HIA)
- 分布(血浆蛋白结合、BBB渗透)
- 代谢(CYP450相互作用)
- 排泄(清除率)
- 毒性(hERG责任、肝毒性)
""")

GWAS变异解释

agent.go("""
解释GWAS结果对于[性状/疾病]:
- 识别全基因组显著变异
- 将变异映射到因果基因
- 执行通路富集分析
- 预测功能后果
摘要统计文件:[path/to/gwas_summary.txt]
""")

查看 references/use_cases.md 获取跨所有生物医学领域的全面任务示例。

4. 数据集成

Biomni集成了约11GB的生物医学知识源:

  • 基因数据库 - Ensembl、NCBI Gene、UniProt
  • 蛋白质结构 - PDB、AlphaFold
  • 临床数据集 - ClinVar、OMIM、HPO
  • 文献索引 - PubMed摘要、生物医学本体
  • 通路数据库 - KEGG、Reactome、GO

数据在首次使用时自动下载到指定的 path

5. MCP服务器集成

通过模型上下文协议扩展biomni:

# MCP服务器可以提供:
# - FDA药物数据库
# - 文献的网络搜索
# - 自定义生物医学API
# - 实验室设备接口

# 在 .biomni/mcp_config.json 中配置MCP服务器

6. 评估框架

对生物医学任务进行代理性能基准测试:

from biomni.eval import BiomniEval1

evaluator = BiomniEval1()

# 评估特定任务类型
score = evaluator.evaluate(
    task_type='crispr_design',
    instance_id='test_001',
    answer=agent_output
)

# 访问评估数据集
dataset = evaluator.load_dataset()

最佳实践

任务制定

  • 具体明确 - 包括生物上下文、生物体、细胞类型、条件
  • 指定输出 - 明确说明所需的分析输出和格式
  • 提供数据路径 - 包括要分析的数据集文件路径
  • 设置约束 - 如果相关,提及时间/计算限制

安全考虑

⚠️ 重要:Biomni以完全系统权限执行LLM生成的代码。对于生产使用:

  • 在隔离环境中运行(Docker、VMs)
  • 避免暴露敏感凭证
  • 在敏感上下文中执行前审查生成的代码
  • 尽可能使用沙盒执行环境

性能优化

  • 选择适当的LLMs - 推荐Claude Sonnet 4以平衡速度/质量
  • 设置合理的超时 - 调整 default_config.timeout_seconds 用于复杂任务
  • 监控迭代 - 跟踪 max_iterations 以防止无限循环
  • 缓存数据 - 跨会话重用下载的数据湖

结果文档

# 始终保存对话历史以确保可重复性
agent.save_conversation_history("results/project_name_YYYYMMDD.pdf")

# 在报告中包括:
# - 原始任务描述
# - 生成的分析代码
# - 结果和解释
# - 使用的数据源

资源

参考资料

详细文档可在 references/ 目录中找到:

  • api_reference.md - A1类、配置和评估的完整API文档
  • llm_providers.md - LLM提供商设置(Anthropic、OpenAI、Azure、Google、Groq、AWS)
  • use_cases.md - 所有生物医学领域的全面任务示例

脚本

scripts/ 目录中的帮助脚本:

  • setup_environment.py - 交互式环境和API密钥配置
  • generate_report.py - 增强的PDF报告生成,带自定义格式

外部资源

故障排除

常见问题

数据下载失败

# 手动触发数据湖下载
agent = A1(path='./data', llm='your-llm')
# 首次 .go() 调用将下载数据

API密钥错误

# 验证环境变量
echo $ANTHROPIC_API_KEY
# 或检查工作目录中的 .env 文件

复杂任务超时

from biomni.config import default_config
default_config.timeout_seconds = 3600  # 1小时

大数据集内存问题

  • 对大型文件使用流处理
  • 分块处理数据
  • 增加系统内存分配

获取帮助

对于问题或疑问: