Bernstein:44 個の CLI コーディングエージェントを並列の git worktree で実行し、HMAC で連鎖した監査ログを備えた決定論的な Python オーケストレーター
— 回閲覧
Bernstein は Apache-2.0 の Python スケジューラーで、目標を分解し、CLI コーディングエージェント(Claude Code、Codex、Gemini CLI、その他 40 以上)を隔離された git worktree に生成し、各 diff をテスト/lint/型に対して検証し、通過したものだけをマージする——すべて LLM ではなく素の Python によって調整され、HMAC-SHA256 の監査証跡を伴う。
pipx install bernstein それは何か
Bernstein はオープンソース(Apache-2.0)の Python ツールで、自身が一つになるのではなく他の CLI コーディングエージェントをオーケストレーションする。あなたが目標を与えると、一回の LLM 呼び出しがその目標を専属ファイルと完了シグナルを持つタスクへと分解し、そこから先のスケジューラーは素の決定論的な Python である。それはエージェント——Claude Code、OpenAI Codex、GitHub Copilot CLI、Google Gemini CLI、Cursor、Aider、Continue、その他(v2.7.0 時点で 44 個のアダプター、加えて汎用の --prompt ラッパー)——をそれぞれ自身の git worktree に生成し、それらを並列に実行し、その後「janitor」ステージが、いかなる成果も main にマージされる前に具体的なシグナル(テスト通過、lint がクリーン、型が正しい)をチェックする。失敗したタスクは再試行されるか、別のモデルへ振り分けられる。
混雑したエージェントフレームワークの領域から際立たせる売り文句は監査グレードの決定論である:スケジューリングの決定は LLM トークンをゼロ消費し、すべてのステップは再現可能で、各決定は .sdd/audit/YYYY-MM-DD.jsonl にある HMAC-SHA256 監査ログに書き込まれる。README はコンプライアンス、署名されたエージェントカード、成果物ごとの来歴、そしてエアギャップ/オンプレミス展開を差別化要素として前面に出している。
インストールと実行
pipx install bernstein # also: pip install bernstein (Python >= 3.12)
cd your-project
bernstein init # creates the .sdd/ workspace
bernstein -g "Add rate limiting" # agents spawn, work in parallel, verify, exit
bernstein live # optional TUI dashboard to watch progress
ドキュメントにある代表的な実行サマリー:
[manager] decomposed into 4 tasks
[agent-1] claude-sonnet: src/auth/middleware.py (done, 2m 14s)
[agent-2] codex: tests/test_auth.py (done, 1m 58s)
[verify] all gates pass. merging to main.
いつ使うか
複数のファイルにまたがる並列化可能な変更があり、組み合わせに一つ以上のモデル/エージェントを入れたく、そして誰が何を変更したかの検証可能な記録が必要なとき(規制されたコードベース、前方展開/エアギャップのエンジニアリング、あるいは単に LLM に調整のためのトークンを燃やさせたくないコスト意識の高いチーム)に Bernstein を手に取るとよい。それは明確に、単一のペアプログラマーとチャットするための適切なツールではなく、コーディング以外の LLM ワークフローのためでもない。
| 属性 | 値 |
|---|---|
| 最新リリース | v2.7.0 (2026-05-24) |
| 言語/ライセンス | Python, Apache-2.0 |
| 作者 | Alex Chernysh (sipyourdrink-ltd) |
| インストール | pipx install bernstein |
| 対応エージェント | 44 個の CLI アダプター + 汎用 —prompt ラッパー |
注意点
それはラッパーであって、自己完結したエージェントではない:基盤となるエージェント CLI はすでにマシン上にインストールされ認証されていなければならず、隔離は git worktree の上に構築されているため、git でないプロジェクトは単純に動かない。設計上 SaaS の選択肢はない——それはオンプレミス専用である。
実務者の注記:最もレバレッジの高いつまみはエージェントの選択ではなく、タスクの分解である。Bernstein はファイルをタスクに決定論的に割り当て、各々を worktree に隔離するため、各タスクが互いに素なファイルを所有するように言い回された目標はクリーンかつ並列にマージされる;二つのエージェントに同じモジュールを編集させる目標は直列化されるか、いかなる監査ログでも撫でつけられないマージの摩擦を生む。
十分に考慮されていない観点:ほとんどの「マルチエージェント」のマーケティングは、LLM が調整について推論していることを暗示しており、それはコスト、レイテンシ、そして非再現性を加える。Bernstein の静かな賭けはその逆である——オーケストレーションは退屈で決定論的なコードであるべきで、モデルの唯一の判断的呼び出しはあの一度の前置きの分解である、と。その枠組みは「マルチエージェント」を信頼性の負債から監査可能なビルドステップへと変え、それはあらゆるオーケストレーターを評価するための有用なレンズである:そのスケジューリングの決定のうちいくつがモデル呼び出しでいくつがコードかを問うこと、なぜならモデルがループ内にある各決定は、あなたの実行が二回の遂行の間で静かに分岐しうる箇所だからである。