Symbiont ドキュメント¶
本番環境向けのポリシー制御エージェントランタイム。明示的なポリシー、アイデンティティ、監査制御の下で AI エージェントとツールを実行します。
Symbiont とは?¶
Symbiont は、明示的なポリシー、アイデンティティ、監査制御の下で AI エージェントとツールを実行するための Rust ネイティブランタイムです。
ほとんどのエージェントフレームワークはオーケストレーションに焦点を当てています。Symbiont は、エージェントが実際のリスクを伴う実環境で実行される場合に何が起こるかに焦点を当てています:信頼されないツール、機密データ、承認境界、監査要件、再現可能な実施。
仕組み¶
Symbiont はエージェントの意図と実行権限を分離します:
- エージェントが提案 — 推論ループ(Observe-Reason-Gate-Act)を通じてアクションを提案
- ランタイムが評価 — 各アクションをポリシー、アイデンティティ、信頼チェックに照らして評価
- ポリシーが決定 — 許可されたアクションは実行、拒否されたアクションはブロックまたは承認に回送
- すべてが記録される — すべての決定に対する改ざん防止監査証跡
モデル出力は実行権限として扱われることはありません。ランタイムが実際に何が起こるかを制御します。
コア機能¶
| 機能 | 説明 |
|---|---|
| ポリシーエンジン | エージェントのアクション、ツール呼び出し、リソースアクセスに対する Cedar によるきめ細かな認可 |
| ツール検証 | 実行前に SchemaPin による MCP ツールスキーマの暗号学的検証 |
| エージェントアイデンティティ | AgentPin によるエージェントとスケジュールタスクのドメイン固定 ES256 アイデンティティ |
| 推論ループ | ポリシーゲートとサーキットブレーカーを備えた型状態強制の Observe-Reason-Gate-Act サイクル |
| サンドボックス | 信頼されないワークロード向けのリソース制限付き Docker ベースの分離 |
| 監査ログ | すべてのポリシー決定に対する構造化レコード付き改ざん防止ログ |
| シークレット管理 | Vault/OpenBao 統合、AES-256-GCM 暗号化ストレージ、エージェントごとのスコープ |
| MCP 統合 | 制御されたツールアクセスを備えたネイティブ Model Context Protocol サポート |
追加機能:ツール/スキルコンテンツの脅威スキャン、cron スケジューリング、永続エージェントメモリ、ハイブリッド RAG 検索(LanceDB/Qdrant)、webhook 検証、配信ルーティング、OTLP テレメトリ、HTTP セキュリティ強化、チャネルアダプター(Slack/Teams/Mattermost)、および Claude Code と Gemini CLI のガバナンスプラグイン。
クイックスタート¶
インストール¶
インストールスクリプト(macOS / Linux):
Homebrew(macOS):
Docker:
ソースから:
ビルド済みバイナリは GitHub Releases からも入手できます。詳細については入門ガイドをご覧ください。
最初のエージェント¶
agent secure_analyst(input: DataSet) -> Result {
policy access_control {
allow: read(input) if input.verified == true
deny: send_email without approval
audit: all_operations
}
with memory = "persistent", requires = "approval" {
result = analyze(input);
return result;
}
}
metadata、schedule、webhook、channel ブロックを含む完全な文法については DSL ガイドをご覧ください。
プロジェクトスキャフォールディング¶
symbi init # プロファイルテンプレートによるインタラクティブなプロジェクトセットアップ
symbi run agent # フルランタイムを起動せずに単一エージェントを実行
symbi up # 自動設定でフルランタイムを起動
アーキテクチャ¶
graph TB
A[Policy Engine — Cedar] --> B[Core Runtime]
B --> C[Reasoning Loop — ORGA]
B --> D[DSL Parser]
B --> E[Sandbox — Docker]
B --> I[Audit Trail]
subgraph "Scheduling"
S[Cron Scheduler]
H[Session Isolation]
R[Delivery Router]
end
subgraph "Channels"
SL[Slack]
TM[Teams]
MM[Mattermost]
end
subgraph "Knowledge"
J[Context Manager]
K[Vector Search]
L[RAG Engine]
MD[Agent Memory]
end
subgraph "Trust Stack"
M[MCP Client]
N[SchemaPin]
O[AgentPin]
SK[Threat Scanner]
end
C --> S
S --> H
S --> R
R --> SL
R --> TM
R --> MM
C --> J
C --> M
J --> K
J --> L
J --> MD
M --> N
C --> O
C --> SK
セキュリティモデル¶
Symbiont はシンプルな原則に基づいて設計されています:モデル出力を実行権限として信頼すべきではありません。
アクションはランタイム制御を通じて流れます:
- ゼロトラスト — すべてのエージェント入力はデフォルトで信頼されない
- ポリシーチェック — すべてのツール呼び出しとリソースアクセスの前に Cedar 認可
- ツール検証 — ツールスキーマの SchemaPin 暗号学的検証
- サンドボックス境界 — 信頼されない実行のための Docker 分離
- オペレーター承認 — 機密アクションのための人間レビューゲート
- シークレット制御 — Vault/OpenBao バックエンド、暗号化ローカルストレージ、エージェント名前空間
- 監査ログ — すべての決定の暗号学的改ざん防止レコード
詳細についてはセキュリティモデルガイドをご覧ください。
ガイド¶
- 入門ガイド — インストール、設定、最初のエージェント
- セキュリティモデル — ゼロトラストアーキテクチャ、ポリシー実施
- ランタイムアーキテクチャ — ランタイム内部と実行モデル
- 推論ループ — ORGA サイクル、ポリシーゲート、サーキットブレーカー
- DSL ガイド — エージェント定義言語リファレンス
- API リファレンス — HTTP API エンドポイントと設定
- スケジューリング — Cron エンジン、配信ルーティング、デッドレターキュー
- HTTP 入力 — Webhook サーバー、認証、レート制限
コミュニティとリソース¶
- パッケージ: crates.io/crates/symbi | npm symbiont-sdk-js | PyPI symbiont-sdk
- SDK: JavaScript/TypeScript | Python
- プラグイン: Claude Code | Gemini CLI
- 課題: GitHub Issues
- ライセンス: Apache 2.0 (Community Edition)