Kosmos
自主式 AI 科学家,自动完成假设生成、实验设计到成果验证的完整科研流程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
自主式 AI 科学家,自动完成假设生成、实验设计到成果验证的完整科研流程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,一位神经科学家盯着电脑屏幕,陷入了困境——她需要分析一批关于阿尔茨海默病早期病变的单细胞基因数据,但文献浩如烟海,数据维度高达两万多个基因。传统方式下,这样的研究往往需要数月甚至数年。
这就是 Kosmos 试图解决的问题。它不是又一个聊天机器人,而是一个能够自主开展科学研究的 AI 系统——你告诉它研究目标,给它数据集,剩下的假设生成、文献检索、实验设计、代码执行、结果验证,全部由 AI 自动完成。
Kosmos 的设计基于 Lu et al. (2024) 发表的论文《Kosmos: An AI Scientist for Autonomous Discovery》。作者 Jim McMillan(GitHub @jimmc414)不仅是这个开源项目的维护者,还同时维护着另一个知名项目 onefilellm(2k stars),专注于将各类文档转化为 LLM 可处理的文本格式。
与同为 AI 科研工具的 Sakana AI 推出的 "The AI Scientist" 不同,Kosmos 的核心差异在于多智能体协作架构和结构化世界模型。它不是单一 AI 写论文,而是多个专业智能体分工协作,通过共享的世界模型交换信息,保证长达数十个研究周期、数千行代码执行过程中的逻辑连贯性。
Kosmos 的研究流程由六类专业智能体驱动:
| 智能体 | 职责 |
|---|---|
| 研究主任(Research Director) | 总指挥,负责协调所有其他智能体,决定研究节奏 |
| 假设生成器(Hypothesis Generator) | 从文献和数据中提炼可验证的科学假设 |
| 实验设计师(Experiment Designer) | 将假设转化为具体的实验方案 |
| 数据分析师(Data Analyst) | 执行代码、解读分析结果 |
| 文献检索员(Literature Analyzer) | 搜索 ArXiv、PubMed、Semantic Scholar 并提取关键信息 |
| 计划评审员(Plan Creator/Reviewer) | 生成任务计划,按 70/30 比例平衡探索与利用 |
这套架构的精妙之处在于上下文压缩机制。研究过程中,系统会处理大量文献(每次运行可能检索上千篇论文),Kosmos 通过层级化压缩策略将信息从原始文本压缩约 20 倍:从逐篇论文的摘要提取,到每个研究周期的概要汇总,再到最终报告的叙事合成,信息密度逐级提升,同时保留关键统计数据(p 值、样本量、效应量等)。
Kosmos 生成的代码运行在完全隔离的 Docker 容器中,这是整个系统安全设计的关键一环:
--network=none),AI 无法访问外部网络--cap-drop=ALL),禁止特权访问这一安全模型意味着 Kosmos 可以放心执行 AI 生成的任意代码,而不必担心恶意操作或意外破坏。
Kosmos 是一个纯 Python 项目(要求 Python 3.11+),依赖极为丰富,涵盖了数据科学的方方面面:
核心依赖:
anthropic / openai / litellm:多 LLM 提供商支持(默认 Anthropic Claude,也可接入 100+ 种模型)sqlalchemy + alembic + postgres:结构化数据持久化redis:分布式缓存neo4j(via py2neo):知识图谱存储科研分析:
pandas / numpy / scipy / scikit-learn:基础计算matplotlib / seaborn / plotly:可视化shap:特征重要性解释(SHAP 值)文献处理:
arxiv / biopython / semanticscholar:文献检索 APIpymupdf / pikepdf:PDF 解析sentence-transformers:论文嵌入(基于 SPECTER 模型)bibtexparser / pybtex:参考文献生成专业领域扩展:
pykegg / mygene / pyensembl / gseapy:生物信息学(KEGG 通路富集分析)pydeseq2:差异表达分析nilearn:神经影像分析Kosmos 提供两种使用方式,适合不同场景:
命令行(推荐快速探索):
# 一句话启动研究
kosmos run "代谢通路在癌细胞和正常细胞中有何差异?" --domain biology
# 限制预算(美元)
kosmos run "钙钛矿材料如何优化效率?" --domain materials --budget 10
# 交互模式(首次使用推荐)
kosmos run --interactive
Python API(适合集成):
import asyncio
from kosmos.workflow.research_loop import ResearchWorkflow
workflow = ResearchWorkflow(
research_objective="研究目标",
artifacts_dir="./artifacts"
)
result = await workflow.run(num_cycles=5, tasks_per_cycle=10)
report = await workflow.generate_report()
Kosmos 还支持实时流式输出(--stream),可以观察 AI 正在进行的每一步思考和操作。
Kosmos 提供了完整的容器化方案:
# 最简方式
git clone https://github.com/jimmc414/Kosmos.git
cd Kosmos
pip install -e .
cp .env.example .env
# 编辑 .env 填入 API Key
kosmos run "你的研究问题"
必须坦诚地说,Kosmos 作为 AI 科研工具有其局限性:
Kosmos 代表了 AI for Science 的一个重要方向:从辅助工具到自主研究者。传统科研流程中,提出假设、设计实验、执行分析、验证结论每一步都需要人类主导;Kosmos 尝试将这些环节自动化,让科学家将精力集中在最具创造性的工作上。
独立科学家估算,一次 20 个研究周期的 Kosmos 运行,大约可以将相当于六个月博士级别的工作压缩到一天内完成,且大部分陈述被认为准确且可复现。虽然这一说法需要更多独立验证,但它揭示了 AI 科研工具令人兴奋的潜力。
项目地址:https://github.com/jimmc414/Kosmos
星标数:562
许可证:MIT
当前版本:0.2.0-alpha
测试覆盖:3,704 个测试用例全部通过