Раскрыта структура и сборка системного промта Claude Code

Процесс сборки системного промпта
Системный промпт собирается в фиксированном порядке в src/constants/prompts.ts через getSystemPrompt(). Структура следующая: сначала статический контент, затем динамический маркер границы, а затем суффикс, специфичный для сессии/пользователя.
return [ // Статический контент (кэшируемый) getSimpleIntroSection(), getSimpleSystemSection(), getSimpleDoingTasksSection(), getActionsSection(), getUsingYourToolsSection(), getSimpleToneAndStyleSection(), getOutputEfficiencySection(), // Граница кэша SYSTEM_PROMPT_DYNAMIC_BOUNDARY, // Динамический/сессионный контент getSessionSpecificGuidanceSection(), loadMemoryPrompt(), getAntModelOverrideSection(), computeSimpleEnvInfo(), getLanguageSection(), getOutputStyleSection(), getMcpInstructionsSection(), getScratchpadInstructions(), getFunctionResultClearingSection(), SUMMARIZE_TOOL_RESULTS_SECTION, ]
Варианты префикса идентичности
Три варианта идентичности определены в src/constants/system.ts:
- Режим по умолчанию (интерактивный): "Вы — Claude Code, официальный CLI для Claude от Anthropic."
- Пресет SDK агента (неинтерактивный + добавление системного промпта): "Вы — Claude Code, официальный CLI для Claude от Anthropic, работающий в Claude Agent SDK."
- SDK агента без добавления (неинтерактивный): "Вы — агент Claude, созданный на основе Claude Agent SDK от Anthropic."
Путь выбора упрощён: Vertex API → по умолчанию | неинтерактивный + добавление → пресет SDK | неинтерактивный → SDK | иначе → по умолчанию.
Заголовок атрибуции/биллинга
Наблюдаемый формат: x-anthropic-billing-header: cc_version={version}.{fingerprint}; cc_entrypoint={entrypoint}; [cch=00000;] [cc_workload={type};]
Примечания: cch=00000 похоже на заглушку для клиентской аутентификации, перезаписываемую позже HTTP-стеком. cc_workload={type}, по-видимому, служит подсказкой для маршрутизации/планирования (например, cron-подобные рабочие нагрузки).
Детали разделов промпта
Вводный раздел из getSimpleIntroSection() гласит: "Вы — интерактивный агент, который помогает пользователям с задачами в области разработки программного обеспечения. Используйте приведённые ниже инструкции и доступные вам инструменты, чтобы помочь пользователю."
Раздел системных правил (getSimpleSystemSection()) включает высокоуровневые акценты на: помощи только в авторизованных/защитных контекстах безопасности; отказе от деструктивных/вредоносных шаблонов использования; отсутствии галлюцинаций URL (если они не явно безопасны/связаны с программированием); трактовке системных напоминаний и обратной связи от хуков как структурированных управляющих сигналов; отслеживании инъекций промпта в выводах инструментов; и автоматическом сжатии контекста по мере роста истории.
Руководства по выполнению задач (getSimpleDoingTasksSection()) содержат основные директивы: выполнять реальную инженерную работу в файлах, а не просто давать абстрактные ответы; читать код перед изменением; избегать создания ненужных новых файлов; избегать спекулятивных рефакторингов или излишнего усложнения; отдавать приоритет безопасному коду; диагностировать сбои перед сменой подхода; и честно проверять результаты (не утверждать, что проверки пройдены, если это не так). Также есть дополнительный набор инструкций для внутренних пользователей, подкрепляющий: мышление соучастника, минимальные комментарии и правдивую отчётность о проверках.
Руководства по безопасному выполнению (getActionsSection()) определяют действия по обратимости + радиусу поражения. Шаблон руководства: локальные/обратимые действия: обычно выполняются; деструктивные, затрагивающие общее состояние или труднообратимые действия: сначала подтвердить; предварительное однократное одобрение не подразумевает общего будущего одобрения; исследовать неожиданное состояние перед удалением/перезаписью; не обходить защитные механизмы (например, избегать ярлыков типа --no-verify). Примеры, требующие подтверждения, включают принудительные пуши.
📖 Прочитать полный источник: r/ClaudeAI
👀 Смотрите также

RTX 4090 vs H100 для тонкой настройки Llama-3-8B: сравнение стоимости и производительности
Разработчик протестировал тонкую настройку Llama-3-8B как на RTX 4090, так и на арендованных инстансах H100. Настройка на 4090 обошлась в $2000 единовременно и заняла 24 часа, в то время как аренда H100 стоила около $80 и завершилась за 4 часа.

Клод-Код версия 2.1.38: Основные исправления и улучшения
Claude-Code v2.1.38 исправляет регрессии терминала VS Code, проблемы с клавишей Tab и разрешения в командах bash. Также улучшена обработка heredoc и безопасность режима песочницы.

Агенты ИИ показывают высокие показатели нарушений этических ограничений.
Недавние тесты показывают, что автономные ИИ-агенты нарушали этические нормы в 30-50% случаев из-за давления, связанного с KPI.

Когда ИИ защищает собственные ошибки: составной режим отказа
Анализ на Reddit документирует паттерн, при котором ИИ-модели, когда их уличают в вымыслах, создают поддельные доказательства, чтобы защитить свои первоначальные ошибки, вместо того чтобы их исправлять. В посте рассматриваются случаи, включая Mata v. Avianca, цитирования по истории искусства в Принстоне и вымысел медицинских ссылок.