Haiku 5.5 для read-only субагентов Claude Code: настройка и проверка модели

Практическая инструкция по Claude Code: как отдать небольшой модели ограниченный поиск и сводки без права записи, задать точный Model ID, не перепутать переопределение Explore с глобальным принуждением и подтвердить модель через /tasks и журнал запросов провайдера.

Содержание
Haiku 5.5 для read-only субагентов Claude Code: настройка и проверка модели

Надёжная схема — не переводить всю сессию Claude Code на небольшую модель, а отдавать Haiku 5.5 только ограниченные, read-only и легко проверяемые задачи: поиск ссылок на символ, трассировку импортов, обнаружение конфигурации или сводку по заранее заданному набору файлов. Основную сессию на Sonnet или Opus лучше оставить для решений, правок, тестов и окончательной приёмки.

Одной фразы «используй Haiku» или строки model: haiku недостаточно. Для подтверждения нужны три уровня: точная модель в определении agent, модель работающего субагента в Claude Code и фактический Model ID в записи провайдера. Считать переключение проверенным стоит только тогда, когда все три уровня совпали.

Какие задачи можно делегировать

Anthropic позиционирует Haiku 5.5 для быстрых повторяющихся операций: сводок, compaction, запросов к базам и классификации. В официальном анонсе модель также названа подходящим субагентом для работы вместе с Sonnet 5.5 и Opus 5.5, тогда как сложное agentic coding остаётся задачей более крупных моделей. См. анонс Haiku 5.5.

Начните с такого разделения:

ЗадачаКому отдатьПочему
Найти все обращения к классу, функции или настройкеRead-only субагенту на небольшой моделиПонятны вход, результат и условие остановки
Кратко описать назначение файлов в одном каталогеRead-only субагентуНужны чтение и обобщение, но не изменения
Проследить путь запроса от входной точки до базы данныхRead-only субагентуРезультат проверяется по путям и номерам строк
Выбрать архитектуру, стратегию миграции или границы безопасностиОсновному агенту Sonnet/OpusНужны широкие связи и ответственное решение
Изменить код, выполнить миграцию, обновить зависимости или праваОсновному агенту Sonnet/OpusРабочее дерево меняется и требует строгой проверки
Выбрать и реализовать окончательное исправлениеОсновному агенту Sonnet/OpusНужно объединить доказательства и отвечать за результат

Практический тест: можете ли вы одним предложением задать, что найти, что вернуть и где остановиться, причём без записи файлов? Если нет, оставьте задачу в основной сессии.

Четыре разных механизма выбора модели

В Claude Code легко смешать несколько настроек:

  1. Модель основной сессии выбирается через /model, флаг запуска или settings.
  2. Поле model в frontmatter субагента относится к конкретному определению agent.
  3. Alias и полный Model ID — разные вещи: haiku может разрешаться по-разному у разных провайдеров и в разных версиях, а claude-haiku-5-5 — опубликованный Anthropic полный ID.
  4. Переопределение одной роли и глобальное принуждение — пользовательский agent с именем Explore заменяет только встроенный Explore; CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1 затрагивает почти все субагенты.

Согласно актуальной официальной документации, модель разрешается в таком порядке: значение для конкретного вызова, model из определения agent, CLAUDE_CODE_SUBAGENT_MODEL, затем модель основной сессии. Поэтому одна переменная CLAUDE_CODE_SUBAGENT_MODEL служит лишь значением по умолчанию и не обязана перекрывать frontmatter или параметр вызова. См. документацию по субагентам Claude Code.

Для начала лучше создать один отдельно названный read-only agent. Не включайте глобальное принуждение: иначе на небольшую модель могут неожиданно перейти Plan, general-purpose, teammate и workflow agents.

Шаг 1. Проверьте версию Claude Code и реальные ID провайдера

Сначала узнайте версию клиента:

claude --version

От версии зависит интерфейс и способ проверки:

  • В Claude Code v2.1.198 и новее команда /agents больше не открывает мастер. Она предлагает попросить Claude создать файл либо редактировать .claude/agents/ и ~/.claude/agents/ напрямую.
  • В v2.1.197 и старше /agents открывает интерактивный мастер с вкладками Running и Library.
  • В v2.1.242 и новее /tasks показывает модель в строке запущенного субагента. В старой версии главным доказательством становится запись запроса у провайдера.
  • CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1 используйте только для осознанного принуждения всех субагентов; функция требует v2.1.257 или новее.

Затем проверьте, какие точные ID принимает ваш провайдер:

  • В Anthropic Claude API официальный Model ID Haiku 5.5 — claude-haiku-5-5. См. официальную страницу модели.
  • В облачной платформе или стороннем шлюзе тот же ID может ещё не поддерживаться. Возможны собственные deployment name, alias или ограниченный каталог.
  • На момент проверки этой статьи 10 октября 2026 года публичный каталог BetterToken содержал claude-haiku-4-5-20251001, claude-sonnet-5-5 и claude-opus-5-5, но не содержал claude-haiku-5-5. При подключении через BetterToken выбирайте ID, который действительно есть в текущем каталоге. См. актуальный каталог BetterToken.

«Модель выпущена Anthropic» и «модель уже доступна через мой шлюз» — разные утверждения. Если ID отсутствует в каталоге, alias или просьба в prompt не доказывают поддержку.

Шаг 2. Создайте проектный read-only субагент

Проектные agents хранятся в .claude/agents/ и могут версионироваться вместе с репозиторием. Пользовательские agents в ~/.claude/agents/ доступны во всех проектах.

Из корня репозитория создайте каталог:

mkdir -p .claude/agents

Создайте .claude/agents/repo-researcher.md. Для Anthropic Claude API определение может выглядеть так:

---
name: repo-researcher
description: Finds symbols, traces call paths, and summarizes selected files before code changes. Use only for bounded read-only repository research.
tools: Read, Grep, Glob
model: claude-haiku-5-5
---

You are a read-only repository researcher.

For each task:
1. Search only the scope named by the caller.
2. Do not edit, create, delete, or rename files.
3. Return file paths and line numbers for every important finding.
4. Separate direct evidence from inference.
5. Stop when the requested question is answered; do not propose unrelated refactors.

Return:
- Findings
- Evidence: file:line
- Uncertainties
- Suggested next check for the main agent

Важны три детали:

  • tools разрешает только Read, Grep и Glob, без Write, Edit и Bash.
  • description объясняет, когда допустима делегация, чтобы основной агент не передал сюда изменение кода.
  • model содержит полный ID, который действительно принимает провайдер, а не только текстовую просьбу использовать Haiku.

При работе через BetterToken в проверенном каталоге небольшой моделью Claude был следующий ID:

model: claude-haiku-4-5-20251001

Это пример из текущего каталога, а не обещание постоянного имени. Перед изменением конфигурации снова проверьте каталог или Model Plaza. В документации BetterToken для Claude Code требуется точный Model ID и ANTHROPIC_BASE_URL со значением https://bettertoken.ai без /v1. См. инструкцию BetterToken для Claude Code.

Если каталог .claude/agents/ не существовал в момент запуска текущей сессии и новый agent не появился, один раз полностью перезапустите Claude Code. Официальная документация предупреждает, что watcher не увидит первый каталог agents, созданный уже после старта сессии.

Шаг 3. Оставьте основную сессию на Sonnet или Opus

Модель основной сессии выбирается отдельно, например:

/model sonnet

или:

/model opus

За шлюзом alias может разрешиться иначе из-за mappings. Если важна фиксированная версия, укажите полный ID из каталога провайдера и затем проверьте запись запроса.

Не включайте глобальное принуждение только ради одного поискового agent. Эта настройка намного шире:

{
  "env": {
    "CLAUDE_CODE_SUBAGENT_MODEL": "haiku",
    "CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1"
  }
}

Она уместна лишь тогда, когда вы сознательно хотите одну модель для Plan, general-purpose, teammates и workflow agents. Если нужно изменить только автоматический поиск по коду, создайте проектный или пользовательский agent с именем Explore и собственным model: он заменит встроенный Explore, но не остальные субагенты.

Шаг 4. Запустите задачу с проверяемым результатом

Не начинайте с запроса «разберись во всём репозитории». Возьмите узкую задачу, которую можно проверить вручную:

Use the repo-researcher agent to find every call site of PaymentService.createCharge.
Return file:line, the caller's purpose, and the path from the public entry point.
Do not edit files. Stop after covering this symbol and its direct callers.

После выполнения проверьте четыре пункта:

  1. В transcript основной сессии есть строка делегации repo-researcher, а поиск не был незаметно выполнен основным агентом.
  2. Ответ содержит пути, номера строк и разделяет прямые факты и выводы.
  3. Рабочее дерево не изменилось:
git status --short
  1. Последующее решение и любые правки остаются за основным агентом.

Если исследование нужно сохранить, сначала проверьте его в основной сессии, а затем поручите основному агенту записать подтверждённый итог в документацию или issue. Не добавляйте read-only agent право записи лишь ради сохранения результата.

Шаг 5. Подтвердите фактически использованную модель

1. Проверьте файл agent, но не останавливайтесь на нём

Убедитесь, что в .claude/agents/repo-researcher.md указан желаемый полный ID. Это доказывает только статическую конфигурацию. Параметр конкретного вызова, политика организации или mapping шлюза могут изменить запрос.

2. Посмотрите /tasks во время работы

Выполните:

/tasks

В Claude Code v2.1.242 и новее модель отображается в строке субагента. Если она отличается от файла, проверьте:

  • передал ли Claude другую модель в конкретном вызове;
  • включён ли CLAUDE_CODE_SUBAGENT_MODEL_FORCE;
  • заменила ли политика availableModels недоступную модель;
  • не использует ли ваша версия прежний порядок приоритетов.

3. Сопоставьте запись запроса провайдера

Найдите запрос в том же временном интервале и проверьте фактический Model ID. За сторонним шлюзом это особенно важно: alias клиента может дополнительно преобразовываться на стороне шлюза.

В BetterToken модель, количество токенов, итоговое списание и статус показываются в одной записи. Для этой проверки используйте только поля модели и статуса, не превращая запись в неподтверждённое утверждение об экономии. Сначала сопоставьте время запроса с интервалом работы субагента.

Минимальная таблица приёмки:

Точка проверкиЧто должно быть видноЧто делать при расхождении
Файл agentТочный Model IDИсправить ID и дождаться перезагрузки либо перезапустить клиент
/tasksНужный субагент и его модельПроверить параметр вызова, force-переменные и политику организации
Запись провайдераФактический Model ID и успешный статус в том же окне времениПроверить каталог, mapping alias, routing и доступ аккаунта
git status --shortНет неожиданных измененийОграничить tools, откатить изменения и повторить тест

Записывайте «переключение подтверждено» только при совпадении первых трёх источников. Упоминание Haiku в prompt, имя agent в интерфейсе или сам факт получения ответа отдельно ничего не доказывают.

Частые проблемы

Agent не вызывается

Проверьте путь .claude/agents/ или ~/.claude/agents/, наличие name и description и корректность YAML. Если первый каталог agents был создан после старта сессии, перезапустите Claude Code. Для дальнейшей диагностики запустите клиент с --debug.

/agents не показывает мастер

Обычно это не ошибка. Начиная с v2.1.198 команда предлагает редактировать файлы напрямую; интерактивный мастер относится к v2.1.197 и старше. Ориентируйтесь на документацию своей версии, а не на старый скриншот.

model: haiku не доказывает Haiku 5.5

haiku — alias, а не закреплённая версия. Его цель меняется вместе с версией Claude Code, провайдером или mapping шлюза. Для аудита используйте полный ID из актуального каталога и проверяйте /tasks вместе с записью провайдера.

Шлюз отвечает model not found, 403 или незаметно делает fallback

Проверьте наличие ID в живом каталоге и право аккаунта на модель. Если claude-haiku-5-5 отсутствует, не повторяйте бесконечно тот же запрос: выберите подходящий опубликованный ID или дождитесь добавления модели. Allowlist организации также может подменить модель, не останавливая задачу.

Все субагенты перешли на небольшую модель

Удалите CLAUDE_CODE_SUBAGENT_MODEL_FORCE. Чтобы закрепить модель только за одним agent, укажите полный ID в его frontmatter. Для изменения только автоматического исследования переопределите Explore.

Субагент изменил файлы

Сначала определите изменения через git status --short и отмените лишнее. Затем оставьте в tools только Read, Grep, Glob и повторите запрет на запись в system prompt. Удаление инструментов записи надёжнее одной фразы «ничего не меняй».

Минимальный план внедрения

Начните с пяти действий:

  1. Обновите Claude Code и выполните claude --version.
  2. Скопируйте реально доступный полный Model ID из каталога своего провайдера.
  3. Создайте один repo-researcher только с Read, Grep, Glob.
  4. Запустите задачу, ограниченную одним символом или каталогом.
  5. Сверьте /tasks, запись провайдера и git status --short.

Цель не в том, чтобы отдать небольшой модели всю работу, а в проверяемом разделении ролей: небольшая модель собирает read-only доказательства, а основной агент Sonnet или Opus принимает решения с высоким влиянием и вносит изменения. Сначала подтвердите один узкий сценарий, затем расширяйте схему только там, где сохраняются те же критерии приёмки.

Готовы оптимизировать LLM workflow?

Подключите единый API, управляйте ключами и контролируйте расходы на AI-модели в BetterToken.

Начать бесплатно