llama.cpp 대규모 프롬프트 재처리와 코딩 에이전트: KV 캐시 및 컨텍스트 스와핑 디버깅

✍️ OpenClawRadar📅 게시일: May 14, 2026🔗 Source
llama.cpp 대규모 프롬프트 재처리와 코딩 에이전트: KV 캐시 및 컨텍스트 스와핑 디버깅
Ad

r/LocalLLaMA의 한 개발자가 llama-swap을 통해 장문 컨텍스트 코딩 에이전트(opencode + pi.dev)를 실행할 때 llama.cpp에서 심각한 성능 문제를 겪고 있습니다. 프롬프트가 매우 유사한 경우(LCP 유사도가 종종 >0.99)에도 시스템이 주기적으로 KV 캐시를 폐기하고 40k+ 토큰을 재처리하여 TTFT가 수 분에 달합니다.

관찰된 동작

  • 컨텍스트가 50k+ 토큰으로 증가합니다.
  • 여러 번 정상적으로 재사용된 후(예: prompt eval time = 473 ms / 19 tokens), n_past가 갑자기 ~4-5k로 떨어집니다.
  • llama.cpp가 전체 프롬프트를 재처리합니다: n_tokens = 4750 prompt eval time = 222411 ms / 44016 tokens.
  • 캐시 사용량이 4676 MiB에 도달하여 설정된 제한(2500 MiB)을 초과합니다.

현재 설정

llama-server --ctx-size 150000 --parallel 1 --ctx-checkpoints 32 --cache-ram 2500 --cache-reuse 256 -no-kvu --no-context-shift
Ad

의심되는 원인

  • --cache-ram 제한 초과로 인한 캐시 무효화 – 로그에 4676 MiB 사용 vs 2500 MiB 제한.
  • 초기 프롬프트 토큰이 변경될 때(아마 opencode가 자주 변경) 잘못된 KV 재사용 메커니즘.
  • 150k 컨텍스트 크기에 대해 --ctx-checkpoints 또는 --cache-reuse가 불충분.

커뮤니티의 권장 사항

아직 답변이 많지 않지만, 첫 번째 단계로 --cache-ram을 일반적인 사용량(예: 5000+ MiB)에 맞게 늘리거나 --ctx-size를 줄여 캐시 제한 내로 유지하는 것이 포함됩니다. 또한 opencode가 의도적으로 프롬프트 접두사를 변경하는지 확인하십시오. 그렇다면 시스템 프롬프트를 고정하거나 고정된 접두사를 사용하면 재사용이 개선될 수 있습니다.

유사한 설정을 실행하는 개발자는 소스 스레드에서 작업 설정을 공유해 주세요.

📖 전체 소스 읽기: r/LocalLLaMA

Ad

👀 See Also

6GB VRAM 노트북에서 완전 로컬 AI 에이전트 실행하기: 학생들을 위한 단계별 가이드
Tips

6GB VRAM 노트북에서 완전 로컬 AI 에이전트 실행하기: 학생들을 위한 단계별 가이드

학생들이 비싼 API에 의존하지 않고 6GB VRAM 노트북을 활용해 로컬에서 AI 에이전트를 실행하는 방법을 알아보세요. 우리의 가이드는 필수 단계와 도구를 상세히 설명합니다.

OpenClawRadar
예/아니오 흐름: AI 코딩 세션에서 맥락 환각을 줄이는 간단한 기법
Tips

예/아니오 흐름: AI 코딩 세션에서 맥락 환각을 줄이는 간단한 기법

레딧 사용자가 AI 대화에서 일관성을 유지하기 위한 Yes Flow/No Flow 기법을 공유합니다. 이 기법은 수정을 쌓아올리기보다 프롬프트를 재작성하여 장기 코딩 세션 중 컨텍스트 붕괴와 환각을 줄이는 데 도움을 줍니다.

OpenClawRadar
설정 롤백 감시 게이트웨이: 상태 확인과 자동 롤백 결합
Tips

설정 롤백 감시 게이트웨이: 상태 확인과 자동 롤백 결합

Reddit 사용자가 포트 장애 시 OpenClaw 게이트웨이를 재시작하고, 5번 연속 시작 실패 시 구성을 자동 롤백하는 감시 프로세스를 제안했습니다. 잘못된 구성 변경으로 인한 부트 루프를 방지합니다.

OpenClawRadar
AI 코딩 에이전트를 위한 Bite vs Nibble 접근법
Tips

AI 코딩 에이전트를 위한 Bite vs Nibble 접근법

한 NLP 연구자가 AI 코딩 에이전트 작업을 위한 두 가지 멘탈 모델을 설명합니다: claude.md와 같은 포괄적인 지침 파일을 사용하는 '한입(bite)' 접근법과, 여러 번의 반복을 통한 점진적 개선을 사용하는 '조금씩(nibble)' 접근법입니다.

OpenClawRadar