YAML 設定リファレンス
Sinaptic® DROID+ は、2種類の YAML 設定ファイルを使用します。
- メイン設定 (
droid.yaml) — サーバー、LLM、セキュリティ、ロギングに関するグローバル設定 - エージェント設定 (
configs/agents/*.yaml) — エージェントごとのモデル、パーソナリティ、ツール、動作の設定
すべての設定値は ${ENV_VAR} による置換をサポートしています。Sinaptic® DROID+ は起動時に環境変数を解決します。
メイン設定 (droid.yaml)
edition (エディション)
| 値 | 説明 |
|---|---|
community | 無料版。最大エージェント数2、RegExp ベースのセキュリティのみ(デフォルト) |
pro | エージェント数無制限、フル機能の SinapticAI セキュリティスタック |
enterprise | マルチテナンシー、コンプライアンス対応、高可用性 (HA) |
server (サーバー)
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
openai_port | int | 8080 | OpenAI 互換 API 用のポート |
management_port | int | 8081 | 管理 API 用のポート |
cors_origins | []string | ["*"] | 許可される CORS オリジン |
api_key | string | — | 認証用の API キー(${ENV_VAR} をサポート) |
demo_mode | bool | false | デモモードを有効にする |
llm
主要な LLM プロバイダーの設定。
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
provider | string | openai | LLM プロバイダー名 (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp) |
base_url | string | https://api.openai.com/v1 | API ベース URL |
api_key | string | ${OPENAI_API_KEY} | API キー(${ENV_VAR} をサポート) |
default_model | string | gpt-4o-mini | デフォルトのモデル名 |
anthropic
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
base_url | string | https://api.anthropic.com | Anthropic API ベース URL |
api_key | string | ${ANTHROPIC_API_KEY} | API キー |
gemini
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
base_url | string | https://generativelanguage.googleapis.com/v1beta | Gemini API ベース URL |
api_key | string | ${GEMINI_API_KEY} | API キー |
grok
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
base_url | string | https://api.x.ai/v1 | Grok (xAI) API ベース URL |
api_key | string | ${GROK_API_KEY} | API キー |
ollama
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
base_url | string | http://localhost:11434/v1 | Ollama API ベース URL |
lm_studio
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
base_url | string | http://localhost:1234/v1 | LM Studio API ベース URL |
llama_cpp
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
base_url | string | http://localhost:8080/v1 | llama.cpp サーバーベース URL |
embedding (エンベディング)
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
model | string | text-embedding-3-small | エンベディングモデル名 |
base_url | string | (llm.base_url を使用) | エンベディング API ベース URL |
api_key | string | (llm.api_key を使用) | エンベディング API キー |
sinaptic
SinapticAI セキュリティレイヤーの設定。
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
enabled | bool | true | SinapticAI セキュリティスキャンを有効にする |
mode | string | block | 脅威検知時のアクション: block (ブロック) または log (ログのみ) |
log_blocked | bool | true | ブロックされたリクエストをログに記録する |
sinaptic.pii
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
enabled | bool | true | PII (個人情報) 検知を有効にする |
strategy | string | mask | PII 取り扱い戦略: mask (マスク) または block (ブロック) |
mcp
Model Context Protocol (MCP) ツールサーバーの設定。
mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
| フィールド | 型 | 説明 |
|---|---|---|
servers | map | 名前付き MCP サーバーの定義 |
サーバーごとの設定:
| フィールド | 型 | 説明 |
|---|---|---|
command | string | MCP サーバーを起動するコマンド |
args | []string | コマンド引数 |
env | map[string]string | サーバープロセス用の環境変数 |
logging (ロギング)
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
level | string | info | ログレベル (debug, info, warn, error) |
format | string | json | ログ形式 (json または text) |
audit (監査)
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
enabled | bool | false | 監査ログを有効にする |
log_path | string | ./logs/audit | 監査ログファイルの保存先パス |
retention_days | int | 30 | 監査ログの保持日数 |
branding (ブランディング)
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
show_badge | bool | (自動) | "Powered by Sinaptic® DROID+" バッジを表示する。自動設定: community は true、pro/enterprise は false |
トップレベルパス
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
data_dir | string | ./data | ランタイムデータの保存ディレクトリ(エンベディング、状態など) |
agents_dir | string | ./configs/agents | エージェントの YAML 設定ファイルを含むディレクトリ |
エージェント設定 (configs/agents/*.yaml)
トップレベルフィールド
| フィールド | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
name | string | はい | (ファイル名) | エージェントの一意の識別子 |
description | string | いいえ | — | 人間が読める説明 |
model | object | はい | — | LLM モデルの設定 |
personality | string | はい | — | エージェント用のシステムプロンプト |
agent_type | string | いいえ | plain | 処理ループの種類: plain または react |
execution_mode | string | いいえ | sequential | ツールの実行方式: sequential または parallel |
chain_of_thought | bool | いいえ | false | Chain-of-thought (思考の連鎖) 推論を有効にする |
max_iterations | int | いいえ | 10 | ReAct ループの最大反復回数 |
tool_timeout | string | いいえ | 30s | ツール呼び出しのデフォルトタイムアウト |
model
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
name | string | — | モデル名 (例: gpt-4o, claude-sonnet-4-20250514) |
base_url | string | (メイン設定から継承) | LLM API ベース URL を上書きする |
api_key | string | (メイン設定から継承) | API キーを上書きする |
max_tokens | int | 1024 | 応答の最大トークン数 |
temperature | float | 0.7 | サンプリング温度 (0-2) |
memory.short_term (短期メモリ)
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
max_messages | int | 50 | スライディングウィンドウ方式の会話履歴サイズ |
rag
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
enabled | bool | false | RAG (検索拡張生成) を有効にする |
top_k | int | 3 | 取得するチャンク数 |
min_score | float | 0.7 | 最小類似度スコアのしきい値 |
tools (ツール)
ツール設定の配列。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | はい | ツールの識別子 |
description | string | いいえ | ツールの説明 (LLM に提示されます) |
type | string | はい | ツールの種類: mcp, rest_api |
url | string | rest_api | エンドポイントの URL |
method | string | rest_api | HTTP メソッド (GET, POST, PUT, DELETE) |
headers | map | rest_api | HTTP ヘッダー |
timeout | string | rest_api | リクエストタイムアウト (例: 10s) |
pipeline (パイプライン)
マルチ LLM パイプラインのステップ(オプション)。定義されている場合、リクエストは各ステップを順番に通過します。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | はい | ステップの識別子 |
model | object | はい | このステップで使用するモデル設定 |
personality | string | はい | このステップ用のシステムプロンプト |
spawns (スポーン)
エージェント間 (A2A) 呼び出しの設定。
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
max_spawns | int | 5 | リクエストあたりの最大サブエージェント呼び出し数 (0 = 無制限) |
max_tokens_per_spawn | int | 4096 | スポーンされた呼び出しあたりのトークン予算 |
max_depth | int | 3 | 最大再帰深度 |
allowed_agents | []string | [] (すべて) | スポーンを許可するエージェントのホワイトリスト |
spawn_timeout_secs | int | 60 | スポーンされた呼び出しあたりのタイムアウト(秒) |
rate_limit (レート制限)
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
requests_per_minute | int | 0 (無制限) | 1分あたりの最大リクエスト数 |
sinaptic
エージェントごとの SinapticAI 設定の上書き。
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
enabled | bool | (グローバルから継承) | グローバルの SinapticAI 有効化フラグを上書きする |
完全な例
droid.yaml
edition: community
server:
openai_port: 8080
management_port: 8081
cors_origins: ["*"]
llm:
provider: openai
base_url: https://api.openai.com/v1
api_key: ${OPENAI_API_KEY}
default_model: gpt-4o-mini
anthropic:
api_key: ${ANTHROPIC_API_KEY}
embedding:
model: text-embedding-3-small
sinaptic:
enabled: true
mode: block
pii:
enabled: true
strategy: mask
log_blocked: true
logging:
level: info
format: json
audit:
enabled: false
log_path: ./logs/audit
retention_days: 30
data_dir: ./data
agents_dir: ./configs/agents
configs/agents/support-bot.yaml
name: support-bot
description: RAG とツールを備えたカスタマーサポートエージェント
model:
name: gpt-4o
max_tokens: 2048
temperature: 0.5
personality: |
あなたは親切なカスタマーサポートエージェントです。
常に丁寧、簡潔、かつ正確に対応してください。
agent_type: react
execution_mode: parallel
chain_of_thought: true
max_iterations: 5
tool_timeout: 15s
memory:
short_term:
max_messages: 100
rag:
enabled: true
top_k: 5
min_score: 0.6
tools:
- name: lookup-order
type: rest_api
description: 注文 ID で注文ステータスを確認します
url: https://api.example.com/orders/${order_id}
method: GET
headers:
Authorization: "Bearer ${INTERNAL_API_KEY}"
timeout: 10s
rate_limit:
requests_per_minute: 60
spawns:
max_spawns: 3
max_depth: 2
allowed_agents: ["billing-agent", "shipping-agent"]