mirror of
https://gitverse.ru/kpa39l/hermes-mixed-model-delegation.git
synced 2026-09-29 09:35:02 +00:00
Initial commit: Hermes skill hermes-mixed-model-delegation
This commit is contained in:
@@ -0,0 +1,64 @@
|
|||||||
|
---
|
||||||
|
name: hermes-mixed-model-delegation
|
||||||
|
description: "Настройка смешанной модели: главный агент на облачном LLM, подзадачи (delegate_task) на локальной модели через Ollama."
|
||||||
|
version: 1.0.0
|
||||||
|
author: Agent
|
||||||
|
---
|
||||||
|
|
||||||
|
# Hermes Mixed Model Delegation
|
||||||
|
|
||||||
|
## Когда использовать
|
||||||
|
|
||||||
|
Когда главный агент использует мощную облачную модель (DeepSeek, Claude, GPT), а подзадачи (код, анализ, проверка) можно отдать локальной модели через Ollama. Это экономит API-затраты на подзадачи и использует локальную модель для изолированных заданий.
|
||||||
|
|
||||||
|
## Конфигурация
|
||||||
|
|
||||||
|
В `~/.hermes/config.yaml`:
|
||||||
|
|
||||||
|
```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-й секунде.
|
||||||
Reference in New Issue
Block a user