Distill: облегчённый агент для экономии токенов при работе с моделями OpenAI
Distill — это облегчённый агент для кода и текстовый интерфейс, который позволяет значительно экономить токены при работе с моделями OpenAI. Суть проекта в том, чтобы повысить продуктивность, минимизируя затраты на использование моделей Grok и Codex.
Проект предлагает два основных режима. UltraSave показывает сокращение затрат на 93% по сравнению с обычным режимом, сохраняя качество выполнения задач. UltraFast, в свою очередь, позволяет выполнять задачи приблизительно на 50% быстрее, пропуская лишние этапы планирования. Это может быть полезно разработчикам, которые активно используют API для языковых моделей, но хотят оптимизировать свои расходы и время.
Distill написан с использованием Python и работает с любыми моделями, поддерживающими OpenAI-протокол. Чтобы запустить, достаточно скачать проект, авторизоваться через openrouter и войти в свою подписку. Учти, что проект может потребовать настроек для разных API, а также, возможно, потребуется вникнуть в особенности режима работы для оптимальной настройки.
Проект Distill представляет собой легковесный инструмент и текстовый интерфейс (TUI) для работы с кодом, который позволяет значительно экономить токены при выполнении задач. Distill совместим с подписками Grok и Codex, а также с любыми моделями, поддерживающими OpenAI-протокол.
Основные функции
Distill предлагает два режима исполнения для оптимизации работы:
- UltraSave: позволяет сократить затраты до 93% по сравнению с обычным режимом. Этот режим подходит для узкоспециализированных задач, таких как поиск или создание компактных отчетов.
- UltraFast: увеличивает скорость выполнения почти в два раза, пропуская этапы планирования и делегирования, что позволяет сразу перейти к выполнению задачи.
Установка
Установить Distill можно следующим образом:
Mac / Linux
curl -fsSL https://raw.githubusercontent.com/samuelfaj/distill/main/install.sh | sh
export PATH="$HOME/.local/share/distill/bin:$PATH"
distill --version
Windows
irm https://raw.githubusercontent.com/samuelfaj/distill/main/install.ps1 | iex
$bin = "$env:LOCALAPPDATA\distill\bin"; [Environment]::SetEnvironmentVariable('Path', "$bin;" + [Environment]::GetEnvironmentVariable('Path', 'User'), 'User')
distill --version
Использование моделей
В Distill можно настроить несколько уровней моделей для выполнения задач:
- Main model: основная модель, которая отвечает за планирование и делегирование.
- Worker model: опциональная модель, которая выполняет конкретные поручения, делегированные основной моделью.
- Utility model: предназначена для выполнения ограниченных задач, таких как извлечение или создание резюме.
Каждую модель можно выбрать и настроить через интерфейс команд.
Поведение по умолчанию
В Distill две встроенные правила для моделей:
- Caveman: агент пишет краткие и точные тексты, следя за корректностью кода и путей.
- Ponytail: агент сначала использует уже существующий код, прежде чем писать новый, и не сокращает важные функции, такие как валидация и обработка ошибок.
Эти правила не могут быть отключены.
Ограничения
Несмотря на эффективность, стоит учитывать, что при использовании различных режимов могут возникать различные ограничения по качеству выполнения задач. В некоторых случаях, например, режим UltraSave может приводить к снижению количества успешно выполненных задач по сравнению с нормальным режимом.
Открыть на GitHub: samuelfaj/distill →
RepoRadar