Skip to content

mikumifa/mylab

Repository files navigation

MyLab

Python Linux CLI Codex

MyLab 是一个专为科研实验设计的基于Codex的Agent框架。

我们希望 AI 能够在一步步的试错中不断探索,从一次次的先前实验中学习到经验;同时,我们也能从 AI 的一次次试错中找到真正的重点,帮助 AI 完成任务。

How It Works

我们把每一次的实验,变成一个Trial

  • MyLab 不只执行一次命令,而是围绕同一个目标持续实验、沉淀总结,再进入下一轮试错
  • 每一轮都会将关键信息沉淀为一个Trial,包括 trial 定义、总结、结果、执行脚本和结构化日志,能让经验一直留存下来
  • 会持续积累“实验怎么跑、哪些方法有效、哪些坑已经踩过”,后续的MyLab会根据当前的目标,从所有历史 Trial 中“选择性地”提取最相关的经验
  • 人可以从这些 Trial 中快速看到 MyLab 到底试了什么、为什么失败、下一个优化方向到哪里,保留有价值的 Trial 作为基石,删除无用的 Trial 以剔除噪音,或者直接在 Trial 文件中写下你的点评

Quick Start

Prerequisites

  • Codex 安装并且登录
  • 科研实验仓库使用Git管理

Install

pip install mylab

Publish to PyPI

GitHub Actions 提供了基于 tag/release 的 PyPI 发布流程,见 .github/workflows/publish.yml

发布前需要在 PyPI 项目里把这个 GitHub 仓库配置为 Trusted Publisher,然后创建一个 GitHub Release;工作流会自动构建并发布当前版本。

Start a Run

# 创建并启动一个新的 run
mylab start --repo /path/to/repo --goal "reproduce table 1" --mode unlimit
# 给 run 指定名字
mylab start --repo /path/to/repo --goal ./goal.md --run run_xx --mode unlimit
# 在当前仓库启动 resident run;先常驻等待,不自动执行,后续靠 Telegram 或 stdin 指令推进
mylab start --goal "reproduce table 1" --mode resident
# 恢复一个已有 run
mylab start --run run_xx --mode unlimit

Manage Trials

# 先切到要管理的 run
mylab run use run_xx
# 列出当前 run 的 trial
mylab trial ls
# 查看某个 trial
mylab trial cat trial-001
# 删除某个 trial
mylab trial rm trial-001

Documentation

Refer to the documentation for more information on MyLab:

  • Overview: 项目目标、核心工作方式和设计边界
  • Concepts: runtrialtrial.md、shared asset、Telegram guidance、workflow skill
  • CLI Reference: 常用命令、运行方式和低级工具命令
  • Layout: run 根目录与 trial 目录结构说明

About

MyLab is all your lab needs.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages