Что меняют output styles

Output style не добавляет Claude Code новых знаний - он переписывает системный промпт, который задаёт роль, тон и формат ответа. Стоит завести отдельный стиль, если одна и та же просьба о манере ответа повторяется из раза в раз в разговоре, или если Claude Code нужно вести себя не как инженер-разработчик, а как что-то другое - например, помощник по текстам или аналитик данных.

Для инструкций про сам проект - соглашения в коде, структура репозитория - предназначен не output style, а файл CLAUDE.md: он добавляется в разговор отдельным сообщением, а не переписывает системный промпт целиком.

Пять встроенных стилей

Default. Обычный системный промпт Claude Code, рассчитанный на эффективное выполнение задач разработки.

Proactive. Claude выполняет действия сразу, делает разумные предположения вместо того, чтобы останавливаться на рутинных решениях, и предпочитает действие планированию. Это более сильное указание к автономности, чем даёт auto mode, и оно работает независимо от режима разрешений - какой режим разрешений выбран, по-прежнему решает, что запускается без вашего подтверждения.

Concise. Claude сразу выдаёт результат, пропускает вступления и пошаговое повествование, и по умолчанию держит ответы короткими - при этом объём самой инженерной работы не меняется, он такой же тщательный, как в Default. Если вы прямо просите объяснение или больше деталей, ответ приходит развёрнутым. Отчёты об ошибках, предупреждения о безопасности и подтверждения разрушительных действий всегда остаются полными, без сокращений. Требует версию Claude Code 2.1.237 или новее.

Explanatory. Между выполнением задач разработки добавляет образовательные врезки «Insights» - помогает понять, почему выбрано именно такое решение и какие паттерны есть в кодовой базе.

Learning. Совместный режим обучения на практике: Claude не только делится вставками «Insights» по ходу работы, но и просит вас самостоятельно написать небольшие, стратегически важные куски кода - в этих местах в коде появляются маркеры TODO(human) для вашей реализации.

Как переключить стиль

В терминале - командой /config, дальше выбрать пункт Output style и стиль из меню. Выбор сохраняется в .claude/settings.local.json на уровне проекта.

Без меню стиль задаётся напрямую полем в файле настроек:

.claude/settings.local.json
{
  "outputStyle": "Explanatory"
}

Output style - часть системного промпта, который Claude Code читает один раз при старте сессии. Изменения вступают в силу после команды /clear или в новой сессии - на середине текущего разговора смена стиля незаметна, пока сессия не перезапущена.

Свой стиль: markdown-файл с инструкциями

Пользовательский output style - обычный markdown-файл: заголовок с метаданными и дальше инструкции, которые добавляются в системный промпт. Имя файла становится именем стиля, если в заголовке не задано поле name. Файл сохраняется на одном из трёх уровней: личный - в ~/.claude/output-styles, проектный - в .claude/output-styles, или уровень организации - внутри директории управляемых настроек.

Ключевое решение при создании - сохранять ли встроенные инструкции Claude Code по разработке. Поле keep-coding-instructions: true оставляет их, если меняется только манера общения, а сама разработка идёт как обычно. Без этого поля инструкции по разработке в стиль не попадают - это подходит, когда Claude вообще не занимается программированием, например работает как помощник по текстам.

.claude/output-styles/diagrams-first.md
---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---

When explaining code, architecture, or data flow, start with a
Mermaid diagram showing the structure, then explain in prose.

## Diagram conventions

Use `flowchart TD` for control flow and `sequenceDiagram` for
request paths. Keep diagrams under 15 nodes.

Дальше стиль включается тем же способом, что и встроенные, - командой /config или полем outputStyle в файле настроек.

Чем это отличается от CLAUDE.md, агентов и скиллов

В Claude Code есть несколько разных механизмов настройки поведения, и путать их легко.

Output style напрямую переписывает системный промпт и применяется к каждому ответу - используйте, когда нужна другая роль, тон или формат ответа по умолчанию на протяжении всего разговора.

CLAUDE.md добавляет сообщение пользователя после системного промпта - используйте, когда Claude должен всегда знать про конкретный проект, его соглашения и контекст кодовой базы.

Флаг --append-system-prompt дописывает к системному промпту, ничего не убирая, - подходит для разового дополнения в пределах одного запуска.

Субагенты запускают отдельного помощника со своим системным промптом, моделью и набором инструментов - используйте для отдельно вынесенной задачи с узким фокусом. Важная деталь: output style применяется только к основному разговору - субагент работает по своему системному промпту и не наследует выбранный стиль, кроме форка разговора, который наследует полный системный промпт родителя.

Скиллы подгружают инструкции под конкретную задачу при вызове или когда они кажутся уместными - используйте для переиспользуемого рабочего процесса.

Что стоит знать о расходе токенов

Расход токенов зависит от выбранного стиля. Добавление инструкций в системный промпт увеличивает число входных токенов, хотя кеширование промпта снижает эту стоимость после первого запроса в сессии. Встроенные стили Explanatory и Learning по замыслу производят более длинные ответы, чем Default, что увеличивает число выходных токенов, а стиль Concise, наоборот, инструктирует Claude по умолчанию держать ответы короткими. Для собственных стилей расход выходных токенов зависит от того, что именно предписывают ваши инструкции.

Чек-лист

Настройка output style
  1. Определено, какой встроенный стиль ближе к задаче, или нужен свой
  2. Для Concise проверена версия Claude Code (2.1.237+)
  3. Стиль выбран через /config или задан полем outputStyle в settings.json
  4. После смены стиля выполнена команда /clear или начата новая сессия
  5. Для своего стиля решено, нужен ли keep-coding-instructions: true
  6. Учтено, что субагенты не наследуют выбранный стиль (кроме форков)
Можно ли использовать несколько output styles одновременно?
Нет, в любой момент активен один стиль - он задаёт весь системный промпт целиком. Для комбинации разных потребностей стоит собрать один свой стиль, объединяющий нужные инструкции.
Почему смена стиля не подействовала сразу в середине разговора?
Output style - часть системного промпта, а Claude Code читает системный промпт один раз при старте сессии. Изменения применяются только после команды /clear или в новой сессии.
Чем Proactive отличается от auto mode?
Auto mode меняет то, какие действия можно выполнять без вашего подтверждения - решает классификатор. Proactive - это указание в системном промпте действовать сразу и не останавливаться на рутинных уточнениях; оно работает независимо от режима разрешений, который по-прежнему определяет, что можно запускать без вашего разрешения.
Наследует ли субагент выбранный output style?
Нет, субагент работает по своему собственному системному промпту вне зависимости от того, какой стиль выбран для основного разговора. Исключение - форк текущего разговора: он наследует полный системный промпт родителя, включая выбранный стиль.
Нужно ли что-то устанавливать дополнительно для своего output style?
Нет, достаточно создать markdown-файл в одной из трёх поддерживаемых директорий (личной, проектной или организации) - устанавливать ничего не нужно, файл подхватывается автоматически.
Что произойдёт со старым способом /output-style?
Отдельная команда /output-style устарела в версии 2.1.73 и была удалена в версии 2.1.91. Вместо неё стиль переключается командой /config или напрямую полем outputStyle в файле настроек.
← Все статьи блога