Управление моделями и навыками — это направление поведения ИИ для более надежного вывода. Правильная конфигурация модели обеспечивает соответствие стоимости и возможностей для каждой задачи, а навыки предоставляют контекст, специфичный для проекта и задачи, что значительно улучшает самопроверку модели, сообщая ей точно, какие стандарты соблюдать. Цель здесь — итеративно настраивать навыки на основе ошибок, которые совершает модель, пока не будет достигнуто приемлемое качество генерации.

Конфигурация окружения
Окружения позволяют переключаться между различными моделями ИИ и провайдерами без перезапуска сессии. Каждое окружение — это именованная коллекция переменных уровня Claude Code — ключей API, названий моделей, базовых URL-адресов и цен — хранящаяся в .pastukhov/environments.yml.
Подстановка переменных
Переменные окружения поддерживают ссылки $VARIABLE_NAME. При активации окружения ссылки разрешаются в их фактические значения. Это работает как с другими переменными окружения, так и с системными переменными окружения, позволяя хранить секреты вне репозитория:
# .pastukhov/environments.yml — безопасно для коммита
environments:
production:
variables:
- ANTHROPIC_API_KEY=$MY_API_KEY # разрешается из системного окружения во время выполнения
- ANTHROPIC_BASE_URL=https://api.anthropic.com
Иерархическое наследование
Имена окружений поддерживают наследование на основе сегментов, разделенных дефисами. Окружение с именем glm-5-turbo автоматически наследует переменные как от glm-5, так и от glm. Определите общие настройки (ключ API, базовый URL) в родителе и переопределите только то, что отличается в дочерних элементах:
environments:
glm:
variables:
- ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic
- CLAUDE_DISABLE_EXPERIMENTAL_BETAS=true
glm-5:
variables:
- ANTHROPIC_MODEL=glm-5
- MODEL_INPUT_PRICE=1.00
glm-5-turbo:
variables:
- ANTHROPIC_MODEL=glm-5-turbo
- MODEL_INPUT_PRICE=1.20
Переключение окружений во время чата
Используйте селектор окружений в области ввода чата для переключения в любое время. Переключение происходит мгновенно — следующее сообщение использует новую модель и настройки без начала нового чата или обновления страницы. Это позволяет использовать разные модели для разных этапов задачи: более дешевую модель для исследования и более мощную для реализации.
Навыки как руководства по валидации
Навыки — это папки в .claude/skills/, содержащие файл инструкций SKILL.md и вспомогательные ресурсы (скрипты, документацию, примеры). Они предоставляют контекст, специфичный для проекта, который формирует поведение модели. С точки зрения валидации навыки — это основной механизм предотвращения ошибок до их возникновения.
Frontmatter в SKILL.md
SKILL.md каждого навыка начинается с YAML frontmatter, определяющего метаданные:
---
name: code.development
description: Основной рабочий процесс разработки для этого проекта
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
model: claude-3-5-sonnet
---
- allowed-tools — Разделенный запятыми белый список инструментов, которые модель может использовать, когда этот навык активен. Ограничение инструментов снижает поверхность атаки и предотвращает непреднамеренные действия
- model — Переопределяет модель по умолчанию для этого конкретного навыка, полезно для навыков, которым требуются разные уровни возможностей
Написание правил валидации в навыках
Наиболее эффективная валидация происходит до того, как модель напишет код. Включите конкретные правила в инструкции навыка, которые предотвращают распространенные ошибки. Однако не раздувайте файлы навыков — больше контекста означает меньше внимания к каждому требованию, что делает это как дорогостоящим, так и неэффективным — чем больше информации в контексте, тем меньше внимания уделяется каждому требованию. Начните с пустого и добавляйте короткие однострочные правила только после того, как модель совершит ошибку, затем попросите модель настроить сам навык, пока она не перестанет ошибаться. Предпочитайте, чтобы модель редактировала навыки, а не редактировала их вручную, и не терпите даже редких ошибок. Если вы заметите, что модель испытывает трудности с поиском файлов, использованием инструментов или неожиданным поведением, немедленно остановитесь и попросите ее сначала исправить навык — затем начните новый чат для проверки. Не сдавайтесь, пока это не будет идеально.
- Стандарты кодирования — Соглашения об именовании, правила организации файлов, архитектурные паттерны, которым следует проект
- Ограничения технологий — Какие библиотеки использовать, какие паттерны избегать, лучшие практики, специфичные для фреймворка
- Правила структуры файлов — Где должны размещаться новые файлы, паттерны именования, обязательные импорты или аннотации
- Инструкции по процессу — “Не собирайте вручную — сборки запускаются автоматически при изменении файлов” предотвращает лишние вызовы инструментов
Ожидайте 20–30 итераций добавления правил после ошибок, прежде чем大多数 рутинных задач достигнут точности около 85%.
Конфигурация навыков
Навыки включаются и настраиваются в .claude/skills.yml. Каждый навык имеет флаг enabled и color для визуальной идентификации в селекторе навыков. Когда enabled равно true, навык появляется в элементе управления вводом сообщений под чатом, позволяя переключаться одним щелчком. Даже если навык отключен и не показан там, вы все равно можете попросить модель использовать его напрямую.
skills:
version: 1.0
activated:
code.development:
enabled: true
color: '#3b82f6'
project.planning:
enabled: true
color: '#84cc16'
Селектор навыков
Селектор навыков в области ввода чата позволяет выбрать, какой навык активировать перед отправкой первого сообщения. Система автоматически добавляет start with loading {skill name} skill в ваше сообщение. Для переключения в середине чата он добавляет load {skill name} skill в следующее сообщение, изменяя контекст модели без потери истории разговора.
Выберите правильный навык для текущей задачи. Навык разработки загружает стандарты кодирования и инструкции рабочего процесса. Навык планирования загружает архитектурные рекомендации. Навык веб-сайта загружает паттерны управления контентом. Каждый навык фокусирует внимание модели на том, что важно для текущей задачи.
Эффективные паттерны валидации
- Пишите конкретные инструкции навыков — Расплывчатые правила вроде “пишите чистый код” не помогают. Конкретные правила вроде “все конечные точки API должны возвращать NotFoundResult со свойством message” помогают
- Ограничивайте разрешенные инструменты для каждого навыка — Если навыку нужно только читать и записывать файлы, не давайте ему доступ к Bash. Меньше инструментов — меньше возможностей для ошибок
- Используйте разные окружения для разных задач — Быстрая дешевая модель для простых правок; мощная модель для сложной реализации. Переключайтесь в середине чата по мере развития задачи
- Итеративно улучшайте навыки — Каждая ошибка — это возможность улучшить навык. Кривая улучшения крута: 20–30 исправлений достигают точности ~85%
Полный справочник по окружениям см. в Окружения. Для управления и редактирования навыков см. Навыки. Для оптимизации контекста см. Использование контекста.