mirror of
https://gitverse.ru/kpa39l/hermes-mixed-model-delegation.git
synced 2026-09-29 09:35:02 +00:00
3.8 KiB
3.8 KiB
name, description, version, author
| name | description | version | author |
|---|---|---|---|
| hermes-mixed-model-delegation | Настройка смешанной модели: главный агент на облачном LLM, подзадачи (delegate_task) на локальной модели через Ollama. | 1.0.0 | Agent |
Hermes Mixed Model Delegation
Когда использовать
Когда главный агент использует мощную облачную модель (DeepSeek, Claude, GPT), а подзадачи (код, анализ, проверка) можно отдать локальной модели через Ollama. Это экономит API-затраты на подзадачи и использует локальную модель для изолированных заданий.
Конфигурация
В ~/.hermes/config.yaml:
# Основная модель — облачная
model:
default: deepseek/deepseek-v4-flash
provider: custom # или openai, openrouter, anthropic
base_url: https://polza.ai/api/v1
api_key: <ключ>
context_length: 131072
# Delegation — локальная модель через Ollama
delegation:
model: qwen3:8b # любая модель из ollama pull
provider: openai # Ollama совместим с OpenAI API
base_url: http://localhost:11434/v1
api_key: ollama # произвольный non-empty string
max_iterations: 50
child_timeout_seconds: 600
max_concurrent_children: 3
Важные моменты
- Delegation нельзя менять через
/model— настройки delegation читаются при старте сессии. - После изменения delegation config →
/reset(новая сессия). - Ollama должна быть доступна — проверка:
curl http://localhost:11434/api/tags - Модель должна быть загружена —
ollama pull qwen3:8b - context_length в main model можно ставить по максимуму провайдера (DeepSeek v4 Flash → 1M токенов), фактический лимит сессии Hermes настраивается отдельно через
compression.thresholdи не жжёт токены пока не заполнится.
Проверка что работает
После /reset:
delegate_task(
goal="Напиши 'Работает!' одним словом. Назови свою модель.",
context="Тестовый запуск."
)
В результате model в ответе subagent должна показать локальную модель, а не основную.
Pitfalls
- Если delegation.model пуст ('') — subagent использует ту же модель что и main (бесполезно при mixed). Убедись что поля заполнены.
- Ollama в Docker — порт localhost:11434 должен быть доступен из хоста (
docker run -p 11434:11434 ...). - GGUF context limit — у Qwen3 8B моделей в GGUF жёсткий лимит ~40K токенов, num_ctx в Modelfile не расширяет его.
- Таймаут при последовательных файловых операциях — если делегированная задача включает несколько шагов (rm -rf десятков папок + rsync + архивация), subagent может не уложиться в
child_timeout_seconds(600s по умолчанию). Разбивай на мелкие задачи: по одной папке на делегацию, по 5-10 писем на архивацию. Лучше 3 быстрых делегации, чем одна, которая упадёт по таймауту на 599-й секунде.