Fergana-Labs/stash
Open-source infrastructure for agents that learn from experience. Capture production traces and turn lessons into reusable knowledge and skills.
Stash 是什么
Stash 是一个开源平台,让您可以记录 AI 代理的行为,保留这些交互中有用的部分,并将其转化为可复用的“技能”,供未来的代理运行调用。它提供:
- 追踪收集 – 钩子或 API,用于捕获运行期间的提示、工具调用、响应以及任何人工修正。
- 精选知识库 – 一个后台服务,将原始追踪转化为持久、可搜索的“记忆维基”页面。
- 技能生成 – 存储的经验可以打包为
SKILL.md文件(一组指令和资产),代理可以安装并自动保持更新。 - 奖励模型循环 – 可选功能,从追踪中提取偏好对,训练奖励模型,并使用该模型建议提示改进或生成新技能(通过 GEPA 系统)。
所有这些都通过 Python SDK、REST API、命令行客户端和“MCP”(可能是模型控制平面)暴露,以便可以集成到现有的代理管道中。
为什么重要
- 从生产中学习 – 现实中的代理会产生大量隐式反馈(成功、失败、人工编辑)。Stash 捕获这些数据而不是丢弃。
- 人在回路 – 审查者可以高亮响应并添加评论;Stash 将评论与原始追踪一起记录,将临时修复转化为正式知识。
- 可复用、版本化的指令 – 通过将经验转化为
SKILL.md文件,可以在多个代理或运行之间共享相同的指导,而无需重新训练底层模型。 - 闭环改进 – 奖励模型组件可以自动将追踪衍生的偏好转化为驱动提示优化或技能生成的信号,实现持续改进。
谁可能使用它
| 受众 | 受益方式 |
|---|---|
| LLM 驱动的产品团队 | 捕获支持聊天代理的失败,将其转化为可复用的故障排除指南,并保持提示针对真实世界指标进行调优。 |
| 构建自主代理的研发实验室 | 存储工具调用历史和人机修正,然后将其作为精选知识或奖励信号反馈,以加快迭代。 |
| DevOps / MLOps 工程师 | 部署后端服务,使用 CLI 在代理上安装技能,并监控奖励模型训练管道。 |
| RLHF / 偏好学习研究人员 | 使用追踪衍生的偏好对和内置的奖励模型训练工作流进行实验。 |
如何开始
- 运行堆栈 – 按照
docs/running-stash.md启动后端服务(Docker compose 等),或使用joinstash.ai上的托管版本。 - 为代理添加检测 – 添加提供的 SDK 钩子(或调用 REST API),以便每次运行将提示、工具调用、响应以及任何人工修正发送到 Stash。
- 精选与审查 – 使用 Web UI 高亮有问题的响应,添加审查者评论,并批准偏好对。
- 训练奖励模型(可选) – 选择追踪,创建奖励模型,并让后台工作器训练它。UI 显示哪些偏好来自人类,哪些来自 AI 判断。
- 生成技能 – 从训练好的奖励模型,调用 GEPA 生成
SKILL.md文件。使用stash skills install安装它,以便未来的运行自动加载新的指令集。 - 迭代 – 当代理再次运行时,新的追踪被捕获、精选,并可以反馈到循环中,持续优化提示和技能。
局限性与开放问题
| 问题 | 详情 |
|---|---|
| 自托管复杂性 | 运行完整后端(追踪存储、策展器、奖励模型工作器、MCP)需要多个服务;文档提供了指南,但可能需要工程投入。 |
| 奖励模型成熟度 | 奖励模型功能被描述为实验性产品;性能取决于提取的偏好对的质量,可能需要仔细验证。 |
| 技能格式 | 技能是简单的 SKILL.md 文件夹;目前没有标准模式,因此与自定义代理的集成可能需要适配器。 |
| 追踪存储的可扩展性 | 大规模生产代理可能生成大量日志;仓库未详细说明分片或长期归档策略。 |
总结
Stash 是一个开源系统,用于记录代理交互,将人工修正转化为可搜索的知识,并将这些知识打包为可复用的技能。它还包括一个实验性循环,从这些追踪中提取偏好以训练奖励模型,从而自动改进提示。非常适合希望代理从真实世界经验中学习而无需不断重新训练基础 LLM 的团队。
相关
- 项目
- 项目
- 项目
- 项目
- 项目