Loading...
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.5Миграция на Claude 4.5Устаревшие моделиЦены
    Разработка с Claude
    Обзор функцийИспользование Messages APIКонтекстные окнаЛучшие практики промптирования
    Возможности
    Кэширование промптовРедактирование контекстаРасширенное мышлениеУсилиеПотоковая передача сообщенийПакетная обработкаЦитированияМногоязычная поддержкаПодсчет токеновВстраиванияЗрениеПоддержка PDFFiles APIРезультаты поискаСтруктурированные выходные данныеДополнение Google Sheets
    Инструменты
    ОбзорКак реализовать использование инструментовЭкономное использование токенов инструментамиПотоковая передача инструментов с высокой детализациейИнструмент BashИнструмент выполнения кодаПрограммное вызывание инструментовИнструмент управления компьютеромИнструмент текстового редактораИнструмент веб-выборкиИнструмент веб-поискаИнструмент памятиИнструмент поиска инструментов
    Навыки агента
    ОбзорБыстрый стартЛучшие практикиИспользование навыков с API
    Agent SDK
    ОбзорTypeScript SDKPython SDKРуководство по миграции
    Руководства
    Потоковый вводОбработка разрешенийУправление сеансомСтруктурированные выходные данные в SDKРазмещение Agent SDKИзменение системных промптовMCP в SDKПользовательские инструментыПодагенты в SDKКосые команды в SDKНавыки агента в SDKОтслеживание затрат и использованияСписки задачПлагины в SDK
    MCP в API
    Соединитель MCPУдаленные серверы MCP
    Claude на платформах третьих сторон
    Amazon BedrockMicrosoft FoundryVertex AI
    Инженерия промптов
    ОбзорГенератор промптовИспользование шаблонов промптовУлучшитель промптовБудьте ясны и прямолинейныИспользуйте примеры (многошаговое промптирование)Дайте Claude подумать (CoT)Используйте XML тегиДайте Claude роль (системные промпты)Предзаполните ответ ClaudeЦепочка сложных промптовСоветы по длинному контекстуСоветы по расширенному мышлению
    Тестирование и оценка
    Определите критерии успехаРазработайте тестовые случаиИспользование инструмента оценкиСнижение задержки
    Усиление защиты
    Снижение галлюцинацийПовышение согласованности выходных данныхСмягчение взломовПотоковые отказыСнижение утечки промптовДержите Claude в образе
    Администрирование и мониторинг
    Обзор Admin APIAPI использования и затратClaude Code Analytics API
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Руководства

    Изменение системных промптов

    Узнайте, как настроить поведение Claude, изменяя системные промпты с помощью трех подходов - стили вывода, systemPrompt с append и пользовательские системные промпты.
    • Понимание системных промптов
    • Методы изменения
    • Метод 1: Файлы CLAUDE.md (инструкции на уровне проекта)
    • Метод 2: Стили вывода (постоянные конфигурации)
    • Метод 3: Использование systemPrompt с append
    • Метод 4: Пользовательские системные промпты
    • Сравнение всех четырех подходов
    • Случаи использования и лучшие практики
    • Когда использовать CLAUDE.md
    • Когда использовать стили вывода
    • Когда использовать systemPrompt с append
    • Когда использовать пользовательский systemPrompt
    • Комбинирование подходов
    • Пример: Стиль вывода с дополнениями, специфичными для сессии
    • См. также

    Системные промпты определяют поведение Claude, возможности и стиль ответов. Claude Agent SDK предоставляет три способа настройки системных промптов: использование стилей вывода (постоянные конфигурации на основе файлов), добавление к промпту Claude Code или использование полностью пользовательского промпта.

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

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

    Поведение по умолчанию: Agent SDK использует пустой системный промпт по умолчанию для максимальной гибкости. Чтобы использовать системный промпт Claude Code (инструкции по инструментам, руководящие принципы кода и т.д.), укажите systemPrompt: { preset: "claude_code" } в TypeScript или system_prompt="claude_code" в Python.

    Системный промпт Claude Code включает:

    • Инструкции по использованию инструментов и доступные инструменты
    • Руководящие принципы стиля и форматирования кода
    • Настройки тона ответа и многословности
    • Инструкции по безопасности и защите
    • Контекст о текущем рабочем каталоге и окружении

    Методы изменения

    Метод 1: Файлы CLAUDE.md (инструкции на уровне проекта)

    Файлы CLAUDE.md предоставляют специфичный для проекта контекст и инструкции, которые автоматически читаются Agent SDK при запуске в каталоге. Они служат постоянной "памятью" для вашего проекта.

    Как CLAUDE.md работает с SDK

    Расположение и обнаружение:

    • Уровень проекта: CLAUDE.md или .claude/CLAUDE.md в вашем рабочем каталоге
    • Уровень пользователя: ~/.claude/CLAUDE.md для глобальных инструкций во всех проектах

    ВАЖНО: SDK читает файлы CLAUDE.md только когда вы явно настраиваете settingSources (TypeScript) или setting_sources (Python):

    • Включите 'project' для загрузки CLAUDE.md на уровне проекта
    • Включите 'user' для загрузки CLAUDE.md на уровне пользователя (~/.claude/CLAUDE.md)

    Пресет системного промпта claude_code НЕ загружает автоматически CLAUDE.md - вы также должны указать источники настроек.

    Формат содержимого: Файлы CLAUDE.md используют обычный markdown и могут содержать:

    • Руководящие принципы и стандарты кодирования
    • Специфичный для проекта контекст
    • Общие команды или рабочие процессы
    • Соглашения API
    • Требования к тестированию

    Пример CLAUDE.md

    # Руководящие принципы проекта
    
    ## Стиль кода
    
    - Используйте строгий режим TypeScript
    - Предпочитайте функциональные компоненты в React
    - Всегда включайте комментарии JSDoc для публичных API
    
    ## Тестирование
    
    - Запускайте `npm test` перед коммитом
    - Поддерживайте >80% покрытия кода
    - Используйте jest для модульных тестов, playwright для E2E
    
    ## Команды
    
    - Сборка: `npm run build`
    - Dev сервер: `npm run dev`
    - Проверка типов: `npm run typecheck`

    Использование CLAUDE.md с SDK

    Когда использовать CLAUDE.md

    Лучше всего для:

    • Общий для команды контекст - Руководящие принципы, которым должны следовать все
    • Соглашения проекта - Стандарты кодирования, структура файлов, шаблоны именования
    • Общие команды - Команды сборки, тестирования, развертывания, специфичные для вашего проекта
    • Долгосрочная память - Контекст, который должен сохраняться во всех сессиях
    • Инструкции под контролем версий - Коммит в git, чтобы команда оставалась синхронизированной

    Ключевые характеристики:

    • ✅ Постоянство во всех сессиях в проекте
    • ✅ Совместное использование с командой через git
    • ✅ Автоматическое обнаружение (не требуется изменений кода)
    • ⚠️ Требует загрузки настроек через settingSources

    Метод 2: Стили вывода (постоянные конфигурации)

    Стили вывода - это сохраненные конфигурации, которые изменяют системный промпт Claude. Они хранятся как markdown файлы и могут быть повторно использованы в разных сессиях и проектах.

    Создание стиля вывода

    Использование стилей вывода

    После создания активируйте стили вывода через:

    • CLI: /output-style [имя-стиля]
    • Настройки: .claude/settings.local.json
    • Создать новый: /output-style:new [описание]

    Примечание для пользователей SDK: Стили вывода загружаются, когда вы включаете settingSources: ['user'] или settingSources: ['project'] (TypeScript) / setting_sources=["user"] или setting_sources=["project"] (Python) в ваших опциях.

    Метод 3: Использование systemPrompt с append

    Вы можете использовать пресет Claude Code со свойством append для добавления ваших пользовательских инструкций, сохраняя при этом всю встроенную функциональность.

    Метод 4: Пользовательские системные промпты

    Вы можете предоставить пользовательскую строку как systemPrompt, чтобы полностью заменить значение по умолчанию своими собственными инструкциями.

    Сравнение всех четырех подходов

    ФункцияCLAUDE.mdСтили выводаsystemPrompt с appendПользовательский systemPrompt
    ПостоянствоФайл на проектСохранены как файлыТолько сессияТолько сессия
    Повторное использованиеНа проектМежду проектамиДублирование кодаДублирование кода
    УправлениеВ файловой системеCLI + файлыВ кодеВ коде
    Инструменты по умолчаниюСохраненыСохраненыСохраненыПотеряны (если не включены)

    Примечание: "С append" означает использование systemPrompt: { type: "preset", preset: "claude_code", append: "..." } в TypeScript или system_prompt={"type": "preset", "preset": "claude_code", "append": "..."} в Python.

    Случаи использования и лучшие практики

    Когда использовать CLAUDE.md

    Лучше всего для:

    • Специфичных для проекта стандартов и соглашений кодирования
    • Документирования структуры и архитектуры проекта
    • Перечисления общих команд (сборка, тест, развертывание)
    • Общего для команды контекста, который должен быть под контролем версий
    • Инструкций, которые применяются ко всему использованию SDK в проекте

    Примеры:

    • "Все API конечные точки должны использовать шаблоны async/await"
    • "Запускай npm run lint:fix перед коммитом"
    • "Миграции базы данных находятся в каталоге migrations/"

    Важно: Чтобы загрузить файлы CLAUDE.md, вы должны явно установить settingSources: ['project'] (TypeScript) или setting_sources=["project"] (Python). Пресет системного промпта claude_code НЕ загружает автоматически CLAUDE.md без этой настройки.

    Когда использовать стили вывода

    Лучше всего для:

    • Постоянных изменений поведения между сессиями
    • Конфигураций, общих для команды
    • Специализированных помощников (обзорщик кода, специалист по данным, DevOps)
    • Сложных изменений промпта, которые нуждаются в версионировании

    Примеры:

    • Создание специализированного помощника по оптимизации SQL
    • Построение обзорщика кода, ориентированного на безопасность
    • Разработка помощника по обучению с конкретной педагогикой

    Когда использовать systemPrompt с append

    Лучше всего для:

    • Добавления конкретных стандартов или предпочтений кодирования
    • Настройки форматирования вывода
    • Добавления знаний, специфичных для домена
    • Изменения многословности ответа
    • Улучшения поведения Claude Code по умолчанию без потери инструкций по инструментам

    Когда использовать пользовательский systemPrompt

    Лучше всего для:

    • Полного контроля над поведением Claude
    • Специализированных задач одной сессии
    • Тестирования новых стратегий промпта
    • Ситуаций, где инструменты по умолчанию не нужны
    • Построения специализированных агентов с уникальным поведением

    Комбинирование подходов

    Вы можете комбинировать эти методы для максимальной гибкости:

    Пример: Стиль вывода с дополнениями, специфичными для сессии

    См. также

    • Стили вывода - Полная документация по стилям вывода
    • Руководство по TypeScript SDK - Полное руководство по использованию SDK
    • Справочник по TypeScript SDK - Полная документация API
    • Руководство по конфигурации - Общие опции конфигурации
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // ВАЖНО: Вы должны указать settingSources для загрузки CLAUDE.md
    // Пресет claude_code сам по себе НЕ загружает файлы CLAUDE.md
    const messages = [];
    
    for await (const message of query({
      prompt: "Добавь новый React компонент для профилей пользователей",
      options: {
        systemPrompt: {
          type: "preset",
          preset: "claude_code", // Используй системный промпт Claude Code
        },
        settingSources: ["project"], // Требуется для загрузки CLAUDE.md из проекта
      },
    })) {
      messages.push(message);
    }
    
    // Теперь Claude имеет доступ к руководящим принципам вашего проекта из CLAUDE.md
    import { writeFile, mkdir } from "fs/promises";
    import { join } from "path";
    import { homedir } from "os";
    
    async function createOutputStyle(
      name: string,
      description: string,
      prompt: string
    ) {
      // Уровень пользователя: ~/.claude/output-styles
      // Уровень проекта: .claude/output-styles
      const outputStylesDir = join(homedir(), ".claude", "output-styles");
    
      await mkdir(outputStylesDir, { recursive: true });
    
      const content = `---
    name: ${name}
    description: ${description}
    ---
    
    ${prompt}`;
    
      const filePath = join(
        outputStylesDir,
        `${name.toLowerCase().replace(/\s+/g, "-")}.md`
      );
      await writeFile(filePath, content, "utf-8");
    }
    
    // Пример: Создать специалиста по обзору кода
    await createOutputStyle(
      "Code Reviewer",
      "Тщательный помощник по обзору кода",
      `Ты эксперт по обзору кода.
    
    Для каждой отправки кода:
    1. Проверь на ошибки и проблемы безопасности
    2. Оцени производительность
    3. Предложи улучшения
    4. Оцени качество кода (1-10)`
    );
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    const messages = [];
    
    for await (const message of query({
      prompt: "Помоги мне написать Python функцию для вычисления чисел Фибоначчи",
      options: {
        systemPrompt: {
          type: "preset",
          preset: "claude_code",
          append:
            "Всегда включай подробные docstrings и подсказки типов в Python коде.",
        },
      },
    })) {
      messages.push(message);
      if (message.type === "assistant") {
        console.log(message.message.content);
      }
    }
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    const customPrompt = `Ты специалист по Python кодированию.
    Следуй этим руководящим принципам:
    - Пиши чистый, хорошо документированный код
    - Используй подсказки типов для всех функций
    - Включай исчерпывающие docstrings
    - Предпочитай шаблоны функционального программирования, когда это уместно
    - Всегда объясняй свой выбор кода`;
    
    const messages = [];
    
    for await (const message of query({
      prompt: "Создай конвейер обработки данных",
      options: {
        systemPrompt: customPrompt,
      },
    })) {
      messages.push(message);
      if (message.type === "assistant") {
        console.log(message.message.content);
      }
    }
    Встроенная безопасность
    Поддерживается
    Поддерживается
    Поддерживается
    Должна быть добавлена
    Контекст окруженияАвтоматическийАвтоматическийАвтоматическийДолжен быть предоставлен
    Уровень настройкиТолько дополненияЗаменить по умолчаниюТолько дополненияПолный контроль
    Контроль версийС проектомДаС кодомС кодом
    ОбластьСпецифично для проектаПользователь или проектСессия кодаСессия кода
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // Предполагая, что стиль вывода "Code Reviewer" активен (через /output-style)
    // Добавить области фокуса, специфичные для сессии
    const messages = [];
    
    for await (const message of query({
      prompt: "Просмотри этот модуль аутентификации",
      options: {
        systemPrompt: {
          type: "preset",
          preset: "claude_code",
          append: `
            Для этого обзора приоритизируй:
            - Соответствие OAuth 2.0
            - Безопасность хранения токенов
            - Управление сессиями
          `,
        },
      },
    })) {
      messages.push(message);
    }