Reelier について
Reelierはエージェントのツール呼び出しをスキルとして記録し、LLMを呼び出さずに決定論的に再実行して、実行間のドリフトを比較します。エージェントの操作と変更を検証可能な形で残したい開発者やチーム向けです。
主な機能
- 01再現可能なワークフローの記録と固定
- 02LLM呼び出しなしの決定論的な再実行
- 03実行結果の比較とドリフト検出
- 04署名付き実行レシートの生成
- 05エージェント作成PRの変更確認
活用シーン
- 01エージェントワークフローの回帰テスト
- 02エージェント作成プルリクエストのレビュー
- 03記録済み実行による依存関係変更の確認
MCP 対応
`reelier mcp --wrap`で稼働中のMCPツールをプロキシし、対応するセッション履歴を固定できます。MCPサーバーは同梱せず、記録と再実行はCLIが担います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| dir | string | いいえ | エージェントのセッショントランスクリプトを検索するディレクトリ(デフォルト:~/.claude/projects)。 |
詳細
Reelier
エージェントに書かせて、証跡を残しましょう。
エージェントは一晩中作業しました。変更内容を正確に確認できます。
Reelier は成功した実行を記録し、再生可能なスキルとして固定して、決定論的に再生します。実行ごとにレシートが生成され、エージェントが何を行い、その結果何が変わったかを証明します。エージェントは主張します。Reelier は証跡を残します。
エージェントの PR に証跡を残す — インストールするだけ
エージェントが作成した PR(Dependabot、Claude、Codex、Cursor、…)には、数秒でレシートコメントが追加されます。作成者、変更ファイル、宣言されたスコープと実際の変更内容、フラグが付いた機密性の高いパスを確認できます。ワークフローファイルも、CLI も、設定も不要です。
→ Reelier Receipts GitHub App をインストール — パブリックリポジトリなら、いつまでも無料です。
Reelier レシート — エージェント PR 作成者:
dependabot[bot]· 変更ファイル:2(+119 −41) 宣言されたスコープ:なし(予期しない書き込みの検出を有効にするには.reelier/scope.ymlを追加してください) 変更された機密性の高いパス:⚠ 1 —package-lock.jsonスコープと変更内容を証明しますが、正しさは証明しません
Reelier 自身のリポジトリから取得した実際のレシートです — 実例を見る。.reelier/scope.yml でエージェントごとにスコープを宣言するか、PR の本文に reelier-scope ブロックを追加すると、レシートに予期しない書き込みが報告されます。レシートが証明するのはスコープと変更内容であり、正しさや安全性ではありません。
その理由
AI エージェントは非決定的です。同じプロンプトでも、実行のたびに異なる結果になります。また、作業をしたかどうかにかかわらず、完了したと主張します。Reelier は成功した実行を記録して決定論的に再生し、それを証明する署名付きレシートを生成します。既存の CI に 1 つのワークフローで接続すれば、検証可能なレシートを追加できます。既存のスタックに取って代わるものではありません。
同じタスク、同じデータを使った実際の直接比較ベンチマークで測定しました(手法の全文):
- 1,000 回の再生すべてで、バイト単位まで一致
- すべての再生で署名付きレシートを生成 — 実行された内容と変更内容を証明し、主張はしません
- 再生時の LLM 呼び出しは 0 回 — 再推論ではなく、決定論的な再実行です
決定論的な再生は、同じベンチマークでエージェントを再実行する場合と比べて、コストは約 50 分の 1、速度は約 59 倍です。
インストール
npm i -g reelier && reelier init
# No Node install needed — same commands via Docker:
docker run --rm ghcr.io/seldonframe/reelier --help
reelier init [--dry-run] は、3つの Reelier パスすべてを対象に、チェックポイントを記録しながらローカルで1回検査します。対象は、Path A の観測範囲、Path B の再生/フリーズ候補、Path C のバインド可能/結果対応/シャドウ専用/非対応の接続と候補です。デプロイ、ゲート制御、ディスパッチ、アップロード、認証情報のコピー、ホスト設定の書き換えは行いません。--dry-run は何も書き込みません。通常のコマンドでは、サニタイズ済みのアーティファクトのみを .reelier/init/ 以下に書き込みます。
エージェントプラグインとして
Reelier を使うタイミングをコーディングエージェントに教えます。どちらのホストでも、コマンドは同じ2つです。
claude plugin marketplace add seldonframe/reelier
claude plugin install reelier@seldonframe
codex plugin marketplace add seldonframe/reelier
codex plugin add reelier@seldonframe
これにより、2つの Agent Skills だけがインストールされます。reelier-replay は、再現可能なツール呼び出しジョブをフリーズし、0トークンで再生する方法をエージェントに教えます。reelier-write-safety は、書き込みを許可する前にエージェントの書き込み範囲を制限する方法を扱います。レコーダーが確認する内容、ポリシーが拒否する内容、レシートが証明することと証明しないことを説明します。MCP サーバーは同梱されていません。そのため、単体ではツール呼び出しをラップ、観測、ゲート制御しません。これらを行うのは reelier CLI で、スキルは npx 経由で CLI を操作します。Agent Plugins v1.0.0 形式(plugin/agent-plugins/)と Claude Code 形式(plugin/claude/)の両方でパッケージ化されており、scripts/build-plugin-packages.mjs により1つのソースから生成されています。
codex-cli 0.147.0-alpha.1.2 で、エンドツーエンドの動作を検証済みです。両方の形式でインストールと有効化ができ、スキルがモデルに届くことを確認しています。他のホストではテストしていません。ホストごとの状況は、ここで主張するのではなく、docs/specs/agent-plugins-coverage-v1.md §4 で追跡しています。
使い方
reelier init --dry-run # inspect Path A/B/C locally; write nothing
reelier init # persist resumable sanitized inspection artifacts
reelier run <name>.skill.md # replay deterministically — 0 tokens (read-only by default)
reelier diff <name> # SAME or DRIFTED, per step — exit 1 on drift
reelier push <name>.skill.md # sync receipts to your ledger (opt-in)
reelier ci # write a workflow: drift-CI + PR receipts, one command
- 検査してから、記録またはフリーズします。
reelier initは、ルートを変更せずに、観測された範囲とローカル候補を表示します。reelier mcp --wrap "<mcp server>"はライブツールをプロキシし、reelier scan/from-sessionは対応する履歴をフリーズします。 - コンパイルします。
reelier compileはトレースをSKILL.mdに変換します。LLM の呼び出しは0回で、アサーションは最小限に抑え、不明点は 未解決の質問 としてそのまま表示します。 - 再生します。
reelier runは Level 0 で再生します。LLM は使用せず、バイト単位で同一の結果を返し、デフォルトでは読み取り専用です(書き込みには--allow-writesが必要です)。 - 差分を確認します。
reelier diffは、ステップごとに SAME または DRIFTED を報告し、失敗したアサーションを 理由 として示します。ドリフトがある場合は終了コード 1 になります。 - ログインします。
reelier loginは、ブラウザーでデバイスコードを使ってこのマシンを Reelier Cloud に接続します。または、CI やセルフホスト環境ではREELIER_CLOUD_URL/REELIER_CLOUD_KEYを設定してください。 - プッシュします。 実行ごとにレシートが作成されます。
reelier pushを使うと、任意でレジャーに同期し、パーマリンクと埋め込み可能な検証済み再生バッジを作成できます。
すでに Agent Skill をお持ちですか?モデルを除いてスキルを変換できます。
reelier compile trace.jsonl --from-skill ./my-skill/SKILL.md
3つのテスト、1つのスキル
| テスト | コマンド | 確認できること |
|---|---|---|
| 決定性 | reelier run <skill.md> | これまでと同じ動作をしますか? |
| 復旧 | reelier run <skill.md> --fail N | これが壊れた場合、スキルはそれに気づいて修復できますか? |
| ドリフト | reelier run <skill.md> --wrap "<your mcp server>" | このスキルを取り巻く環境は変化しましたか? |
分類は、ローンチ記事に対する Mads Hansen のレビューによるものです。 復旧時の障害注入やマニフェストのガードレールなど、各テストの完全な仕様については、docs/REFERENCE.md を参照してください。
Dependabot / Renovate のバージョンアップ PR をゲートする
Dependabot と Renovate は PR を作成し、テストスイートを実行します。しかし、どちらも実行時にエージェントが実際に 何をするか は把握していないため、ツール呼び出しの形式(フィールド名の変更、新しいデフォルト値、異なるエラーなど)をひそかに変えてしまう依存関係のバージョンアップが、ユニットテストをすべて通過してしまいます。これは、そうしたツールが実行しないチェックです。
.github/workflows/reelier-bump-check.yml をリポジトリにコピーし、skill: を自身の記録済み .skill.md ファイルに設定すると、次の処理を行います。dependabot[bot]/renovate[bot] からの PR(または dependencies ラベル付きの PR)に対象を絞り、バージョンアップされた依存関係をインストールして、記録済みのスキルを --max-level 0(0 トークン)で実際に再生し、差異が生じた正確なステップでチェックを失敗させます。
これは依存関係と MCP ツール呼び出しの動作をテストします。モデルのアップグレードはテストしません。--max-level 0 では LLM を呼び出さないためです。全内容のコピーとセットアップについては、こちらをご覧ください。
その証拠を示す
公開されたレシートには、個別に検証可能な複数の主張が段階的に記録されます。一括して「検証済み」とするわけではありません。有効にした機能に応じて、署名、タイムスタンプ、CI による証明、相互照合可能なプロバイダーのリクエスト ID が付与されます。reelier verify はすべての主張をオフラインで再計算します。有効にしていない主張は、責めることなく、正直に未設定として表示されます。
実例はこちらです:reelier.com/r/HWBdmGob9KeHRqXi-OEaRD0z。
8 段階の全容と、各段階で証明できること、できないことについては、docs/REFERENCE.mdをご覧ください。
スキルが従業員なら
| 従業員のライフサイクル | Reelier での相当機能 |
|---|---|
| セッションをスキル化する | reelier from-session |
| 業績評価 | reelier run + reelier diff |
| フリートのメンテナンス | 定期的な再生 + 差異アラート |
| 記録 | 署名付きレシート |
「検証済み」が示すのは記録であり、エージェントではありません。レシートが証明するのは、何が実行され、何が変更されたかであって、エージェントが仕事をうまくこなしたかどうかではありません。
雇用契約を結んでも、従業員の能力が高くなるわけではありません。従業員の行動を可視化し、その範囲を明確にするものです。ここでも同じく、レシートが証明するのは範囲と変更であり、正しさではありません。
対象ユーザー
- 個人開発者/OSS メンテナー — 実際の回帰テストを再び実施でき、差異がひそかに見逃されることはありません。
- エージェントの変更をリリースするチーム — 「問題なく実行できた」が、主張ではなく検証可能な PR の成果物になります。
- クライアント向けにエージェントを運用する代理店 — クライアントが検証できる、署名・タイムスタンプ付きの納品証明を提供できます。
- マーケットプレイスの購入者または販売者 — 複数の根拠で裏付けられたレシートは、偽装できないレビューになります。
- 監査対応の運用担当者 — 冪等性キーを含む、すべての書き込み操作の署名付き・CI 証明済みの記録を取得できます。
MIT、永久に無料です(バージョン ≤0.16.0 は AGPL-3.0 のままです)。スキル、トレース、実行履歴などのデータ仕様は SPEC.md に記載されているため、別の場所に移る場合もフォルダーをコピーするだけです。
コントリビューション: イシューと PR を歓迎します。形式の正本は SPEC.md です。仕様ではなくコードを修正してください。PR の前に npm test を実行してください。
Reelier によって再実行の手間が省けたなら、スターを付けてください ⭐ — それが、ほかの開発者に見つけてもらう方法です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。