Проблема: ваш coding-агент говорит с самим собой через 10 минут работы
Запускаете OpenCode или другого агента на локальной LLM? Тогда знаете этот сценарий: агент выполняет команды в терминале, вывод растет, контекст переполняется, и через несколько итераций модель начинает забывать, что она делала. Виной всему - мусор в stdout: прогресс-бары, логи, предупреждения, которые занимают львиную долю токенов.
Типичный пример: запуск npm install генерирует сотни строк вывода. Для модели это тысячи токенов, которые не несут полезной информации, но съедают контекст.
CCP: режем, не жалея
CCP (Context Cutting Processor) - это утилита командной строки, которая фильтрует вывод терминала, оставляя только суть. Авторы заявляют сокращение токенов на 93.7% на типовых задачах. Инструмент написан на Rust, работает в пайплайнах, интегрируется с любым агентом, который использует терминал.
Как это работает технически
CCP использует комбинацию правил:
- Удаление ANSI-кодов (цвета, курсор)
- Фильтрация повторяющихся строк (например, прогресс-бар обновляется на той же строке)
- Пропуск строк с шаблонами (например, временные метки, уровни логов INFO)
- Агрегация похожих сообщений
Инструмент настраивается через конфиг или флаги командной строки. По умолчанию уже настроен для распространенных случаев: npm, cargo, docker, git.
Установка и быстрый старт
Установка через cargo (на 08.03.2026 требуется Rust 1.75+):
cargo install ccp-trimПроверяем:
ccp --version
# ccp 0.3.0 (2026-02-15)Базовое использование:
npm install | ccpИли для интеграции с агентом, например, в скрипте Python:
import subprocess
def run_command(cmd):
process = subprocess.Popen(
cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
stdout, stderr = process.communicate()
# Применяем CCP к stdout
trimmed = subprocess.run(
["ccp"], input=stdout, capture_output=True, text=True
)
return trimmed.stdoutЕсли вы используете Persistent REPL для локальных LLM, CCP можно встроить в пайплайн, чтобы агент работал с очищенным выводом.
Сравнение с другими подходами
Альтернативы? Их немного. Можно вручную писать фильтры, но это время. Можно использовать grep или sed, но они не понимают семантику вывода. CCP же обучен на реальных логах.
| Инструмент | Сокращение токенов | Настройка |
|---|---|---|
| CCP | до 93.7% | Конфиг + умные правила |
| grep -v | ~50-70% | Вручную задавать шаблоны |
| OCTAVE MCP | до 80% (для кода) | Семантическая стенография |
OCTAVE MCP режет токены в коде, а CCP - в выводе терминала. Они дополняют друг друга.
Пример из жизни: отладка с OpenCode
Представьте, что вы используете Agentic Debugging с OpenCode. Агент запускает тесты, получает вывод. Без CCP это 5000 токенов логов. С CCP - 300 токенов, только ошибки и stack trace. Контекст остается свободным для анализа.
# Без CCP
cargo test 2>&1 | wc -c
# 15000 байт
# С CCP
cargo test 2>&1 | ccp | wc -c
# 950 байтРазница в 15 раз. Для локальной LLM с контекстом 128K это может быть разницей между одной итерацией и десятью.
Кому нужен CCP прямо сейчас
Если вы:
- Используете локальные LLM через Ollama или другие платформы для coding-задач.
- Работаете с агентами, которые выполняют много команд (OpenCode, собственные скрипты).
- Столкнулись с тем, что агент "забывает" контекст из-за переполнения.
- Хотите экономить на токенах даже при использовании бесплатных локальных моделей (время обработки!).
То CCP — ваш выбор. Инструмент бесплатный, open-source, с активным развитием.
Предупреждение: CCP агрессивен. Он может удалить важное сообщение, если оно попадет под правило. Всегда проверяйте конфиг под свою задачу. Для продакшн-пайплайнов читайте Delegation Filter.
Что дальше? Интеграция с MCP
Авторы CCP работают над MCP-сервером, чтобы инструмент мог работать напрямую с клиентами вроде Claude Desktop. Это избавит от необходимости пайплайнов. А пока — используйте в своих скриптах.
Мой прогноз: к концу 2026 года такие фильтры станут стандартом для любого coding-агента. Потому что лучшие LLM с Tool Calling будут требовать эффективного использования контекста.
Совет: не ждите, пока ваш агент начнет бредить. Установите CCP сегодня и посмотрите, сколько контекста вы сэкономите. Цифры вас удивят.