shepherd-agents/shepherd
A runtime substrate that turns an agent's execution into a reversible, Git-like trace, so meta-agents can observe, fork, replay, and revert any run. Couples agent and environments in a copy-on-write fork ~5x faster than docker commit, with ~95% KV-cache reuse on replay. Framework built for meta-agents to supervise, optimize, and train other agents
解决的问题
Shepherd 为需要高度审查、可逆性和监督的 AI 代理提供了一个运行时基础架构。它解决了代理对文件系统进行不受控制的更改的问题,使用户可以在实际应用到工作区之前审查并批准所提出的更改。
工作原理
Shepherd 将代理活动记录为持久且可检查的执行轨迹。当代理执行任务时,其输出会被保留为“保留输出”(提案),而不是直接写入用户的文件。用户随后可以检查这些变更集,并选择应用、释放或丢弃它们。
为确保安全,Shepherd 使用操作系统级别的权限强制(macOS Seatbelt 和 Linux Landlock)来隔离代理。权限直接在任务的 Python 函数签名中定义;例如,为仓库句柄指定 ReadOnly 或 ReadWrite 可决定代理在系统调用级别是否可以修改文件系统。
适用人群
专为需要安全层以防止代理意外破坏数据或进行未经授权更改的开发者构建代理工作流而设计,也适用于研究可编程元代理的研究人员。
主要亮点
- 可逆执行:代理运行被记录为轨迹,允许通过三向合并审查、丢弃或合并输出。
- 操作系统级沙箱:在 macOS 和 Linux 上通过原生系统调用隔离强制执行权限(只读 vs 读写)。
- 基于签名的权限:权限在 Python 任务签名中明确声明,使安全面易于审计。
- 持久化轨迹:维护可由 CLI 检查的机器可读运行记录。
相关
- 项目
- 项目
- 项目
- 项目
- 项目