Yagami AI Context Firewall について
Yagamiは、モデル、検索、メモリ、ツールへのエージェントコンテキストの流れを管理する、開発者やプラットフォーム・セキュリティチーム向けのオープンソースのコンテキストファイアウォールです。コンテキストをローカルで分類してバージョン管理されたポリシーを適用し、プロンプト内容を記録せずに判断の証跡を残します。
主な機能
- 01ローカルでのコンテキスト分類と追跡
- 02バージョン管理されたポリシーのプレビューと再生
- 03機密データのルーティング制限
- 04関数とMCPツール呼び出しの統制
- 05内容を含まない監査証跡
- 06利用制限と可観測性
活用シーン
- 01リポジトリの秘密情報を端末内に保持
- 02危険なツール呼び出しに承認を要求
- 03CIでポリシー変更をテスト
- 04プロンプトを記録せずに判断を監査
MCP 対応
YagamiはStreamable HTTP MCPインターフェースを公開し、MCP呼び出しにも共通のポリシー、追跡、変換、監査プロセスを適用します。ツール実行前の評価や一回限りの承認要求が可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Yagami
モデル、検索、メモリ、ツールへのアクセスを管理するオープンソースの AI コンテキストファイアウォールです。
ドキュメント | ゲートウェイ API | デプロイ | セキュリティ | ロードマップ
60 秒で試す
認証情報不要のデモでは、設定済みの Ollama モデルがインストールされている場合はそれを使用し、 インストールされていない場合は、ポリシーのみのフォールバックであることを明示して起動します。次のコマンドから選択してください。
uvx yagami demo
# or: python -m pip install yagami && yagami demo
# or: docker run --rm -p 127.0.0.1:8000:8000 ghcr.io/matthewtracy/yagami:latest yagami demo --host 0.0.0.0 --allow-remote
http://127.0.0.1:8000 を開くか、クローンしたリポジトリで
docker compose -f compose.demo.yaml up を実行してください。デモモードではクラウドへのルーティングをブロックしながら、
UI、ポリシー、リネージ、ストレージ、監査の各経路を試せます。ローカル AI の回答を利用するには、
デモの開始前に Ollama をインストールし、
ollama pull llama3.2:3b-instruct-q4_K_M を実行してください。
https://github.com/user-attachments/assets/a7be9449-eafc-4acb-99b6-ea39edc43cd2

Yagami は、エージェントのコンテキストの送信先と、実行可能なツールを制御する必要がある開発者やプラットフォーム/セキュリティチーム向けです。たとえば、コーディング エージェントはリポジトリのシークレットをデバイス上に保持し、危険なツール呼び出しの前に、ID に紐づいた一度限りの承認を必須にできます。
Yagami は、ソフトウェアとローカルモデル、クラウド LLM、検索システム、メモリ、ツールの間に位置します。既存の OpenAI SDK アプリケーションは、
base_url を 1 か所変更するだけで導入できます。Yagami はその後、コンテキストをローカルで分類し、バージョン管理された
ポリシーを適用して、各判断についてコンテンツを含まない証跡を記録します。
データを送信しないセキュリティツアーを試すか、 シークレットの封じ込め、汚染された検索結果、ID に紐づいたツール承認を扱う 主要なセキュリティデモを実行してください。
アプリケーションを保護する
永続的なユーザー設定を初期化し、ホストを確認して、Yagami を起動します。
yagami init
yagami doctor
yagami serve
Yagami プロセスまたはサンプルクライアントで Anthropic/OpenAI 互換 SDK を使用する場合は、
yagami[providers] をインストールしてください。PDF の取り込みと OS のキー保存には、それぞれ別の
ingest と desktop の追加パッケージが必要です。設定を参照してください。
次に、OpenAI クライアントがゲートウェイを参照するように設定します。
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:8000/v1",
api_key="your-yagami-project-key",
)
response = client.chat.completions.create(
model="yagami-auto",
messages=[{"role": "user", "content": "Summarize this document."}],
metadata={
"purpose": "internal-documentation",
"sensitivity": "none",
"session_id": "example-session",
},
)
print(response.choices[0].message.content)
呼び出し元が指定できる感度値は、none、phi、phi_medical、secret です。呼び出し元のヒントによってポリシーをより厳しくすることはできますが、Yagami が検出した
感度を下げることはできません。
本番環境での認証、ポリシー、デプロイの設定については、 デプロイガイドに従ってください。
チームが Yagami を使う理由
- 分類後の決定論的な封じ込め。 コンテキストが PHI またはシークレットとしてラベル付けされると、デフォルトポリシーではローカルバックエンドのみが許可されます。機密性の高い履歴とツールの結果にも、同じ制限が適用されます。
- 一元管理されたデータプレーン。 Chat Completions、Responses、ブラウザーチャット、MCP は、同じポリシー、リネージ、変換、出力 DLP、予算、監査のパイプラインを使用します。
- コードとしてのポリシー。 判断をプレビューして再生し、CI で回帰テストケースを実行し、決定論的な Ed25519 署名済みポリシーバンドルを昇格できます。
- プロンプトを記録せずに証跡を確保。 ポリシーパスポート、ハッシュチェーン化された監査記録、Prometheus メトリクス、OpenTelemetry スパンには、プロンプトや完了内容ではなく、ラベル、ハッシュ、ID、件数が記録されます。
- ポリシーを重複させずにモデルを選択。 1 つの適用ポイントから、ローカルエンジン、クラウドプロバイダーへの直接接続、または既存の OpenAI 互換ゲートウェイにルーティングできます。
- ガバナンス対象のツール。 関数ツールと MCP 呼び出しを実行前に評価し、短時間のみ有効な一回限りの承認を必須にでき、受信した認証情報が下流サーバーに転送されないようにします。
主な機能
| 分野 | 含まれる機能 |
|---|---|
| 互換 API | OpenAI Chat Completions、Responses API のコア機能、Streamable HTTP MCP |
| ID 管理 | スコープ付きプロジェクト API キー、OIDC/JWT ワークロード ID |
| ポリシー | バージョン管理された YAML/JSON ルール、制限的なマージ、プレビュー、再生、シャドーモード、回帰テスト、署名済みバンドル |
| プライバシー | ローカル分類、呼び出し元による機密性の指定、コンテキストリネージ、AES-GCM トークン化、再水和、出力 DLP、オプションの Presidio |
| ツール | 関数呼び出し、ガバナンス対象の組み込みスキル、stdio およびリモート MCP、一回限りの承認 |
| 運用 | 支出/レート/同時実行数/コンテキストの上限、ヘルスチェック、Prometheus、OpenTelemetry、SIEM エクスポート、承認 Webhook |
| パッケージング | Python 3.11-3.14、PyPI、非 root コンテナー、Docker Compose、Helm、SBOM、チェックサム、ビルド来歴 |
モデルと統合
ローカルでの生成は、Ollama、オプションの llama-cpp-python ランタイムを介した llama.cpp、ループバックの OpenAI 互換サービスを介した Microsoft Foundry Local で動作します。クラウドへの直接接続アダプターは、Anthropic、OpenAI、Mistral、Groq、OpenRouter、Google Gemini、Stability AI の画像生成に対応しています。
Yagami は、LangChain/LangGraph、Vercel AI SDK、Microsoft Presidio、Splunk HEC と汎用 SIEM Webhook、Slack と Teams の承認通知、LiteLLM、Portkey、Kong、Envoy などの上流ゲートウェイとも連携します。統合レシピをご覧ください。
比較
Yagami は、あらゆるゲートウェイ、バリデーター、セキュリティスキャナーを置き換えることを目指しているわけではありません。重点を置いているのは、分類後の決定論的な封じ込め、ガバナンス対象のツール実行、コンテンツを含まない判断の証跡です。LiteLLM、Guardrails AI、NeMo Guardrails、Presidio、LlamaFirewall、またはプロバイダーの直接 SDK のほうが適している場合と、それらを Yagami と組み合わせる方法については、率直な比較ガイドをご覧ください。
適用の仕組み
flowchart LR
A["Application or agent"] --> B["Authentication and project limits"]
B --> C["Local classification and context lineage"]
C --> D["Versioned policy"]
D --> E{"Allowed destination or capability"}
E --> F["Local or approved model"]
E --> G["Retrieval, memory, or tool"]
F --> H["Output inspection"]
G --> H
H --> I["Response"]
D --> J["Content-free policy passport and audit chain"]
H --> J
最終的な決定権はポリシーにあります。スラッシュコマンドやバックエンドの明示的な選択で、機密データに関する制限を上書きすることはできません。分類器に障害が発生した場合、デフォルトではローカルにフェイルし、クラウドルートを完全にブロックしたり、1 日あたりの支出上限に達した時点で停止したりできます。
重要な制限事項
Yagami は適用コンポーネントであり、コンプライアンス認証ではありません。自動検出では機密データを見逃す可能性があります。厳格なデプロイでは、呼び出し元が機密性を指定し、ローカルのみを許可するポリシーを使用し、組織固有のケースをテストし、ホストまたはボリュームのレイヤーでストレージを暗号化したうえで、脅威モデルを確認してください。
このプロジェクトはアルファ版です。本番環境で使用する前に、独自の要件に照らしてポリシーと障害時の動作を検証してください。
ドキュメント
コントリビューション
内容を絞った Issue とプルリクエストを歓迎します。 CONTRIBUTING.md、 セキュリティポリシー、 行動規範をお読みください。
ライセンス
MIT - 著作権 (c) 2026 Matthew Tracy および Yagami コントリビューター。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。