rlacombe/distillate

GitHub: rlacombe/distillate

Distillate 是一个开源 ML 研究平台,通过自主 agent 编排实验运行与文献管理,帮助研究者实现「读论文—跑实验—提炼见解」的自动化研究闭环。

Stars: 72 | Forks: 2

# Distillate — 编排 ML 自动研究 agent **你的研究炼金术士。** 变出能自动运行的 ML 实验。从你阅读的所有内容中提炼出见解。 [![PyPI](https://img.shields.io/pypi/v/distillate)](https://pypi.org/project/distillate/) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)   [distillate.dev](https://distillate.dev) Distillate desktop app ## 什么是 Distillate? Distillate 是一个开源研究平台,用于编排自主研究 agent。它可以将你的研究问题转化为能够运行 ML 实验、跟踪结果并汇报所发现的 agent,同时通过高亮和 AI 总结来保持你的论文库井井有条。 其核心是 **Nicolas**,你的研究炼金术士。他会创建存在于 tmux 会话中的**研究 agent**,迭代地改进你的模型并汇报结果。他还会打理**文献库**——这是你的论文集合,从 Zotero 流经任何阅读设备(reMarkable、iPad、桌面端),最终转化为结构化的笔记。 核心循环:**阅读论文,运行实验,在图表上观察它们改进,提炼你所学到的,然后重复。** 你所阅读的内容指导你尝试的方向。你所尝试的结果指导你接下来阅读的内容。 ``` $ distillate ─── ⚗️ Nicolas ────────────────────────────── Your research alchemist. 🧪 4 experiments · 12 runs · 1 running 📚 42 papers read · 7 in queue > /conjure tiny-matmul --duration 30m 🧪 Spawning research agent... Created distillate-xp-tiny-matmul Research agent spawned — 30 min budget, will report when done. > /distill tiny-matmul 🔬 Distilling 8 runs... Best: run-7 (loss 0.0023, -42% from baseline) Key insight: block size 64 with gradient accumulation outperforms larger batches on this scale. ``` ## 技能 Nicolas 响应分为三种角色的 9 项技能: ### 实验室 🧪 | 技能 | 描述 | |-------|-------------| | `/conjure` | 召唤一个研究 agent —— 从一个研究问题发起实验 | | `/steer` | 引导正在运行的 agent —— 调整目标或改变方向 | | `/assay` | 结合跨运行对比,对实验结果进行深度分析 | | `/distill` | 从实验的会话历史中提取见解 | | `/survey` | 扫描所有实验以发现新的运行和突破 | | `/transmute` | 将论文见解转化为实验思路 | ### 文献库 📚 | 技能 | 描述 | |-------|-------------| | `/brew` | 同步论文,处理高亮,刷新文献库 | | `/forage` | 发现热门论文和阅读建议 | | `/tincture` | 从单篇论文的高亮和笔记中进行深度提取 | ## 快速开始 ### 安装 ``` pip install distillate # 或 uv pip install distillate ``` ### 前置要求 - **Claude Code**(`claude` CLI)—— Distillate 通过你的 Claude Code 订阅运行。无需单独的 API 密钥。 - **Zotero** —— 用于论文管理(如果你只运行实验,此项为可选) ### 启动 ``` distillate # Start the Nicolas REPL distillate --init # Run the setup wizard (first time) distillate --sync # Classic sync-only workflow ``` 或者使用[桌面应用](#desktop-app)以获得完整的 IDE 体验。 ## 桌面应用 Distillate 桌面应用提供带有四个选项卡的 IDE 风格布局: - **控制面板** —— 指标图表、会话计时器、目标跟踪、实验概览 - **会话** —— 附加到正在运行的 Claude Code agent 的实时终端 - **结果** —— 带有研究见解(关键突破、经验教训、死胡同)的运行网格 - **Prompt** —— 查看和编辑 PROMPT.md,支持 markdown 渲染 新用户可享有一键入门体验:从侧边栏启动演示实验,或从论文面板连接你的 Zotero 文献库。聊天中的上下文感知建议会根据你正在查看的内容进行调整——在查看实验时显示特定于实验的操作,在查看论文时显示特定于论文的操作。 桌面应用连接到与 CLI 相同的后端——一切保持同步。 ## 工作原理 核心研究循环: 1. **📜 添加论文** —— 将论文保存到 Zotero,在任何设备上阅读和高亮。Nicolas 提取高亮内容,生成摘要,并构建你的知识库。 2. **⚗️ 召唤实验** —— 描述一个研究问题或指向一篇论文。Nicolas 草拟 prompt,设置 git 仓库,并生成一个自主研究 agent 来运行它。 3. **🔬 提炼见解** —— 随着实验的运行,Nicolas 会跟踪每一次迭代的指标、diff 和决策。提炼结果以了解哪些有效,哪些无效,以及原因。 4. **🔗 建立联系** —— 将论文与实验关联起来。当某次运行实现了一篇论文中的技术时,使用 `inspired_by` 注明其来源。使用 `/transmute` 将论文见解转化为实验思路。你所阅读的内容指导你下一步的尝试。 每个实验都存在于一个 git 仓库中。每篇论文都存在于你的 Zotero 文献库中。笔记是纯 markdown 格式。没有任何锁定——Distillate 只是在增强你现有的工具。 ## 配置 所有设置都位于 `~/.config/distillate/.env` 中。有关完整列表,请参见 [.env.example](.env.example)。 设置向导(`distillate --init`)将引导你连接 Zotero、选择阅读设备以及配置可选功能。 有关高级配置、参与度评分、调度和 GitHub Actions 自动化——请参阅[高级用户指南](https://distillate.dev/power-users.html)。 ## 开发 ``` git clone https://github.com/rlacombe/distillate.git cd distillate uv venv --python 3.12 source .venv/bin/activate uv pip install -e . pytest tests/ ``` ## 许可证 MIT
标签:AI智能体, Python, 人工智能, 安全规则引擎, 实验跟踪, 无后门, 用户模式Hook绕过, 科学研究, 自动化机器学习, 逆向工具