TL;DR
opencode에서 컨텍스트가 약 30k 토큰 남았는데도 compaction이 일찍 발생하는 문제를 모델 limit 설정 수정으로 해결한 구성입니다. 핵심은 provider의 input, context, output을 모델의 전체 컨텍스트 윈도와 같은 값으로 지정하는 것이며, 예시에서는 세 값을 모두 131072로 맞췄습니다. 설정은 llama.cpp의 llama-server와 qwen-3.8-27b를 연결하고 auto compaction, prune, reserved 4096을 함께 사용합니다. 작성자는 복사 과정에서 괄호 오류가 있을 수 있고 reserved의 필수 여부는 확실하지 않다고 밝혔습니다.
커뮤니티 반응
작성자는 pi를 선호하는 사용자가 많다는 점을 인정하면서도 opencode를 계속 사용하는 사람들에게 자신의 설정을 공유했습니다. 실제 댓글 반응이나 커뮤니티의 검증 결과는 제공되지 않았습니다.
실용적 조언
- opencode에서 대화가 남은 토큰이 많은데도 조기 압축되면 provider의 모델 limit 객체부터 확인해야 합니다. input, context, output 세 필드를 모델의 전체 컨텍스트 윈도인 131072로 동일하게 맞추고, compaction의 auto와 prune 설정을 함께 적용합니다. 게시글은 reserved가 필수인지 확신하지 못하므로 4096을 그대로 사용할 때에도 실제 opencode 스키마와 JSON 문법을 별도로 점검해야 합니다.
섹션별 상세
용어 해설
- 컨텍스트 윈도(Context Window)
- — 모델이 한 번의 요청에서 처리할 수 있는 입력과 출력 토큰의 최대 범위입니다. 대화 기록과 새 입력을 이 한도 안에 넣어야 하므로, 설정값이 실제 모델 용량보다 작으면 불필요한 압축이 일찍 발생합니다.
- 대화 압축(Compaction)
- — 긴 대화 기록을 요약하거나 줄여 모델의 컨텍스트 윈도 안에 다시 맞추는 처리입니다. opencode는 설정한 한도에 도달하기 전에 compaction을 실행할 수 있으며, input·context·output 제한값이 올바르지 않으면 남은 토큰이 많은 상태에서도 압축이 시작됩니다.
- 예약 토큰(Reserved Tokens)
- — 대화 압축 이후에도 새 응답이나 추가 입력을 위해 남겨 두는 토큰 수입니다. 게시글의 설정은 reserved를 4096으로 두지만, compaction 동작에 이 값이 필수인지는 작성자가 확신하지 못한 상태입니다.
- 입력 토큰 한도(Input Limit)
- — 모델에 전달할 수 있는 입력 토큰의 최대 수를 뜻합니다. 게시글은 이 값을 context와 output 한도처럼 모델의 전체 컨텍스트 윈도인 131072로 맞춰야 조기 압축을 피할 수 있다고 설명합니다.
코드 예제
{
"$schema":"https://opencode.ai/config.json",
"model": "llama.cpp/qwen-3.8-27b",
"compaction": {
"auto": true,
"prune": true,
"reserved": 4096
},
"provider":{
"llama.cpp":{
"npm":"@ai-sdk/openai-compatible",
"name":"llama-server",
"models":{
"qwen-3.8-27b": {
"name": "Qwen 3.8 27B Dense",
"limit": {
"input": 131072,
"context": 131072,
"output": 131072
}
}
}
}
}
}opencode에서 llama.cpp의 Qwen 3.8 27B Dense 모델을 사용하고 대화 자동 압축과 pruning을 설정하는 구성입니다.
언급된 도구
모델 provider와 compaction 동작을 설정하는 코딩 도구
일부 사용자가 선호하는 대안 도구
llama-server를 통해 모델을 제공하는 inference backend
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.