Профили и модели субагентов
Каждый редактируемый профиль субагента содержит собственную политику модели. Можно назначить точную пару провайдер/модель или выбрать Наследовать от родителя, чтобы использовать фактические провайдер и модель родительского чата. При этом субагент не наследует режим, инструкции или инструменты родителя.
Настройка профиля
Заголовок раздела «Настройка профиля»Встроенные профили используют модель, назначенную сервисом моделей Kodik. Если сервис не задаёт модель для профиля, по умолчанию используется GLM 5.3 Flash (openrouter-z-ai-glm-5.3-flash). Политика модели, сохранённая в Настройки → Sub Agents, имеет приоритет над обоими значениями по умолчанию.
Откройте Настройки → Sub Agents и измените встроенный или пользовательский профиль. Можно настроить описание для маршрутизации, инструкции, инструменты, модель, необязательный уровень reasoning, поиск навыков и состояние включения. Встроенные профили постоянны; полные пользовательские профили также можно добавлять и удалять. Определения плагинов доступны только для чтения, но их можно включать и отключать.
Выпадающий список начинается с Наследовать от родителя, а затем объединяет доступный каталог Kodik, модели Ollama и модели настроенных Custom Provider. Kodik явно сохраняет выбранную политику:
| Провайдер | Сохраняемая ссылка |
|---|---|
| Родительский чат | "inherit" |
| Облако Kodik | { "provider": "kodik", "modelId": "<точный-id>" } |
| Ollama | { "provider": "ollama", "modelId": "<точный-id>" } |
| Custom Provider | { "provider": "custom-provider", "providerId": "<id-провайдера>", "modelId": "<точный-id>" } |
Уровень reasoning — необязательное независимое переопределение профиля. При выборе Наследовать от родителя Settings предлагает уровни, поддерживаемые текущей родительской моделью; сохранённый уровень также должен поддерживаться фактической родительской моделью в чате, где запускается субагент. Для модели Custom Provider уровни, которые она сообщает, служат подсказкой, а не ограничением, потому что провайдеры часто принимают больше уровней, чем указывают: профиль с уровнем, которого нет в списке модели, всё равно запускается и отправляет этот уровень, как и родительский чат, а Settings показывает рядом с профилем предупреждение.
Проверка доступности
Заголовок раздела «Проверка доступности»Settings постоянно сравнивает настроенные профили с текущим каталогом моделей Kodik, endpoint Ollama, Custom Provider, возможностями reasoning и поддержкой инструментов. У недоступного назначения появляется индикатор ошибки, и до исправления профиль не попадает в доступный каталог каждого родительского режима.
Если явно назначенная модель исчезла после начала хода, запуск профиля завершается видимой ошибкой в чате и направляет в Настройки → Sub Agents. Kodik не подменяет точное назначение молча. Профиль с политикой Наследовать от родителя намеренно разрешается в текущую пару провайдер/модель родительского чата и недоступен, если эта модель не может запустить профиль. Сам Orchestrator не запускается, если ни у одного включённого профиля нет доступной совместимой модели.
В каждом модельном раунде субагент должен в течение 30 секунд начать возвращать текст, reasoning, запрос инструмента или финальный ответ. Если остановленная локальная модель или недоступный Custom Provider не возвращает ничего из этого, Kodik прерывает дочерний запуск, освобождает его место параллельности и показывает ошибку с названием модели и указанием на Настройки → Sub Agents. Профиль не переключается молча на другую модель.
Модель Ollama остаётся локальной и не расходует кредиты Kodik. Стоимость и конфиденциальность Custom Provider зависят от его настройки.
JSON-конфигурация
Заголовок раздела «JSON-конфигурация»Редактор Settings записывает версионированный JSON. Пользовательские изменения находятся в ~/.kodik/sub-agents.json; необязательный .kodik/sub-agents.json в рабочей области полностью заменяет этот пользовательский слой.
{ "version": 1, "maxConcurrentWorkers": 4, "overrides": { "researcher": { "model": "inherit" }, "implementer": { "description": "Использовать для небольших, полностью определённых изменений продукта.", "model": { "provider": "ollama", "modelId": "qwen3-coder:30b" }, "reasoningEffort": "high", "tools": ["read_file", "grep", "edit_file", "shell", "browser"] } }, "profiles": [ { "id": "custom:release-auditor", "name": "Release Auditor", "description": "Проверяет сборку и миграцию перед релизом.", "instructions": "Проверьте назначенную область релиза и верните воспроизводимые доказательства.", "model": { "provider": "kodik", "modelId": "openrouter-openai-gpt-5.6-luna" }, "tools": ["read_file", "grep", "shell"], "enabled": true } ]}maxConcurrentWorkers — необязательное положительное целое число; значение по умолчанию — 10. overrides — точечные переопределения: пропущенные поля продолжают поступать из текущего исходного или плагинного профиля. Элементы profiles — полные пользовательские профили с id в пространстве имён custom:<slug>. Settings проверяет неизвестные поля, повторяющиеся id, недоступные модели, неподдерживаемый reasoning effort, родительские инструменты и ограничения размера файла и полей.
Редактор Settings использует атомарную запись и обнаруживает внешние изменения, чтобы один редактор не перезаписал другой незаметно. Ваши правки сохраняются по очереди, поэтому несколько быстрых изменений подряд не считаются внешними. Секреты и ключи провайдеров в этом файле не хранятся.
Жизненный цикл делегирования и долговечные отчёты описаны в разделе Субагенты.
