自主实验室服务

自主实验室是一种MCP服务器,将任何高级-初级工作流程转变为自主循环,由AI处理执行,用户做出决策。

  • by albert-ying
  • Python
  • 本地部署
  • 14 星标
  • 更新于
在 GitHub 查看 albert-ying/autonomous-lab

使用说明

自主实验室

MCP服务器,将任何高级-初级工作流转换为自主循环。AI负责执行。你做决定。

视觉

知识工作的瓶颈从来不是执行。这是判断——知道哪些问题重要,哪些结果有意义,追求哪些方向。最有能力拨打这些电话的人将大部分时间花在不需要他们特定专业知识的任务上。

自主实验室将层次结构向上移动了一个级别。人工智能代理承担工作角色——首席研究员和实习生、技术负责人和开发人员、出席者和常驻者——运行完整的设计执行审查循环。人类进入编辑职位:策划、评判和指导的人。你的品味和判断,而不是你的劳动,成为主要的投入。

这不是副驾驶。这是对工作单位本身的重组。

为什么存在

Autonomous Lab是一个MCP服务器。它在您已经付费的编码代理中运行——Cursor、Claude Code、Windsurf、Codex CLI或任何兼容MCP的客户端。这意味着:

  • 不需要API密钥。 你不需要OpenAI/Anthropic/Google密钥。智能来自你的编码工具已经使用的任何模型。
  • 无需额外费用。 您现有的Cursor Pro、Claude Max、Windsurf或Codex订阅就是您所需要的。您正在重复使用您已经进行的投资。
  • 没有新的应用程序可供学习。 它作为一组MCP工具插入到您当前的工作流程中。

安装

最简单的方法:将此页面链接复制到 克劳德代码、Cursor或任何编码代理,并要求它为您安装Autonomous Lab。它会处理一切。

或者手动操作:

添加到MCP客户端配置中(例如Cursor ~/.cursor/mcp.json):

{
  "mcpServers": {
    "autonomous-lab": {
      "command": "uvx",
      "args": ["autonomous-lab"],
      "timeout": 600,
      "env": {
        "MCP_WEB_PORT": "8766"
      }
    }
  }
}

或者,如果您是通过安装的 uv pip install:

{
  "mcpServers": {
    "autonomous-lab": {
      "command": "autonomous-lab",
      "timeout": 600,
      "env": {
        "MCP_WEB_PORT": "8766"
      }
    }
  }
}

然后告诉你的代理人:“初始化一个关于[你的主题]的自主实验室项目。”

它做什么

两个AI角色(高级+初级)循环迭代你的项目。他们设计、执行、编写和修改。你作为决策者坐在他们之上:编辑、代码审查员、创意总监,或者任何领域需要的人。

循环:

autolab_next → (AI acts as role) → autolab_record → lab_meeting → autolab_next → ...

当工作准备就绪时,您可以对其进行审查。接受、请求修改或拒绝。循环会一直持续到你满意为止。

Anatomy of the monitoring interface and editorial workflow. Top: the research loop (characters, meeting log, inventory, marketplace). Bottom: the editorial office (reviewer selection, reports, decision).

关键能力

  • 零额外成本:在您现有的编码代理订阅上运行。没有单独的API密钥,没有基于使用的计费,没有新帐户。
  • 多代理编排:选择加入模式,其中每个角色(PI、培训生、审阅者)都作为单独的代理运行,并具有自己的上下文窗口。使用现有的CLI订阅(Claude Code、Codex CLI、Cursor)--不需要API密钥。一旦失败,就回到单一代理。
  • 自动技能学习:特工在飞行中获得缺失的技能。当一个角色需要一种它没有的技能时,引擎会搜索一个分层的级联——角色市场→ GitHub→ ToolUniverse (1000+科学工具)→ 自动生成——并在不中断循环的情况下安装SKILL.md。这项研究从来不会因为缺少能力而停滞不前。
  • 技能容器:使用您已有的SKILL.md文件的任意组合配置字符。一个PI scanpy + scientific-writing + statistical-analysis 技能表现与技术主管不同 react + typescript + code-review 技能。
  • 24小时会议:循环无限期运行。没有超时,没有上下文丢失。会话在断开连接后仍然存在 autolab_resume.
  • 完全可配置:YAML字符配置文件控制个性、专业知识、目标和可用工具。在几秒钟内交换它们。
  • 领域无关:研究、软件、咨询、法律、医学、创意或任何具有高级-初级结构的东西。
  • 专家咨询:在会议中途邀请领域专家提供一次性建议,而不会打破循环。
  • 经核实的引文:内置CrossRef集成,用于真实、经过验证的参考文献(没有幻觉论文)。
  • 游戏风格监控UI:浏览器仪表板显示实时进度、迭代历史和编辑控件。

MCP工具

工具 它做什么
autolab_init 初始化新项目
autolab_resume 恢复中断的会话
autolab_next 获取下一个角色提示(PI或培训生)
autolab_record 记录完成的转弯
autolab_status 检查项目状态
autolab_cite 搜索、验证和格式化引文
autolab_consult 邀请领域专家
autolab_editorial 等待编辑决定
autolab_editor_act 执行编辑决策(AI回退)
autolab_acquire_skill 在市场/ToolUniverse中搜索技能并安装
autolab_create_character 构建角色档案
lab_meeting 在转弯之间暂停以获得用户反馈

角色示例

name: Dr. Maria Chen
role: pi
title: Computational Biology PI
expertise: single-cell genomics, machine learning
goal: discover cell-type-specific regulatory programs
skills:
  - scanpy
  - scvi-tools
  - scientific-writing
  - statistical-analysis
personality:
  - "Visionary: spots novel research directions"
  - "Rigorous: demands statistical reproducibility"

多代理模式

默认情况下,单个AI代理按顺序扮演所有角色。多代理模式为每个角色生成一个专用代理,为每个角色提供一个新的上下文窗口。在中启用它 .autolab/config.yaml:

orchestration: multi

agents:
  pi:
    provider: claude-cli   # Uses your Claude Code subscription
    model: opus
  trainee:
    provider: claude-cli
    model: sonnet

多名学员

一个PI可以让多个学员并行处理不同的任务。每个学员都有自己的上下文窗口和焦点区域:

orchestration: multi

agents:
  pi:
    provider: claude-cli
    model: opus
  trainees:                              # plural key
    - name: "Data Analyst"
      provider: claude-cli
      model: sonnet
      focus: "data analysis, statistics, figure generation"
    - name: "Writer"
      provider: codex-cli
      model: o3
      focus: "paper writing, LaTeX, literature review"
    - name: "Code Developer"
      provider: cursor-cli
      model: sonnet-4
      focus: "script development, testing, reproducibility"

所有学员通过以下方式并行运行 asyncio.gather。每个人都会看到一个范围明确的提示,其中包含他们的重点领域和关于其他学员正在处理的内容的协调说明。如果一个失败了,其他人继续。

代理团队(克劳德代码)

在启用代理团队的情况下在Claude Code中运行时(CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1),多代理模式自动升级为本地代理团队。PI在委托模式下成为团队负责人,学员成为有自己上下文窗口的队友,他们通过共享任务列表和直接消息进行协调。不需要额外的配置——相同 orchestration: multi config适用于这两种模式。

可选的团队特定设置:

team:
  delegate_mode: true          # PI only coordinates, doesn't implement
  require_plan_approval: false  # Require PI approval before trainees act

支持的提供商

提供商 成本 要求
claude-cli 免费(Pro/Max sub) 已安装Claude Code CLI
codex-cli 免费(Plus/Pro-sub) 已安装Codex CLI
cursor-cli 免费(Pro/Biz子) 已安装Cursor Agent CLI
anthropic 按代币支付 ANTHROPIC_API_KEY 有人是。
openai 按代币支付 OPENAI_API_KEY 有人是。

CLI提供程序是主要路径——它们需要零API密钥配置。如果找不到CLI二进制文件或多代理因任何原因失败,它将自动回退到单代理模式。

对于API提供程序,请安装可选的依赖项:

pip install 'autonomous-lab[multi-agent]'

远程/SSH环境

监控web UI绑定到 127.0.0.1 默认情况下(仅限本地)。在远程服务器、SSH会话或容器上,UI将尝试自动检测并绑定到 0.0.0.0 相反。如果自动检测与您的设置不匹配,请使用以下方法之一。

方法1:环境变量(推荐)

集 MCP_WEB_HOST 到 0.0.0.0 在MCP配置中:

{
  "mcpServers": {
    "autonomous-lab": {
      "command": "uvx",
      "args": ["autonomous-lab"],
      "timeout": 600,
      "env": {
        "MCP_WEB_HOST": "0.0.0.0",
        "MCP_WEB_PORT": "8766"
      }
    }
  }
}

然后打开 http://<remote-host-ip>:8766/lab 在您的本地浏览器中。

方法2:SSH端口转发

保留默认配置(127.0.0.1)并转发端口:

ssh -L 8766:localhost:8766 user@remote-host

然后打开 http://localhost:8766/lab 当地。

变量 目的 默认值
MCP_WEB_HOST 绑定地址 自动检测(0.0.0.0 如果是SSH/容器,否则 127.0.0.1)
MCP_WEB_PORT Web UI端口 8765

需求

  • Python>=3.11
  • MCP兼容客户端(Cursor、Claude Code、Codex CLI、Windsurf等)

致谢

Autonomous Lab基于以下开源项目构建:

  • 虚拟实验室 斯坦福大学James Zou实验室(麻省理工学院)——LLM代理作为PI和科学家在结构化研究会议中迭代的概念(Swanson等人,《自然2025》)
  • mcp反馈增强 由Minidoracat(MIT)提供——Web UI、反馈循环、会话管理和i18n基础架构
  • 交互式反馈mcp 作者:Fábio Ferreira(麻省理工学院)——最初的MCP反馈服务器
  • ToolUniverse 哈佛医学院Marinka Zitnik实验室——科学工具目录集成(1000+工具)

许可证

Apache 2.0。看 许可证 和 通知.