OpenClaw + Ollama 로컬 모델 타임아웃 디버깅: 침묵하는 실패를 해결하는 다섯 가지 방법

✍️ OpenClawRadar📅 게시일: April 15, 2026🔗 Source
OpenClaw + Ollama 로컬 모델 타임아웃 디버깅: 침묵하는 실패를 해결하는 다섯 가지 방법
Ad

문제: 로컬 Ollama 모델에서 OpenClaw 에이전트가 자동으로 실패함

개발자가 M4 Max Mac Studio에서 Ollama 0.20.2와 Gemma 4 26B-A4B Q8_0 모델을 사용하여 OpenClaw 2026.4.2를 디버깅하는 동안, ollama run을 통해 모델이 즉시 작동함에도 불구하고 /new 명령 후 에이전트가 응답하지 않는 문제를 발견했습니다. 로그에는 오류가 나타나지 않았으며, 에이전트는 타이핑 표시기를 보여주지 않았습니다.

근본 원인 및 해결 방법

  • 근본 원인 #1: 슬러그 생성기 블로킹: OpenClaw의 session-memory 훅은 15초 고정 타임아웃으로 Ollama에 요청을 보내는 슬러그 생성기를 실행합니다. 모델이 OpenClaw의 시스템 프롬프트를 제시간에 처리하지 못하면, OpenClaw는 요청을 포기하지만 Ollama는 계속 처리하여 후속 에이전트 요청을 차단합니다.
    해결 방법: openclaw hooks disable session-memory
  • 근본 원인 #2: 큰 시스템 프롬프트: OpenClaw는 요청당 약 38,500자의 시스템 프롬프트(신원, 도구, 부트스트랩 파일)를 주입합니다. 로컬 모델은 프리필 단계에 40-60초가 필요합니다.
    해결 방법: 부트스트랩 주입을 건너뛰고 문자 수를 제한하도록 설정에 추가:
    { "agents": { "defaults": { "skipBootstrap": true, "bootstrapTotalMaxChars": 500 } } }
    이렇게 하면 프롬프트가 ~19K 문자로 줄어듭니다.
  • 근본 원인 #3: 숨겨진 유휴 타임아웃: OpenClaw는 DEFAULT_LLM_IDLE_TIMEOUT_MS를 60초로 설정합니다. 모델이 이 시간 내에 첫 번째 토큰을 생성하지 않으면 연결을 종료하고 대체 모델(예: Claude Sonnet)로 자동 전환됩니다.
    해결 방법: 문서화되지 않은 설정 키를 설정:
    { "agents": { "defaults": { "llm": { "idleTimeoutSeconds": 300 } } } }
  • 근본 원인 #4: Ollama 직렬 처리: Ollama는 요청을 직렬로 처리하므로, 포기된 슬러그 생성기 요청이 처리 슬롯을 점유할 수 있습니다.
    해결 방법: Ollama plist/서비스 설정에 추가: OLLAMA_NUM_PARALLEL=4
  • 근본 원인 #5: 사고 모드 지연: Gemma 4는 기본적으로 첫 번째 토큰 전에 20-30초를 추가하는 사고/추론 단계를 사용합니다.
    해결 방법: 설정에서 비활성화:
    { "agents": { "defaults": { "thinkingDefault": "off" } } }
Ad

완전한 작동 구성

개발자가 작동하는 설정을 위한 완전한 구성을 제공했습니다:

{ "agents": { "defaults": { "model": { "primary": "ollama/gemma4:26b-a4b-it-q8_0", "fallbacks": ["anthropic/claude-sonnet-4-6"] }, "thinkingDefault": "off", "timeoutSeconds": 600, "skipBootstrap": true, "bootstrapTotalMaxChars": 500, "llm": { "idleTimeoutSeconds": 300 } } } }

또한, 요청 간 언로딩을 방지하기 위해 모델을 메모리에 고정하세요:

curl http://localhost:11434/api/generate -d '{"model":"gemma4:26b-a4b-it-q8_0","keep_alive":-1,"options":{"num_ctx":16384}}'

결과 및 절충점

해결 방법을 적용한 후, /new 후 첫 번째 메시지는 시스템 프롬프트 프리필로 인해 약 60초가 소요되며, 이는 로컬 모델에 불가피한 것으로 설명됩니다. 후속 메시지는 Ollama가 KV 상태를 캐시하기 때문에 빠릅니다. 이 설정은 31GB VRAM, 100% GPU, 16K 컨텍스트 창을 사용하며, 완전히 로컬에서 실행되어 API 비용이 전혀 들지 않습니다.

초기 지연은 완전한 로컬 운영, 개인 정보 보호, 비용 없음을 위한 절충점입니다. 개발자는 이러한 요소가 우선순위라면 이 방법이 가치 있다고 언급했습니다.

📖 전체 소스 읽기: r/LocalLLaMA

Ad

👀 See Also

Claude를 사용하여 쓰기 패턴을 분석하여 맞춤형 지침을 개선하기
Guides

Claude를 사용하여 쓰기 패턴을 분석하여 맞춤형 지침을 개선하기

레딧 사용자가 주관적인 어조 설명에 의존하기보다는 구두점 회피와 비유 출처와 같은 구체적인 패턴을 식별하기 위해 클로드가 10개의 글쓰기 샘플을 분석하도록 하는 방법을 통해 더 효과적인 맞춤 지침을 만드는 방법을 설명했습니다.

OpenClawRadar
작은 모델 평가 프롬프트가 어떻게 오해를 불러일으키는지와 그 해결 방법
Guides

작은 모델 평가 프롬프트가 어떻게 오해를 불러일으키는지와 그 해결 방법

레딧(Reddit) 게시물에 따르면, 소규모 모델 평가 프롬프트는 종종 트랜스포머의 잘못된 인지 경로를 활성화시켜 오해의 소지가 있는 결과를 낳는다고 설명합니다. 특히 세 가지 뚜렷한 모드, 즉 사실 회상, 응용/지시 따르기, 감정/공감 추론을 식별합니다.

OpenClawRadar
에이전트 기술 안전성 평가: 설치 전 주요 고려사항
Guides

에이전트 기술 안전성 평가: 설치 전 주요 고려사항

새로운 에이전트 스킬을 설치하면 기능을 향상시킬 수 있지만 위험도 따릅니다. 시스템을 보호하기 위해 이러한 스킬의 안전성을 평가하는 방법을 알아보세요.

OpenClawRadar
클로드 코드 사용을 통한 실용적인 프롬프트 엔지니어링 교훈
Guides

클로드 코드 사용을 통한 실용적인 프롬프트 엔지니어링 교훈

프로젝트 매니저가 Claude Code 결과를 개선한 구체적인 기법을 공유합니다: 2단계 프롬프팅, 단일 목표 프롬프트, 그리고 매우 구체적인 역할 정의.

OpenClawRadar