agence について
Agenceは、複数のAIコーディングエージェントを使うソフトウェアチーム向けのガバナンスレイヤーです。コマンドを制御し、改ざん検知可能な台帳に判断を記録して、共通ポリシーの下でエージェントを連携させます。
主な機能
- 01シェルコマンドを分類して制御
- 02判断を暗号学的な台帳に記録
- 03複数のコーディングエージェントをオーケストレーション
- 04複数LLMの合意を取りまとめ
- 05エージェントのセッションを保存・引き継ぎ
- 06共有ナレッジとプライベートナレッジを管理
活用シーン
- 01リスクの高いコマンドに承認を求める
- 02リポジトリ内のAIエージェント操作を監査
- 03共通ポリシーの下で複数のコーディングエージェントを連携
- 04設計上の問いに対する複数LLMの回答を比較
MCP 対応
AgenceはMCPサーバーを通じて、互換クライアントに10個のツールと3個のリソースを公開します。また、MCPクライアントとして外部MCPサーバーのツールも利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
l'Agence — エージェント型エンジニアリングの共同環境
著者:Stephane Korning · 2026 · MIT + Commons Clause
バージョン:v1.0.0 · 2026年5月
AI コーディングエージェントのガバナンスレイヤーです。
どの LLM やツールを実行するかにかかわらず、すべてのエージェントのアクションを分類し、承認フローで制御し、暗号学的に記録します。
課題
AI コーディングエージェントはコードを書けます。コミット、プッシュ、削除、リファクタリングも実行できます。
しかし、エージェントを監視しているのは誰でしょうか?
Claude Code には監査証跡がありません。Aider はユーザーを信頼します。Codex はすべてをサンドボックス化し、うまくいくことを願います。LangChain は構成要素を提供しますが、ガードレールはありません。
Agence が存在するのは、助言的なガードレールはガードレールとは呼べないからです。 あらゆる AI エージェントとファイルシステムの間に位置し、「承認なしでは実行できません」 と告げるレイヤーです。
Agence の機能
Agence は、ソフトウェアエンジニアリングのためのエージェント非依存のガバナンススタックです。コーディングエージェントを置き換えるのではなく、単一のコントロールプレーンからすべてのエージェントを統制、オーケストレーション、監査します。
コマンドの実行制御 — すべてのシェルコマンドは実行前に分類されます。
| Tier | ゲート | 例 |
|---|---|---|
| T0 | 自動実行 | git status、ls、cat |
| T1 | ログ記録 | git add、git commit |
| T2 | 人間の承認が必要 | git push、git reset |
| T3 | ブロック | rm -rf、chmod 777、kill |
不明なコマンドはデフォルトで T2 になります。T0 ではありません。フェイルクローズです。 ガードは独立したプロセスとして実行されるため、エージェントが自身のポリシーを回避することはできません。
暗号学的監査 — エージェントのすべての判断は、Merkle チェーンで連結された追記専用の台帳に記録されます。各エントリーは SHA-256 を使って前のエントリーにリンクされます。1 つのエントリーを改ざんすると、チェーンが破損します。次のコマンドで検証できます:agence ^ledger verify。
マルチエージェントのオーケストレーション — 4 種類(ペルソナ、ツール、ループ、アンサンブル)のエージェントを 18 個提供します。@agent 構文でルーティングできます。ドット記法でモデルを上書きできます:@ralph.gpt4o。Aider、Claude Code、Copilot、または独自のツールにディスパッチでき、すべて同じポリシーで統制されます。
ピアコンセンサス — 任意の質問を独立した 3 つの LLM にルーティングし、重み付けされたコンセンサスを得られます。アーキテクチャレビューを、1 つのモデルの盲点に左右されないようにします。
セッションの永続化 — エージェント間でセッションを保存、再開、引き継ぎできます。再起動後も完全なコンテキストが保持されます。stdout、stdin、stderr は tmux で自動的にキャプチャされ、16KB のバッファー制限もありません。
Git ネイティブ — データベースもサーバーも不要です。状態は git worktree とフラットファイルに保存されます。ナレッジは分割され、ゲートで制御され、選択的にルーティングされます。何を共有するかはユーザーが決めます。
数字で見る Agence
| 30,701 | 本番コードの行数(TypeScript 23.9K 行 + bash 6.8K 行) |
| 751 | 21 ファイルにわたるテスト数。アサーションは 1,768 件 |
| 279 | セキュリティ関連のテスト数(ガード + 強化 + SEC 回帰テスト) |
| 9 | 完了したレッドチームサイクル数(SEC-008 から SEC-019) |
| 33+ | オーケストレーションスキル(^fix、^review、^hack、^peers、^vault など) |
| 18 | 登録済みエージェント数(ペルソナ 10、ツール 5、ループ 1、アンサンブル 2) |
| 12 | LLM プロバイダー数(Anthropic、OpenAI、Azure、Google、Mistral、Groq、Ollama など) |
| 10 | MCP ツール + MCP リソース 3 個(Model Context Protocol サーバー) |
| 3 | 依存関係の合計数(MCP SDK、Bun、Zod) |
| 0 | 必要なデータベース数 |
対象ユーザー
- すべての AI コーディングエージェントに適用する単一のポリシーを必要とする、複数の AI コーディングエージェントを利用しているチーム
- AI が生成したコード変更の監査証跡を必要とする企業
- フェイルオープンな信頼ではなく、フェイルクローズの実行制御を求めるセキュリティを重視する開発者
- AI エージェントに何かを壊された経験があり、エージェントと
rm -rfの間にレイヤーがあればと願ったことのあるすべての人
対象外のユーザー
- AI ペアプログラマーが欲しい場合 → Aider をお使いください
- IDE のオートコンプリートが欲しい場合 → Continue または Copilot をお使いください
- 何らかのエージェントを構築したい場合 → LangChain/LangGraph をお使いください
- クラウドでホストされた非同期タスクが欲しい場合 → OpenAI Codex をお使いください
Agence は上記のすべてを統制します。
GitHub Action — Agence Guard
あらゆる CI ワークフローで AI エージェントのコマンドを制御します。1 ステップで導入でき、インフラは不要です。
- name: Gate AI command
id: guard
uses: l-agence/agence@v1
with:
command: 'git push origin main' # command proposed by your AI agent
agent: ci
fail_on_block: 'true' # fail if T3-blocked
- run: echo "Tier ${{ steps.guard.outputs.tier }} — ${{ steps.guard.outputs.reason }}"
| 入力 | 説明 | デフォルト |
|---|---|---|
command | 分類するシェルコマンド | 必須 |
policy | カスタム AIPOLICY.yaml のパス(リポジトリ相対) | 同梱ポリシー |
agent | MLS 機能チェック用のエージェント ID | ci |
fail_on_block | T3(拒否)の場合に終了コード 1 を返します | true |
fail_on_escalate | T2(承認が必要)の場合に終了コード 1 を返します | false |
| 出力 | 値 |
|---|---|
tier | T0 · T1 · T2 · T3 |
action | allow · flag · escalate · deny |
reason | 人が読める判定理由 |
rule | 一致したポリシールール |
詳しいドキュメントはdocs/marketplace/description.mdをご覧ください。
この PR では、リポジトリごとにすばやく導入できるよう、まず GitHub Action の導入を開始します。組織全体で多数のリポジトリに展開するための GitHub App の掲載と webhook サーバーは、後のフェーズまたは別の PR で対応できます。
エンタープライズでの導入に向けて、GitHub App の次の段階では シャードのオンボーディング を行い、1 つの共有シャードモデルを強いることなく、組織がチーム、ポリシー、ナレッジの境界を明確に分けられるようにします。
インストール
git サブモジュールとして(推奨)
git submodule add https://github.com/l-agence/agence .agence
git submodule update --init --recursive
bash .agence/bin/agence ^init
export PATH="$PWD/.agence/bin:$PATH"
または、直接クローン
git clone https://github.com/l-agence/agence .agence
cd .agence && bun install
./bin/agence ^init
export PATH="$PWD/.agence/bin:$PATH"
前提条件
| ツール | 必須 | インストール |
|---|---|---|
bash 4+ | はい | Linux/macOS/WSL に標準搭載 |
git 2.30+ | はい | sudo apt install git |
bun 1.3+ | はい | bun.sh |
tmux | swarm 用 | sudo apt install tmux |
jq | 台帳のクエリ用 | sudo apt install jq |
Windows:WSL を使用してください(Ubuntu を推奨)。
クイックスタート
# Chat with an agent
agence "How should I structure this feature?"
# Route to a specific agent
agence @sonya "Review this auth module"
# Launch an agent shell
agence !ralph # Persona: autonomous iteration
agence !claude # Tool: Claude Code CLI
agence !aider # Tool: aider (code patches)
# Save session (resume later or hand off to another agent)
agence ^save "OAuth2: done token validation, next: refresh flow"
agence ^resume
agence ^handoff @sonya
# Audit trail
agence ^ledger verify # Verify Merkle chain integrity
agence ^audit trail # View full decision history
# Peer consensus (3 independent LLMs)
agence @peers "Should we use Redis or Postgres for session storage?"
# See all commands
agence --help
アーキテクチャ
YOUR REPO/
└── .agence/ ← lives here (submodule or clone)
├── bin/ # CLI: agence, aibash, ibash, aido, agentd
├── codex/ # Governance: AIPOLICY.yaml, Laws, Principles, agents/
├── nexus/ # Local state: .ailedger, sessions, faults (gitignored)
├── knowledge/ # Team knowledge: docs, lessons, plans (committed)
│ └── private/ # Private knowledge (gitignored, never shared)
├── organic/ # Swarm coordination: tasks, jobs, workflows
└── lib/ # Core: guard.ts, signal.ts, skill.ts, memory.ts, peers.ts
COGNOS — 4 つの柱:
| 柱 | 目的 | 場所 |
|---|---|---|
| CODEX | 不変のガバナンス — Laws、Principles、Rules、AIPOLICY | codex/ |
| KNOWLEDGE | チームで共有するドキュメント、教訓、計画 — @ シンボリックリンクを介して選択的にルーティング | knowledge/ |
| NEXUS | ローカルの運用状態 — セッション、台帳、シグナル | nexus/(gitignore 対象) |
| ORGANIC | swarm のオーケストレーション — タスク、ワークフロー、マトリックススケジューリング | organic/ |
ランタイム:Bun + bash。Python は不要です。pip は不要です。重要な処理経路で、信頼できないパッケージを npm install する必要はありません。
MCP:Agence は MCP サーバーとして自身を公開しており(10 個のツール、3 個のリソース)、MCP 互換クライアントであればどれでも agence のガバナンスレイヤーを利用できます。また、Agence は MCP クライアントとして、外部 MCP サーバーのツールを利用します。統合ガイドは MCP.md をご覧ください。
コマンドリファレンス
| プレフィックス | モード | 例 | 使用する場面 |
|---|---|---|---|
| (なし) | チャット | agence "explain this error" | アドバイス、説明、Q&A |
^ | ナレッジ | agence ^save、agence ^lesson | 共有状態、ナレッジ操作 |
~ | プライベート | agence ~note "idea" | プライベートなメモ(コミットされません) |
+ | 自律実行 | agence +refactor-auth | エージェントがタスクを計画して実行 |
/ | 検証済み | agence /git-status | 事前承認済みの安全なコマンド |
! | システム | agence !ralph、agence !claude | エージェントまたはツールの起動 |
@ | ルーティング | agence @sonya "review this" | 特定のエージェントに送信 |
エージェント一覧
| エージェント | 種類 | 最適な用途 |
|---|---|---|
@ralph | ループ | バックプレッシャーを伴う自律的な反復 |
@sonya | ペルソナ | アーキテクチャ、コードレビュー |
@claudia | ペルソナ | 深い推論、重要な意思決定 |
@chad | ペルソナ | DevOps、インフラ、CI/CD |
@aleph | ペルソナ | レッドチーム、セキュリティ分析 |
@claude | ツール | Claude Code CLI(ヘッドレス起動) |
@aider | ツール | コードパッチ、git の差分 |
@pilot | ツール | GitHub Copilot CLI |
@peers | アンサンブル | 3 つの LLM による重み付き合意形成 |
@pair | アンサンブル | 2 つの LLM による軽量な合意形成 |
ドット記法でモデルを上書きできます:@ralph.gpt4o、@sonya.opus、@ralph.aider
ガバナンス
Agence は 5 段階のコマンドポリシーを使用します。ガードは別プロセスとして実行されるため、エージェントが自身のポリシーを回避することはできません。
| 段階 | ゲート | 例 |
|---|---|---|
| T0 | 自動実行 | git status、ls、cat |
| T1 | ログ記録 | git add、git commit |
| T2 | 人間の承認 | git push、git reset |
| T3 | ブロック | rm -rf、chmod 777 |
| T4 | 実行禁止 | main への強制プッシュ、DB の削除 |
不明なコマンドはデフォルトで T2 になります。フェイルクローズ方式です。 git、GitHub CLI、AWS、Terraform、シェルにわたる 120 以上のルールがあります。
すべての判断は nexus/.ailedger に記録されます。追記専用で、Merkle チェーン化され、HMAC 署名されています。
セキュリティアーキテクチャ、レッドチームの調査結果、開示スケジュールの詳細は SECURITY.md をご覧ください。
スウォーム(agentd)
agentd start ralph claude aider # Launch 3 agents in tmux
agentd tangent create fix-auth # Isolated worktree + container
agentd inject fix-auth "run tests" # Send command via socat socket
agentd status # View all agents + tangents
各タンジェントには、分離された git worktree、任意の Docker コンテナ(--cap-drop ALL、--read-only、--no-new-privileges)、IPC 用の socat ソケット、可視化用の tmux ペインが割り当てられます。
テスト
bun test # Full suite
751 件のテスト、1,768 件のアサーション、21 ファイル全体で失敗 0 件です:
| スイート | テスト数 | カバレッジ |
|---|---|---|
guard.test.ts | 132 | コマンドゲート、段階のエスカレーション、eval の安全性 |
security-hardening.test.ts | 134 | HMAC、シグナル偽造、インジェクション防止、SEC-010→019 のリグレッション |
memory.test.ts | 62 | COGNOS 3 ストア:保持/想起/キャッシュ/忘却/昇格/蒸留 |
peers-dispatch.test.ts | 53 | ピア間の合意形成、混合ルーティング |
queue.test.ts | 42 | 作業キュー、ダッシュボード、GitHub Issues ブリッジ |
runs.test.ts | 35 | SWE 実行のライフサイクル、集計、結果 |
vault.test.ts | 20 | 隔離された Vault の初期化/同期/プッシュ/プル+SEC-019 のセキュリティ |
setup.test.ts | 10 | 対話型ウィザード、エスケープ処理、検証 |
mcp-client.test.ts | 10 | MCP クライアントのガードゲート、環境変数のサニタイズ |
mcp.test.ts | 10 | MCP ツール/リソースの公開範囲の検証 |
sequent.test.ts | 12 | トーナメントのタンジェント、CLI ディスパッチ |
ドキュメント
| ドキュメント | 内容 |
|---|---|
| アーキテクチャ | システム設計の全体像 |
| スウォーム | agentd、タンジェント、tmux モデル |
| コマンド | CLI の完全なリファレンス |
| セキュリティ | TCB、レッドチームの調査結果、開示スケジュール |
| チュートリアル | はじめ方の手順 |
| セットアップ | 詳細なインストールガイド |
ライセンス
MIT + Commons Clause — 自由に使用、変更、セルフホストできます。
商用での再配布には別途契約が必要です。
LICENSE.md をご覧ください。
Stephane Korning によって構築されました。5 回のレッドチームサイクルを経て強化されました。独自の CODEX によって統治されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。