Управление моделями и навыками

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

Skill selector control

Конфигурация модели

Модели позволяют переключаться между разными ИИ и провайдерами без перезапуска сессии. Каждая модель — это именованный набор переменных кодинг-агента: ключи API, названия моделей, базовые адреса и цены. Всё хранится в .pastukhov/models.yml.

Подстановка переменных

В переменных окружения можно использовать ссылки $VARIABLE_NAME. При активации модели они разворачиваются в реальные значения — как из других переменных модели, так и из системных переменных окружения. Это позволяет держать секреты вне репозитория:

# .pastukhov/models.yml — безопасно для коммита
environments:
  production:
    variables:
      - ANTHROPIC_API_KEY=$MY_API_KEY          # разрешается из системного окружения во время выполнения
      - ANTHROPIC_BASE_URL=https://api.anthropic.com

Иерархическое наследование

Имена моделей поддерживают наследование по сегментам, разделённым дефисами. Модель glm-5-turbo автоматически наследует переменные и от glm-5, и от glm. Общие настройки (ключ API, базовый адрес) задаются в родителе, а в дочерних переопределяется только то, что отличается:

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%.

Конфигурация навыков

Настройки отображения навыков хранятся в .xedant/skills.yml: у каждого навыка — запись с полем color для визуального отличия в селекторе. Все навыки с файлом SKILL.md всегда активны и появляются в селекторе чата; изменить цвет можно в диалоге навыков.

skills:
  version: 1.0
  activated:
    code.development:
      enabled: true
      color: '#3b82f6'
    project.planning:
      enabled: true
      color: '#84cc16'

Селектор навыков

Селектор навыков в области ввода чата показывает список навыков с их цветами и явный пункт «Без навыка». Выбор привязан к чату так же, как модель: восстанавливается при открытии чата и наследуется новыми чатами. Сама загрузка навыка автоматическая — требование доставляется обвязке внеполосным каналом (строка системного промпта, флаг запуска или переменная окружения), а ваше сообщение остаётся чистым. Подробнее — на странице Навыки.

Выбирайте навык под текущую задачу. Навык разработки загружает стандарты кодирования и рабочие инструкции, навык планирования — архитектурные рекомендации, навык сайта — паттерны управления контентом. Каждый навык фокусирует внимание модели на том, что важно именно сейчас.


Эффективные приёмы проверки

  • Пишите конкретные инструкции — расплывчатые правила вроде «пишите чистый код» не помогают. Конкретное правило вроде «все конечные точки API должны возвращать NotFoundResult с полем message» — помогает;
  • Ограничивайте инструменты для каждого навыка — если навыку нужно только читать и писать файлы, не давайте ему Bash. Меньше инструментов — меньше поводов для ошибок;
  • Используйте разные модели для разных задач — быстрая дешёвая модель для простых правок, мощная — для сложной реализации. Переключайтесь в середине чата по мере развития задачи;
  • Улучшайте навыки итеративно — каждая ошибка — повод улучшить навык. Кривая роста крутая: 20–30 исправлений дают точность около 85%.

Полный справочник по моделям — на странице Модели, по навыкам — Навыки, оптимизация контекста — Использование контекста.