본문으로 건너뛰기

병렬 실행

여러 LLM에 동시 질의하여 다양한 관점을 수집하는 기능입니다.

개요

병렬 실행은 OpenCode, Gemini, Kilo 등 외부 LLM에게 동시에 질의하여 시간을 절약하고 다양한 관점을 수집합니다.

핵심 원칙:

  • 외부 LLM은 참고용, 최종 결정은 Claude 우선
  • 미설치 시 안내 메시지만 출력 (에러 아님)
  • 모든 결과는 로그에 저장

지원 LLM

LLM모델특징
OpenCodeGLM-4.7무료, 고품질, 컨텍스트 제한 없음
GeminiGemini-3-Pro빠른 응답, 안정적
KiloClaude Sonnet 4.5Claude API 기반, 코드 특화

동작 흐름

[질문 시 - UserPromptSubmit Hook]
사용자 질문 입력

환경 검증 (Git, .env, Docker)

[parallel=true] ──┬─→ OpenCode 요청 ─┬─→ 결과 표시
├─→ Gemini 요청 ──┤
└─→ Kilo 요청 ──┘

Claude 응답 시작

[파일 수정 시 - PostToolUse Hook]
Claude 파일 수정 완료

보안/품질 검사 (SQL Injection, XSS 등)

[on_file_edit=true] 외부 LLM 더블체크

결과 출력 + 로그 저장

설정

.claude/config/default.json:

{
"multi_llm": {
"execution": {
"mode": "parallel",
"parallel_limit": 2,
"timeout_seconds": 60,
"show_progress": true
}
}
}

설정 필드

필드설명기본값
mode실행 모드 (parallel / sequential)parallel
parallel_limit최대 동시 실행 수2
timeout_seconds전체 타임아웃60
show_progress진행 상태 표시true

리소스 관리

글로벌 락

동시 실행 수를 제한하여 시스템 부하를 방지합니다.

{
"global_lock": {
"enabled": true,
"lock_file": "/tmp/.multi_llm_global_lock",
"max_wait_seconds": 10
}
}

부하 쓰로틀링

시스템 부하가 높을 때 자동으로 스킵합니다.

{
"load_throttle": {
"enabled": true,
"max_load_average": 10.0,
"skip_on_high_load": true,
"max_memory_percent": 85
}
}

세션 인식

여러 Claude 세션 동시 실행 시 자동 조절합니다.

{
"session_aware": {
"enabled": true,
"max_concurrent_sessions": 2,
"reduce_on_multi_session": true
}
}

트리거 조건

LLM별로 호출 조건을 세밀하게 설정할 수 있습니다.

트리거설명
on_user_prompt사용자 질문 시
on_file_edit파일 수정 시
on_security_warning보안 경고 발생 시
on_protected_folder보호 폴더 접근 시
on_large_change대규모 변경 (50줄+) 시
on_migration마이그레이션 파일 수정 시
on_auth_code인증 관련 코드 수정 시

로그 위치

  • 질문 의견: .claude/custom/reports/opencode-prompts.log
  • 파일 검사: .claude/custom/reports/opencode-checks.log
  • 성능 로그: .claude/custom/reports/llm-performance.log

다음 단계