# はじめに

このガイドでは、Symbiのセットアップと初めてのAIエージェントの作成について説明します。

▶ **入門ウォークスルー動画を見る：**

[![Symbiont — get started](https://img.youtube.com/vi/RPyKpqKz5ik/hqdefault.jpg)](https://www.youtube.com/watch?v=RPyKpqKz5ik)

## 目次


---

## 前提条件

必要なものは、Symbiのインストールおよび実行方法によって異なります。

### ビルド済みバイナリを実行する場合

ビルド済みバイナリはすでにコンパイルされているため、インストールや実行に Rust、protobuf、Git は **不要** です。Homebrew、インストールスクリプト（`curl`）、または GitHub Releases からの手動ダウンロードでインストールできます。

- **Docker** は、デフォルトのサンドボックスティア（`tier1`、Docker ベース）でエージェントを実行する場合に *実行時* にのみ必要です。Symbi のインストールや、`symbi init`、`symbi dsl`、`symbi --version` の実行には **不要** です。

### ソースからビルドする場合

`cargo install` でインストールする場合、またはリポジトリを自分でビルドする場合にのみ必要です：

- **Rust 1.82+**
- **protobuf-compiler**（Ubuntu では `apt install protobuf-compiler`、macOS では `brew install protobuf`）
- **Git**（リポジトリのクローン用）

### オプション

- **[symbi-claude-code](https://github.com/thirdkeyai/symbi-claude-code)**（Claude Code ガバナンスプラグイン）
- **[symbi-gemini-cli](https://github.com/thirdkeyai/symbi-gemini-cli)**（Gemini CLI ガバナンス拡張機能）

> **注意:** ベクトル検索は組み込みです。Symbiは[LanceDB](https://lancedb.com/)を組み込みベクトルデータベースとして同梱しており、外部サービスは不要です。

---

## インストール

### オプション1：Docker（推奨）

動作するランタイムを最も簡単に手に入れる方法は、コンテナにプロジェクトをスキャフォールドさせることです：

```bash
# 1. symbiont.toml、agents/、policies/、docker-compose.yml、および
#    新しく生成された SYMBIONT_MASTER_KEY を含む .env をスキャフォールドします。
docker run --rm -v $(pwd):/workspace ghcr.io/thirdkeyai/symbi:latest \
  init --profile assistant --no-interact --dir /workspace

# 2. ランタイムを起動します。.env を自動的に読み込みます。
docker compose up
```

ランタイム API は `http://localhost:8080` で、HTTP 入力は `http://localhost:8081` で公開されます。

クローンから作業したい場合（イメージを自分でビルドしたり、テストを実行したりする場合）：

```bash
git clone https://github.com/thirdkeyai/symbiont.git
cd symbiont

# 統合symbiコンテナをビルド
docker build -t symbi:latest .

# 開発環境を実行
docker run --rm -it -v $(pwd):/workspace symbi:latest bash
```

### オプション2：ローカルインストール

ローカル開発の場合：

```bash
# リポジトリをクローン
git clone https://github.com/thirdkeyai/symbiont.git
cd symbiont

# Rustの依存関係をインストールしてビルド
cargo build --release

# インストールを確認するためにテストを実行
cargo test
```

### インストールの確認

すべてが正常に動作することをテストします：

```bash
# DSLパーサーをテスト
cd crates/dsl && cargo run && cargo test

# ランタイムシステムをテスト
cd ../runtime && cargo test

# サンプルエージェントを実行
cargo run --example basic_agent
cargo run --example full_system

# 統合symbi CLIをテスト
cd ../.. && cargo run -- dsl --help
cargo run -- mcp --help

# Dockerコンテナでテスト
docker run --rm symbi:latest --version
docker run --rm -v $(pwd):/workspace symbi:latest dsl parse --help
docker run --rm symbi:latest mcp --help
```

---

## プロジェクト初期化

新しいSymbiontプロジェクトを始める最も速い方法は `symbi init` です：

```bash
symbi init
```

これにより、以下の手順を案内するインタラクティブウィザードが起動します：
- **プロファイル選択**: `minimal`、`assistant`、`dev-agent`、または `multi-agent`
- **SchemaPinモード**: `tofu`（Trust-On-First-Use）、`strict`、または `disabled`
- **サンドボックスティア**: `tier0`（なし、開発専用）、`tier1`（Docker）、`tier2`（gVisor / `runsc`）、または `tier3`（Firecracker microVM）

### `init` が生成するもの

すべての実行で次が書き込まれます：

| ファイル | 目的 |
|------|---------|
| `symbiont.toml` | ランタイムおよびポリシー設定 |
| `policies/default.cedar` | デフォルトで拒否する Cedar ポリシー |
| `agents/*.symbi` | プロファイル固有のエージェント定義（後方互換のため `.dsl` も認識される；`minimal` を除く） |
| `AGENTS.md` | 宣言されたエージェントの自動生成インデックス |
| `.symbiont/audit/` | 改ざん防止監査ログディレクトリ |
| `.gitignore` | `.env` を含む Symbiont 固有のエントリを追記 |
| `.env` | `/dev/urandom` から生成された `SYMBIONT_MASTER_KEY`（パーミッション 0600） |
| `.env.example` | 必要な環境変数を示すコミット可能なテンプレート |
| `docker-compose.yml` | 正しいボリュームマウントと環境変数配線を備えた、すぐに実行可能なコンポーズファイル |

`--no-docker-compose` を渡すとコンポーズファイルをスキップし、`--dir <PATH>` でカレント以外のディレクトリに書き込みます（Docker コンテナ内で実行する場合は必須 — 下記参照）。

### 非インタラクティブモード

CI/CDやスクリプトセットアップの場合：

```bash
symbi init --profile assistant --schemapin tofu --sandbox tier1 --no-interact
```

### Docker 内で `init` を実行する

イメージの WORKDIR は `/var/lib/symbi` であるため、マウントされたボリュームに書き込むには `--dir` を使用します：

```bash
docker run --rm -v $(pwd):/workspace ghcr.io/thirdkeyai/symbi:latest \
  init --profile assistant --no-interact --dir /workspace
```

これにより、ホストのカレントディレクトリに完全なプロジェクトツリーが配置されます。

### プロファイル

| プロファイル | 作成されるもの |
|-------------|--------------|
| `minimal` | `symbiont.toml` + デフォルトCedarポリシー |
| `assistant` | + 単一のガバナンスアシスタントエージェント |
| `dev-agent` | + 安全ポリシー付きCliExecutorエージェント |
| `multi-agent` | + エージェント間ポリシー付きコーディネーター/ワーカーエージェント |

### カタログからのインポート

任意のプロファイルと共にビルド済みエージェントをインポート：

```bash
symbi init --profile minimal --no-interact
symbi init --catalog assistant,dev
```

利用可能なカタログエージェントを一覧：

```bash
symbi init --catalog list
```

初期化後、検証して起動：

```bash
symbi dsl -f agents/assistant.symbi   # エージェントを検証
symbi run assistant -i '{"query": "hello"}'  # 単一エージェントをテスト
symbi up                             # ランタイムをローカルで起動
docker compose up                    # ...または Docker で起動（.env を読み込む）
```

### 単一エージェントの実行

完全なランタイムサーバーを起動せずに単一のエージェントを実行するには `symbi run` を使用します：

```bash
symbi run <agent-name-or-file> --input <json>
```

このコマンドはエージェント名を解決する際に、直接パス、次に `agents/` ディレクトリの順で検索します。環境変数（`OPENROUTER_API_KEY`、`OPENAI_API_KEY`、または `ANTHROPIC_API_KEY`）からクラウド推論をセットアップし、ORGA推論ループを実行して終了します。

```bash
symbi run assistant -i 'Summarize this document'
symbi run agents/recon.symbi -i '{"target": "10.0.1.5"}' --max-iterations 5
```

### テンプレートから始める（`symbi new`）

`symbi init` は汎用的なプロジェクトをスキャフォールドしますが、`symbi new` はタスク指向の複数のテンプレートのいずれかを中心にプロジェクトをスキャフォールドします。必要なエージェント群が決まる前に、必要なエージェントの種類が分かっている場合に便利です。

```bash
symbi new --list                     # 利用可能なテンプレートを表示
symbi new <template> <project-name>  # テンプレートから新しいプロジェクトを作成
```

同梱テンプレート：

| テンプレート | 内容 |
|----------|--------------|
| `webhook-min` | 最小限のWebhook駆動エージェント -- HTTP Input設定とハンドラDSL |
| `webscraper-agent` | Cedarアクセスポリシーと ToolClad スクレイパーツールを備えたスクレイピングエージェント |
| `slm-first` | ルーター + SLM許可リスト + 信頼度フォールバックパターン |
| `rag-lite` | Qdrantベースの取り込みスクリプトと検索エージェント |

`symbi new` と `symbi init` は補完関係にあります。`new` はタスク固有の出発点を提供し、`init`（+ `--catalog`）はガバナンス固有の出発点を提供します。両者を組み合わせることも可能です。`new` でスキャフォールドした後、`symbi init --catalog ...` でカタログから追加の既製エージェントを取り込めます。

---

## 初めてのエージェント

Symbiの基本を理解するために、シンプルなデータ分析エージェントを作成してみましょう。

### 1. エージェント定義の作成

新しいファイル `my_agent.symbi` を作成します：

```rust
metadata {
    version = "1.0.0"
    author = "your-name"
    description = "My first Symbi agent"
}

agent greet_user(name: String) -> String {
    capabilities = ["greeting", "text_processing"]

    policy safe_greeting {
        allow: read(name) if name.length <= 100
        deny: store(name) if name.contains_sensitive_data
        audit: all_operations with signature
    }

    with memory = "ephemeral", privacy = "low" {
        if (validate_name(name)) {
            greeting = format_greeting(name);
            audit_log("greeting_generated", greeting.metadata);
            return greeting;
        } else {
            return "Hello, anonymous user!";
        }
    }
}
```

### 2. エージェントの実行

```bash
# エージェント定義を解析して検証
cargo run -- dsl parse my_agent.symbi

# ランタイムでエージェントを実行
cd crates/runtime && cargo run --example basic_agent -- --agent ../../my_agent.symbi
```

---

## DSLの理解

Symbi DSLには以下のキーコンポーネントがあります：

### メタデータブロック

```rust
metadata {
    version = "1.0.0"
    author = "developer"
    description = "Agent description"
}
```

ドキュメントとランタイム管理のためのエージェントの基本情報を提供します。

### エージェント定義

```rust
agent agent_name(parameter: Type) -> ReturnType {
    capabilities = ["capability1", "capability2"]
    // エージェントの実装
}
```

エージェントのインターフェース、機能、動作を定義します。

### ポリシー定義

```rust
policy policy_name {
    allow: action_list if condition
    deny: action_list if condition
    audit: operation_type with audit_method
}
```

ランタイムで強制される宣言的セキュリティポリシーです。

### 実行コンテキスト

```rust
with memory = "persistent", privacy = "high" {
    // エージェントの実装
}
```

メモリ管理とプライバシー要件のランタイム設定を指定します。

---

## 次のステップ

### サンプルの探索

リポジトリには複数のサンプルエージェントが含まれています：

```bash
# 基本エージェントのサンプル
cd crates/runtime && cargo run --example basic_agent

# 完全なシステムデモ
cd crates/runtime && cargo run --example full_system

# コンテキストとメモリのサンプル
cd crates/runtime && cargo run --example context_example

# RAG強化エージェント
cd crates/runtime && cargo run --example rag_example
```

### 高度な機能の有効化

#### HTTP API（オプション）

```bash
# HTTP API機能を有効化
cd crates/runtime && cargo build --features http-api

# APIエンドポイントで実行
cd crates/runtime && cargo run --features http-api --example full_system
```

**主要APIエンドポイント：**
- `GET /api/v1/health` - ヘルスチェックとシステムステータス
- `GET /api/v1/agents` - リアルタイム実行ステータスを含むすべてのアクティブエージェント一覧
- `GET /api/v1/agents/{id}/status` - 詳細なエージェント実行メトリクスの取得
- `POST /api/v1/workflows/execute` - ワークフローを実行

**新しいエージェント管理機能：**
- リアルタイムプロセス監視とヘルスチェック
- 実行中のエージェントのグレースフルシャットダウン機能
- 包括的な実行メトリクスとリソース使用追跡
- 異なる実行モード（エフェメラル、永続、スケジュール、イベントドリブン）のサポート

#### クラウドLLM推論

OpenRouter経由でクラウドLLMプロバイダーに接続：

```bash
# クラウド推論を有効化
cargo build --features cloud-llm

# APIキーとモデルを設定
export OPENROUTER_API_KEY="sk-or-..."
export OPENROUTER_MODEL="google/gemini-2.0-flash-001"  # オプション
```

#### スタンドアロンエージェントモード

LLM推論を備えたクラウドネイティブエージェントのワンライナー：

```bash
cargo build --features standalone-agent
# 有効化: cloud-llm
```

> **Note:** Composio MCP and SymbiBot integration were removed in this version due to security concerns — see SECURITY_AUDIT.md C3 for context.

#### 高度な推論プリミティブ

ツールキュレーション、スタックループ検出、コンテキストプリフェッチ、スコープ付きコンベンションを有効化：

```bash
cargo build --features orga-adaptive
```

完全なドキュメントは[orga-adaptiveガイド](/orga-adaptive)を参照してください。

#### Cedarポリシーエンジン

Cedarポリシー言語による正式認可。**v1.14.x 以降デフォルトで有効**: 公開されている `symbi` バイナリ（crates.io、Docker、GitHub Release tarball）には Cedar が含まれており、`symbi up` / `symbi run` は起動時に `policies/*.cedar` ファイルから `CedarPolicyGate` を自動配線します。ファイルが存在しない場合、ランタイムはフェイルクローズドな `DefaultPolicyGate` にフォールバックします。Cedar なしでビルドするには（たとえば代わりに `OpaPolicyGateBridge` やカスタム `ReasoningPolicyGate` を配線する場合）、以下を使用します：

```bash
cargo build --no-default-features --features "keychain,vector-lancedb"  # drop cedar
```

#### ベクトルデータベース（組み込み）

SymbiはLanceDBをゼロ設定の組み込みベクトルデータベースとして含んでいます。セマンティック検索とRAGは追加設定なしで動作します -- 別途サービスを起動する必要はありません：

```bash
# RAG機能を持つエージェントを実行（ベクトル検索はそのまま動作）
cd crates/runtime && cargo run --example rag_example

# 高度な検索を使用したコンテキスト管理のテスト
cd crates/runtime && cargo run --example context_example
```

> **最小ビルド:** LanceDBはデフォルトで含まれていますが、より軽量なバイナリのために除外できます: `cargo build --no-default-features`。ランタイムは何もしないベクトルバックエンドへ適切にフォールバックします。
>
> **スケール構成のデプロイ:** Qdrantはオプションのバックエンドとして利用可能です。`--features vector-qdrant` でビルドし、`SYMBIONT_VECTOR_BACKEND=qdrant` を設定してください。

**コンテキスト管理機能：**
- **マルチモーダル検索**: キーワード、時間、類似性、ハイブリッド検索モード
- **重要度計算**: アクセスパターン、最新性、ユーザーフィードバックを考慮した高度なスコアリングアルゴリズム
- **アクセス制御**: エージェントスコープのアクセス制御を備えたポリシーエンジン統合
- **自動アーカイブ**: 圧縮ストレージとクリーンアップを備えた保持ポリシー
- **知識共有**: 信頼スコアを備えた安全なクロスエージェント知識共有

#### フィーチャーフラグリファレンス

| Feature | 説明 | デフォルト |
|---------|------|-----------|
| `keychain` | シークレット用OSキーチェーン統合 | はい |
| `vector-lancedb` | LanceDB組み込みベクトルバックエンド | はい |
| `vector-qdrant` | Qdrant分散ベクトルバックエンド | いいえ |
| `embedding-models` | Candle経由のローカルエンベディングモデル | いいえ |
| `http-api` | Swagger UI付きREST API | いいえ |
| `http-input` | JWT認証付きWebhookサーバー | いいえ |
| `cloud-llm` | クラウドLLM推論（OpenRouter） | いいえ |
| `standalone-agent` | クラウドLLM メタフィーチャー | いいえ |
| `cedar` | Cedarポリシーエンジン — 起動時に `policies/*.cedar` から自動配線 | **Yes** |
| `orga-adaptive` | 高度な推論プリミティブ | いいえ |
| `cron` | 永続cronスケジューリング | いいえ |
| `cli-executor` | ガバナンス対象のAI CLIサブプロセス（Claude Code など） — Mode B | **はい** |
| `native-sandbox` | ネイティブプロセスサンドボックス | いいえ |
| `metrics` | OpenTelemetryメトリクス/トレーシング | いいえ |
| `interactive` | `symbi init` のインタラクティブプロンプト（dialoguer） | デフォルト |
| `full` | オプションのランタイム、ベクトル、ポリシー機能のすべて | いいえ |

```bash
# 特定の機能でビルド
cargo build --features "cloud-llm,orga-adaptive,cedar"

# すべてでビルド
cargo build --features full
```

---

## AIアシスタントプラグイン

Symbiontは、人気のAIコーディングアシスタント向けに、3段階の漸進的な保護ティアを備えたファーストパーティのガバナンスプラグインを提供します：

1. **Awareness**（デフォルト） — 状態を変更するすべてのツール呼び出しを助言的にログ記録
2. **Protection** — ブロッキングフックがローカルの拒否リスト（`.symbiont/local-policy.toml`）を強制
3. **Governance** — `symbi` がPATH上にある場合にCedarポリシー評価を実行

拒否リストの設定はツール非依存です — 同じ `.symbiont/local-policy.toml` が両方のプラグインで機能します：

```toml
[deny]
paths = [".env", ".ssh/", ".aws/"]
commands = ["rm -rf", "git push --force"]
branches = ["main", "master", "production"]
```

### Claude Code

```bash
# マーケットプレイスからインストール
/plugin marketplace add https://github.com/thirdkeyai/symbi-claude-code

# 利用可能なスキル: /symbi-init, /symbi-policy, /symbi-verify, /symbi-audit, /symbi-dsl
```

詳細は [symbi-claude-code](https://github.com/thirdkeyai/symbi-claude-code) を参照してください。

#### Mode B: ガバナンス対象のClaude Codeサブプロセス

エディタ内フックに加えて、Symbiontは Claude Code を*ガバナンス対象のサブプロセス*として実行できます — これが「Mode B」（ORGA管理）パスです。メタデータで `executor = "claude_code"` を宣言したエージェントは、LLM推論ループの代わりに、ランタイムの `CliExecutor` の下で Claude Code をスポーンして実行されます。同梱の `code_reviewer` エージェントがリファレンス例です：

```bash
# ガバナンス対象のClaude Codeサブプロセスで作業ツリーをレビュー
symbi run code_reviewer --target /path/to/repo

# 境界: --max-turns が主要な（協調的な）制限であり、--budget-timeout は
# ハードな実時間バックストップ（グレースフルな SIGTERM -> SIGKILL）です。
symbi run code_reviewer --target . --max-turns 12 --budget-timeout 15m
```

各実行で Symbiont は以下を行います：

- スポーンをポリシー**Gate**を通じて評価します（フェイルクローズド — Cedar ポリシーで許可するか、ローカル開発では `SYMBI_INSECURE_ALLOW_ALL=1` を使用）；
- env ハンドシェイク（`SYMBIONT_MANAGED=true`、`SYMBIONT_SESSION_ID`、`SYMBIONT_BUDGET_TOKENS`、`SYMBIONT_BUDGET_TIMEOUT`、`CLAUDE_PROJECT_DIR`）を設定し、symbi-claude-code プラグインがそのフックを外側の Gate に**委譲**するようにします；
- `--plugin-dir` でプラグインを読み込み、`--mcp-config --strict-mcp-config` を介して stdio の `symbi mcp` バックチャネルを配線します；
- Claude Code をヘッドレスで実行します（`--print --output-format json --permission-mode dontAsk`）。

| Variable / flag | 目的 | デフォルト |
|---|---|---|
| `SYMBIONT_CLAUDE_PLUGIN_DIR` | symbi-claude-code プラグインへのパス | 兄弟リポジトリを自動検出 |
| `--plugin-dir` | 1回の実行に対してプラグインパスを上書き | — |
| `--target` | 操作対象の作業ディレクトリ | カレントディレクトリ |
| `--max-turns` | 主要な協調的境界（エージェントターン） | 12 |
| `--budget-timeout` | 実時間バックストップ、例: `15m` / `900s` | 15m |
| `--budget-tokens` | サブプロセスに渡されるトークン予算のヒント（認識用） | 100000 |

> **認証:** サブプロセスは Claude Code 自身の認証を使用します — ログイン済みのセッション（`claude /login`）または `ANTHROPIC_API_KEY`。`cli-executor` フィーチャーはデフォルトで有効です。

### Gemini CLI

```bash
# 拡張機能をインストール
gemini extensions install https://github.com/thirdkeyai/symbi-gemini-cli
```

Gemini CLI拡張機能は、`excludeTools` マニフェストによるブロッキングと、プラットフォームレベルでのネイティブ `policies/*.toml` 強制を通じて、追加の多層防御を提供します。

詳細は [symbi-gemini-cli](https://github.com/thirdkeyai/symbi-gemini-cli) を参照してください。

---

## 設定

### 環境変数

最適なパフォーマンスのために環境を設定します：

```bash
# 必須：永続状態の暗号化に使用される 32 バイトの 16 進数キー。
# 生成方法: openssl rand -hex 32
# `symbi init` は自動的に .env に書き込みます。
export SYMBIONT_MASTER_KEY="..."

# 基本設定
export SYMBI_LOG_LEVEL=info
export SYMBI_RUNTIME_MODE=development

# ベクトル検索は組み込みのLanceDBバックエンドでそのまま動作します。
# 代わりにQdrantを使用する場合（オプション、`vector-qdrant` フィーチャーを有効化）：
# export SYMBIONT_VECTOR_BACKEND=qdrant
# export QDRANT_URL=http://localhost:6333

# MCP統合（オプション）
export MCP_SERVER_URLS="http://localhost:8080"
```

#### セキュリティ関連の環境変数（v1.13.0 監査後）

| 変数 | デフォルト | 効果 |
|---|---|---|
| `SYMBI_INSECURE_ALLOW_ALL` | 未設定 | `1` に設定すると、`symbi up` / `symbi run` が許可的ポリシーゲート（すべてのツール呼び出しと委任が許可される）を使用します。`--insecure-allow-all` フラグと同等です。目立つ stderr バナーが表示されます。**ローカル開発専用です。** これがない場合、推論ループはフェイルクローズで、明示的なポリシーバックエンドが配線されるまでツール呼び出しと委任を拒否します。 |
| `SYMBI_REJECT_LEGACY_API_KEYS` | 未設定 | `1` に設定すると、API キーバリデータがプレフィックスなしキー向けの非推奨 O(n) Argon2 スキャンを短絡します。すべてのキーを `keyid.secret` フォーマットで再発行した直後に使用してください。レガシーパスは次のマイナーリリースでいずれにせよ削除されます。 |
| `SYMBI_UNSAFE_NATIVE_SANDBOX` | 未設定 | `native` サンドボックスランナーを構築するために必須です（`SYMBI_ENV=production` が設定されていないことに加えて）。`native-sandbox` Cargo フィーチャーもリリースビルドではコンパイルに失敗します。ネイティブランナーは隔離を一切提供せず、ローカルデバッグのみを意図しています。 |
| `SYMBI_TRUSTED_PROXIES` | 未設定 | 信頼されたリバースプロキシ用 CIDR 許可リスト。`X-Forwarded-For` はこれらのアドレスからのみ尊重されます。 |

以下の環境変数は**削除**されました：

- `SYMBIONT_ALLOW_NO_JWT_AUDIENCE` — JWT 検証器は常に `aud` を必須とします。（v1.13.0 監査後に削除。安全でないエスケープハッチでした。）
- `COMPOSIO_API_KEY`、`COMPOSIO_MCP_URL` — Composio MCP 統合は完全に削除されました。`SECURITY_AUDIT.md` C3 を参照してください。

### ランタイム設定

`symbi.toml` 設定ファイルを作成します：

```toml
[runtime]
max_agents = 1000
memory_limit_mb = 512
execution_timeout_seconds = 300

[security]
default_sandbox_tier = "docker"
audit_enabled = true
policy_enforcement = "strict"

[vector_db]
enabled = true
backend = "lancedb"              # デフォルト；"qdrant" もサポート
collection_name = "symbi_knowledge"
# url = "http://localhost:6333"  # backend = "qdrant" の場合のみ必要
```

---

## よくある問題

### Dockerの問題

**問題**：Dockerビルドが権限エラーで失敗
```bash
# 解決策：Dockerデーモンが実行中で、ユーザーに権限があることを確認
sudo systemctl start docker
sudo usermod -aG docker $USER
```

**問題**：コンテナがすぐに終了する
```bash
# 解決策：Dockerログを確認
docker logs <container_id>
```

### Rustビルドの問題

**問題**：Cargoビルドが依存関係エラーで失敗
```bash
# 解決策：Rustを更新してビルドキャッシュをクリア
rustup update
cargo clean
cargo build
```

**問題**：システム依存関係が不足
```bash
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install build-essential pkg-config libssl-dev

# macOS
brew install pkg-config openssl
```

### ランタイムの問題

**問題**：エージェントの開始に失敗
```bash
# エージェント定義の構文を確認
cargo run -- dsl parse your_agent.symbi

# デバッグログを有効化
RUST_LOG=debug cd crates/runtime && cargo run --example basic_agent
```

---

## ヘルプの取得

### ドキュメント

- **[DSLガイド](/dsl-guide)** - 完全なDSLリファレンス
- **[ランタイムアーキテクチャ](/runtime-architecture)** - システムアーキテクチャの詳細
- **[セキュリティモデル](/security-model)** - セキュリティとポリシーのドキュメント

### コミュニティサポート

- **Issues**: [GitHub Issues](https://github.com/thirdkeyai/symbiont/issues)
- **ディスカッション**: [GitHub Discussions](https://github.com/thirdkeyai/symbiont/discussions)
- **ドキュメント**: [完全なAPIリファレンス](https://docs.symbiont.dev/api-reference)

### デバッグモード

トラブルシューティングのため、詳細ログを有効化します：

```bash
# デバッグログを有効化
export RUST_LOG=symbi=debug

# 詳細出力で実行
cd crates/runtime && cargo run --example basic_agent 2>&1 | tee debug.log
```

---

## 次は何ですか？

Symbiが動作するようになったので、これらの高度なトピックを探索してください：

1. **[DSLガイド](/dsl-guide)** - 高度なDSL機能を学ぶ
2. **[推論ループガイド](/reasoning-loop)** - ORGAサイクルを理解する
3. **[高度な推論 (orga-adaptive)](/orga-adaptive)** - ツールキュレーション、スタックループ検出、プリハイドレーション
4. **[ランタイムアーキテクチャ](/runtime-architecture)** - システム内部を理解する
5. **[セキュリティモデル](/security-model)** - セキュリティポリシーを実装する
6. **[コントリビューション](/contributing)** - プロジェクトに貢献する

素晴らしいものを構築する準備はできましたか？[サンプルプロジェクト](https://github.com/thirdkeyai/symbiont/tree/main/crates/runtime/examples)から始めるか、[完全な仕様](/dsl-specification)に深く入り込んでみてください。
