Opencode-DCP/opencode-dynamic-context-pruning
Dynamic context pruning plugin for OpenCode - intelligently manages conversation context to optimize token usage
해결하는 문제
OpenCode 세션에서 오래된 컨텍스트로 인한 토큰 사용량 증가와 환각 현상을 줄입니다. 대화 기록을 관리하여 LLM이 컨텍스트 창을 초과하거나 중복 정보에 토큰을 낭비하지 않도록 합니다.
작동 방식
DCP는 원본 세션 기록을 수정하지 않고 컨텍스트를 관리합니다. 대신, 자르는 내용을 자리 표시자로 바꾼 후 LLM에 요청을 전송합니다. 주로 세 가지 메커니즘을 사용합니다:
- 압축: 모델이 오래되었거나 닫힌 대화 구간(범위 모드) 또는 개별 메시지(메시지 모드)를 고정밀 기술 요약으로 대체할 수 있는 도구입니다. 여러 압축 레이어에 걸쳐 정보를 보존할 수 있는 중첩 요약을 지원합니다.
- 중복 제거: 동일한 인수를 가진 반복적인 도구 호출을 식별하고, 가장 최근의 출력만 유지합니다.
- 오류 정리: 설정 가능한 턴 수 후에 오류가 발생한 도구 호출의 입력 내용을 제거하지만, 오류 메시지는 유지합니다.
대상 사용자
긴 코딩 세션을 수행하면서 토큰 소비를 최적화하고 모델 성능을 유지하고자 하는 OpenCode 사용자.
주요 특징
- 모델 기반 압축: 태스크 완료 여부에 따라 모델이 언제 압축할지 결정하므로 정적 트리거에 의존하지 않습니다.
- 유연한 모드: 연속 범위 압축과 정밀한 개별 메시지 압축 모두 지원합니다.
- 사용자 설정 보호: 특정 도구 출력, 파일 패턴, 또는 사용자 메시지를 자르는 대상에서 보호할 수 있습니다.
- 사용자 정의 프롬프트: 시스템 동작 및 압축 유도를 위한 편집 가능한 프롬프트 오버라이드를 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch