sipyourdrink-ltd/bernstein

The open-source governance layer for AI agents: write the rules declaratively, Bernstein enforces them and produces the verifiable, replayable record. Free, Apache-2.0. https://bernstein.run

Bernstein – AI 代理的治理层

它是什么 – Bernstein 是一个开源框架,位于 AI 编码代理(如 Claude Code、Gemini CLI、OpenAI Agents SDK 等)与它们所操作的代码库之间。它允许您在简单的 YAML 文件中描述代码即策略工作流程,然后在隔离的工作树中运行代理,记录每个步骤,并生成可离线验证的加密签名收据。简而言之,它为您提供确定性、可审计的 AI 代理编排,而无需将 LLM 置于协调循环中。

核心理念

  • 确定性调度器 – 规划器是纯 Python,而非 LLM,因此相同的 YAML 计划总是产生相同的任务图。
  • 事后验证 – 日志记录每个操作;可选的 HMAC 链式审计日志添加了签名收据。任何不匹配都会精确显示哪个步骤出现了偏差。
  • 默认隔离 – 每个编码任务都在其自己的 Git 工作树(或非代码工件的沙盒目录)中运行。共享状态仅限于原子任务待办事项。
  • 广泛的代理支持 – 内置 50 多个流行 CLI 代理的适配器,外加一个通用的 --prompt 包装器,所有这些都可以在本地运行,无需经过 SaaS。

典型工作流程

  1. 编写一个定义阶段、角色、依赖项和可选条件的 bernstein.yaml(或类似文件)。
  2. 运行 bernstein -g "<goal>" 或 bernstein workflow run <plan>.yaml。
  3. 调度器会生成适当的代理,每个代理都在其自己的隔离工作区中工作。
  4. 当节点完成时,Bernstein 会检查声明的工件合约(例如,测试通过、文件存在)并记录签名的血缘收据。
  5. 运行后,您可以使用诸如 bernstein replay latest --verify 或 bernstein verify receipt … 之类的命令重放、验证或审计整个执行过程。

为什么它很重要

  • 合规性与可审计性 – 组织可以证明 AI 生成的变更已根据预先批准的策略进行了审查、测试和合并。
  • 可重现性 – 由于协调器是确定性的,您可以重放之前的运行并获得完全相同的任务图,这对于调试或监管审查非常有用。
  • 安全性 – 隔离防止代理相互干扰文件,沙盒后端可以强制执行网络或资源限制。

入门指南

uv tool install bernstein   # or pipx install bernstein
bernstein init               # creates .sdd/ workspace and template files
bernstein doctor            # checks that your chosen CLI agents are installed
bernstein -g "fix the failing test in tests/test_foo.py"

安装可通过 pip、pipx、Homebrew、Docker 或离线 wheelhouse 进行。

用户界面

  • bernstein live – 显示代理、日志和任务板的终端 UI。
  • bernstein gui serve – 带有任务列表和差异预览的 Web 仪表板。
  • 用于重放、血缘验证、基准测试和本地化检查的 CLI 命令。

许可证与状态 – Apache-2.0,测试阶段,个人维护,小版本更新频繁。该项目经过积极的 CI 测试,具有 CodeQL 扫描,并通过 GHCR 提供 Docker 镜像。


欲深入了解,请参阅官方文档:https://docs.bernstein.run/

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目