Tarquinen/opencode-dynamic-context-pruning
Dynamic context pruning plugin for OpenCode - intelligently manages conversation context to optimize token usage
해결하는 문제
Dynamic Context Pruning (DCP)은 오래된 대화 기록을 자동으로 정리하거나 요약하여 OpenCode의 토큰 사용량을 줄이고 컨텍스트 윈도우 제한을 관리합니다. 이는 방대한 세션 기록으로 인해 LLM이 과부하되는 것을 방지하면서도 중요한 기술 정보는 확실하게 보존합니다.
작동 방식
DCP는 레이어 역할을 하며, LLM에 요청을 보내기 전에 실제 세션 기록을 수정하지 않고 정리된 콘텐츠를 자리 표시자로 대체합니다. 세 가지 주요 전략을 사용합니다.
- 압축 (Compression): 모델이 사용할 수 있는 도구로, 오래된 대화 구간(범위 모드)이나 개별 메시지(메시지 모드)를 고충실도 기술 요약으로 대체합니다. 요약을 중첩하여 여러 압축 주기 동안 정보가 손실되는 것을 방지합니다.
- 중복 제거 (Deduplication): 동일한 인수를 가진 중복 도구 호출을 식별하고 제거하여 가장 최근의 출력만 유지합니다.
- 오류 제거 (Error Purging): 설정된 턴 수가 지난 후 오류를 발생시킨 도구 호출의 대용량 입력 콘텐츠를 제거하되, 오류 메시지 자체는 유지합니다.
대상 사용자
토큰 비용을 절감하고 장시간 코딩 세션에서 모델 성능을 유지하고자 하는 OpenCode 사용자.
주요 특징
- 모델 기반 압축 (Model-Driven Compression): 정적 임계값을 사용하는 대신, 작업 완료 상태에 따라 언제 무엇을 압축할지 LLM이 직접 결정하도록 합니다.
- 정보 보존 (Information Preservation): 특정 도구 출력(서브 에이전트 및 기술 등)과 사용자 메시지가 정리되지 않도록 보호합니다.
- 유연한 구성 (Flexible Configuration): 전역, 프로젝트 수준 및 사용자 지정 구성 파일을 지원하며 컨텍스트 제한과 알림 빈도를 세밀하게 제어할 수 있습니다.
- 수동 제어 (Manual Control): TUI 패널과 슬래시 명령어(
/dcp,/dcp-compress)를 포함하여 수동으로 컨텍스트를 관리할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트