Reelier

公式

エージェントは主張を行う。Reelierはレシートを書き出す——エージェントのツール呼び出しワークフローを一度記録し、0トークンで決定論的に再生し、実行の差分を取ってドリフトを検出する。

Reelier MCPで何ができますか?

  • 記録されたスキルを決定的に再生 — 保存された .skill.md を0トークンで reelier run し、デフォルトで読み取り専用として、バイト単位で同一の再実行を行います。
  • エージェント実行のドリフトを検出reelier diff を使用して、再生結果を元の実行と比較し、各ステップで SAME または DRIFTED をフラグ付けし、変更があれば終了コード1で終了します。
  • 依存関係更新PRをゲート — アシスタントに、Dependabot/Renovate のPRに対してスキルを再生し、ドリフトしたステップで失敗するCIワークフローを設定させます。
  • 既存のトレースをスキルに変換trace.jsonl または既存の SKILL.mdreelier compile で再生可能なスキルにコンパイルし、正直なギャップを未解決の質問としてリストアップします。
  • 署名付きレシートをオフラインで検証reelier verify を実行して、プッシュされたレシートのラダー内のすべての主張を再計算し、どのラングが証明済みで、どのラングが正直なギャップかを表示します。
  • 記録前にエージェントのカバレッジを検査reelier init --dry-run を使用して、Path A/B/C の観測カバレッジと再生候補を、何も書き込んだり変更したりせずに確認します。

ドキュメント

Reelier

Reelier

エージェントに書かせよう。証拠は残る。

あなたのエージェントは一晩中働いた。ここに、正確に何が変わったかがある。

Reelier は、うまくいった実行を記録し、それを再生可能なスキルとして凍結し、決定的に再生します。すべての実行は領収書として返ってきます。つまり、エージェントが何をしたか、その結果何が変わったかの証明です。エージェントは主張する。Reelier は領収書を書く。

npm version CI tests license Discord stars

ウェブサイト · ドキュメント · SPEC.md

Reelier: Dependabot bumps a dependency, Reelier replays your recorded agent run at 0 tokens and diffs it, catching the drift on the PR before you merge

▶ 音声付きで見る(27秒)

Reelier MCP server on Glama


エージェントのPRに領収書を — インストールして完了

エージェントが作成したPR(Dependabot、Claude、Codex、Cursorなど)には、数秒で領収書コメントが付きます。作成者、変更されたファイル、宣言されたスコープと実際の変更内容、機密パスのフラグが含まれます。ワークフローファイルもCLIも設定も不要です。

→ Reelier 領収書 GitHub アプリをインストール — 公開リポジトリでは無料、永久に。

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 / 1,000 回の再生がバイト単位で同一
  • すべての再生が署名付き領収書を添付 — 何が実行され、何が変わったかの証明であり、主張ではありません
  • 再生時のLLM呼び出しは0回 — 再推論ではなく、決定的な再実行

決定的な再生は、同じベンチマークでエージェントを再実行するよりも約50倍安く、約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] は、Reelier の3つのパスすべてにわたって、チェックポイント付きのローカル検査を1回実行します。パスAの観測カバレッジ、パスBの再生/凍結候補、パス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つのエージェントスキルとそれ以外は何もインストールされません。reelier-replay は、エージェントに、繰り返し可能なツール呼び出しジョブを凍結し、0トークンで再生することを教えます。reelier-write-safety は、エージェントの書き込みを許可する前にバインドすることについて説明します。レコーダーが何を見るか、ポリシーが何を拒否するか、領収書が何を証明し、何を証明しないかです。MCPサーバーは同梱されていません。つまり、それ自体ではツール呼び出しをラップ、監視、ゲートしません。reelier CLI がそれを実行し、スキルは npx を介してそれを駆動します。エージェントプラグイン 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
  1. 検査してから、記録または凍結。 reelier init は、ルートを変更せずに、観測されたカバレッジとローカル候補を明らかにします。reelier mcp --wrap "<mcp server>" はライブツールをプロキシします。reelier scan/from-session はサポートされている履歴を凍結します。
  2. コンパイル。 reelier compile はトレースを SKILL.md に変換します — LLM呼び出し0回、最小限のアサーション、正直なギャップは 未解決の質問 として印刷されます。
  3. 再生。 reelier run はレベル0で再生します — LLMなし、バイト単位で同一、デフォルトでは読み取り専用(書き込みには --allow-writes が必要)。
  4. 差分。 reelier diff はステップごとに SAME または DRIFTED を報告し、失敗したアサーションを理由として示します — ドリフト時は終了コード1。
  5. ログイン。 reelier login は、ブラウザのデバイスコードでこのマシンを Reelier Cloud に接続します — または、CI とセルフホスティング用に REELIER_CLOUD_URL/REELIER_CLOUD_KEY を設定します。
  6. プッシュ。 すべての実行は領収書です。reelier push は、必要に応じてそれを台帳に同期し、パーマリンクと埋め込み可能な検証済み再生バッジを提供します。

すでにエージェントスキルをお持ちですか?変換します — あなたのスキルからモデルを除いたもの:

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](または dependencies ラベル)からのPRにゲートし、バンプされた依存関係をインストールし、記録済みスキルを --max-level 0(0トークン)でライブ再生し、ドリフトした正確なステップでチェックを失敗させます。

これは依存関係とMCPツール呼び出しの動作をテストします — モデルのアップグレードはテストしません--max-level 0 はLLMを呼び出すことはありません。完全なリストのコピーとセットアップ: docs/marketplace-listing.md

証明する

プッシュされた領収書には、独立して検証可能な主張のはしごが含まれています — 1つの包括的な「検証済み」ではありません。何を有効にするかによって、署名、タイムスタンプ、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 が再実行を節約してくれたなら、スターを付けて ⭐ — それが他のビルダーが見つける方法です。