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

OpenClaw 작업 공간 구성: 두 달 사용 후 얻은 교훈
Guides

OpenClaw 작업 공간 구성: 두 달 사용 후 얻은 교훈

OpenClaw 개발자의 경험에 따르면 작업 공간 품질이 에이전트 성능에 5-10배 영향을 미치며, SOUL.md, AGENTS.md, MEMORY.md, USER.md 및 스킬 구성에 대한 구체적인 지침이 제공됩니다.

OpenClawRadar
안전한 OpenClaw 업그레이드를 위한 카나리 인스턴스 설정
Guides

안전한 OpenClaw 업그레이드를 위한 카나리 인스턴스 설정

레딧 사용자가 프로덕션 환경에 적용하기 전 OpenClaw 업그레이드를 테스트하기 위한 상세한 카나리 방법론을 공유합니다: 격리된 설정 루트, 별도 포트, 스모크 테스트 매트릭스, 구조화된 업그레이드 보고서 형식.

OpenClawRadar
레딧 사용자가 일관된 AI 코딩 지원을 위한 실용적인 클로드 설정 공유
Guides

레딧 사용자가 일관된 AI 코딩 지원을 위한 실용적인 클로드 설정 공유

한 개발자가 단일 프롬프트에서 분리된 컨텍스트 파일(about-me.md, my-voice.md, my-rules.md)로 전환하고, 클로드가 컨텍스트를 읽고 질문을 하며 계획을 세운 후 작업을 실행하는 구조화된 워크플로우를 구현한 경험을 설명합니다.

OpenClawRadar
iCloud 동기화를 통해 iPhone 사진을 Cowork으로 보내는 iOS 단축어 해결 방법
Guides

iCloud 동기화를 통해 iPhone 사진을 Cowork으로 보내는 iOS 단축어 해결 방법

개발자가 'PhoPo'라는 iOS 단축어를 만들어 아이폰 사진을 JPEG로 변환하고 크기를 조정한 후 Cowork이 접근할 수 있는 iCloud 동기화 폴더에 저장함으로써, Claude가 모바일 기기의 스크린샷과 사진을 분석할 수 있도록 했습니다.

OpenClawRadar