본문으로 건너뛰기

YAML 설정 레퍼런스

Sinaptic® DROID+는 두 가지 유형의 YAML 설정 파일을 사용합니다.

  1. 메인 설정 (droid.yaml) — 글로벌 서버, LLM, 보안 및 로깅 설정
  2. 에이전트 설정 (configs/agents/*.yaml) — 에이전트별 모델, 페르소나, 도구 및 동작 설정

모든 설정 값은 ${ENV_VAR} 치환을 지원합니다. Sinaptic® DROID+는 시작 시 환경 변수를 해석합니다.


메인 설정 (droid.yaml)

edition (에디션)

설명
community무료 에디션, 최대 에이전트 2개, RegExp 기반 보안만 제공 (기본값)
pro에이전트 무제한, 전체 SinapticAI 보안 계층 제공
enterprise멀티테넌시, 컴플라이언스, 고가용성(HA) 제공

server (서버)

필드타입기본값설명
openai_portint8080OpenAI 호환 API 포트
management_portint8081관리 API 포트
cors_origins[]string["*"]허용된 CORS 오리진
api_keystring인증을 위한 API 키 (${ENV_VAR} 지원)
demo_modeboolfalse데모 모드 활성화

llm

기본 LLM 제공업체 설정입니다.

필드타입기본값설명
providerstringopenaiLLM 제공업체 이름 (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp)
base_urlstringhttps://api.openai.com/v1API 베이스 URL
api_keystring${OPENAI_API_KEY}API 키 (${ENV_VAR} 지원)
default_modelstringgpt-4o-mini기본 모델 이름

anthropic

필드타입기본값설명
base_urlstringhttps://api.anthropic.comAnthropic API 베이스 URL
api_keystring${ANTHROPIC_API_KEY}API 키

gemini

필드타입기본값설명
base_urlstringhttps://generativelanguage.googleapis.com/v1betaGemini API 베이스 URL
api_keystring${GEMINI_API_KEY}API 키

grok

필드타입기본값설명
base_urlstringhttps://api.x.ai/v1Grok (xAI) API 베이스 URL
api_keystring${GROK_API_KEY}API 키

ollama

필드타입기본값설명
base_urlstringhttp://localhost:11434/v1Ollama API 베이스 URL

lm_studio

필드타입기본값설명
base_urlstringhttp://localhost:1234/v1LM Studio API 베이스 URL

llama_cpp

필드타입기본값설명
base_urlstringhttp://localhost:8080/v1llama.cpp 서버 베이스 URL

embedding (임베딩)

필드타입기본값설명
modelstringtext-embedding-3-small임베딩 모델 이름
base_urlstring(llm.base_url 사용)임베딩 API 베이스 URL
api_keystring(llm.api_key 사용)임베딩 API 키

sinaptic

SinapticAI 보안 계층 설정입니다.

필드타입기본값설명
enabledbooltrueSinapticAI 보안 스캐닝 활성화
modestringblock위협 감지 시 동작: block 또는 log
log_blockedbooltrue차단된 요청 로깅 여부

sinaptic.pii

필드타입기본값설명
enabledbooltruePII(개인 식별 정보) 감지 활성화
strategystringmaskPII 처리 전략: 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}"
필드타입설명
serversmap명명된 MCP 서버 정의

서버별 설정:

필드타입설명
commandstringMCP 서버를 실행할 명령
args[]string명령 인자
envmap[string]string서버 프로세스를 위한 환경 변수

logging (로깅)

필드타입기본값설명
levelstringinfo로그 레벨 (debug, info, warn, error)
formatstringjson로그 형식 (json 또는 text)

audit (감사)

필드타입기본값설명
enabledboolfalse감사 로그 활성화
log_pathstring./logs/audit감사 로그 파일 경로
retention_daysint30감사 로그 보관 일수

branding (브랜딩)

필드타입기본값설명
show_badgebool(자동)"Powered by Sinaptic® DROID+" 배지 표시 여부. 자동: community 에디션은 true, pro/enterprise는 false

최상위 경로

필드타입기본값설명
data_dirstring./data런타임 데이터 디렉토리 (임베딩, 상태 등)
agents_dirstring./configs/agents에이전트 YAML 설정이 포함된 디렉토리

에이전트 설정 (configs/agents/*.yaml)

최상위 필드

필드타입필수 여부기본값설명
namestring(파일명)고유 에이전트 식별자
descriptionstring아니요사람이 읽을 수 있는 설명
modelobjectLLM 모델 설정
personalitystring에이전트를 위한 시스템 프롬프트
agent_typestring아니요plain처리 루프: plain 또는 react
execution_modestring아니요sequential도구 실행 방식: sequential 또는 parallel
chain_of_thoughtbool아니요falseChain-of-thought 추론 활성화
max_iterationsint아니요10ReAct 루프 최대 반복 횟수
tool_timeoutstring아니요30s도구 호출의 기본 타임아웃

model

필드타입기본값설명
namestring모델 이름 (예: gpt-4o, claude-sonnet-4-20250514)
base_urlstring(메인 설정에서 상속)LLM API 베이스 URL 오버라이드
api_keystring(메인 설정에서 상속)API 키 오버라이드
max_tokensint1024응답 최대 토큰 수
temperaturefloat0.7샘플링 온도 (0-2)

memory.short_term (단기 메모리)

필드타입기본값설명
max_messagesint50슬라이딩 윈도우 방식의 대화 기록 크기

rag

필드타입기본값설명
enabledboolfalseRAG(검색 증강 생성) 활성화
top_kint3검색할 청크 개수
min_scorefloat0.7최소 유사도 점수 임계값

도구 (tools)

도구 설정 배열입니다.

필드타입필수 여부설명
namestring도구 식별자
descriptionstring아니요도구 설명 (LLM에게 표시됨)
typestring도구 유형: mcp, rest_api
urlstringrest_api엔드포인트 URL
methodstringrest_apiHTTP 메서드 (GET, POST, PUT, DELETE)
headersmaprest_apiHTTP 헤더
timeoutstringrest_api요청 타임아웃 (예: 10s)

pipeline (파이프라인)

멀티 LLM 파이프라인 단계입니다(선택 사항). 정의된 경우 요청이 각 단계를 순차적으로 통과합니다.

필드타입필수 여부설명
namestring단계 식별자
modelobject이 단계를 위한 모델 설정
personalitystring이 단계를 위한 시스템 프롬프트

spawns (스폰)

에이전트 간 호출(A2A) 설정입니다.

필드타입기본값설명
max_spawnsint5요청당 최대 서브 에이전트 호출 횟수 (0 = 무제한)
max_tokens_per_spawnint4096스폰된 호출당 토큰 예산
max_depthint3최대 재귀 깊이
allowed_agents[]string[] (전체)스폰 가능한 에이전트 화이트리스트
spawn_timeout_secsint60스폰된 호출당 타임아웃(초)

rate_limit (요청 속도 제한)

필드타입기본값설명
requests_per_minuteint0 (무제한)분당 최대 요청 횟수

sinaptic

에이전트별 SinapticAI 설정 오버라이드입니다.

필드타입기본값설명
enabledbool(글로벌 설정 상속)글로벌 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"]