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

시어머니 방법: 클로드의 호의성을 무기화한 가혹한 코드 리뷰
Tips

시어머니 방법: 클로드의 호의성을 무기화한 가혹한 코드 리뷰

레딧 사용자가 코드를 싫어하는 시어머니가 작성한 것처럼 설정해 Claude가 가혹한 코드 리뷰를 하도록 속였습니다. 그 결과 31분간의 심층 분석을 통해 4명의 적대적 검토 에이전트가 27개의 문제를 발견했습니다.

OpenClawRadar
디자인 시스템으로 Claude Code의 CSS 추측 작업을 수정하는 방법
Tips

디자인 시스템으로 Claude Code의 CSS 추측 작업을 수정하는 방법

한 개발자가 Claude Code를 사용하여 주식 분석 대시보드를 구축하면서 흔히 겪는 좌절을 경험했습니다: AI가 동일하게 정렬이 틀어진 div에 대해 반복적으로 깨진 CSS를 생성한 것입니다. 6번의 반복 동안 패딩 수정, flex에서 grid로 전환, 그리고 `overflow: hidden` 추가 시도는 실패하거나 문제를 더 악화시켰습니다.

OpenClawRadar
OpenClaw 충돌 루프 디버깅: 5단계 점검표
Tips

OpenClaw 충돌 루프 디버깅: 5단계 점검표

r/openclaw의 Reddit 게시물은 OpenClaw 에이전트나 게이트웨이의 충돌 루프를 신속하게 진단하기 위한 5단계 체크리스트를 제공하며, 실패 유형, 호스트 부하, 제공자 지연 시간, 설정 차이, 경고 설정에 중점을 둡니다.

OpenClawRadar
CLAUDE.md를 사용해 Claude AI 세션 간 프로젝트 규칙 유지하기
Tips

CLAUDE.md를 사용해 Claude AI 세션 간 프로젝트 규칙 유지하기

프로젝트 루트에 CLAUDE.md 파일을 넣어두면 Claude가 모든 세션이 시작될 때 이를 읽어들여 TypeScript 규칙, default export 금지, 테스트 관례, 아키텍처 컨텍스트를 다시 설명할 필요 없이 기억합니다.

OpenClawRadar