Was this page helpful?
Системные подсказки определяют поведение Claude, его возможности и стиль ответов. Claude Agent SDK предоставляет три способа настройки системных подсказок: использование стилей вывода (постоянные конфигурации на основе файлов), добавление к подсказке Claude Code или использование полностью пользовательской подсказки.
Системная подсказка — это начальный набор инструкций, который определяет поведение Claude на протяжении всего разговора.
Поведение по умолчанию: Agent SDK использует минимальную системную подсказку по умолчанию. Она содержит только необходимые инструкции инструментов, но опускает рекомендации по кодированию Claude Code, стиль ответов и контекст проекта. Чтобы включить полную системную подсказку Claude Code, укажите systemPrompt: { preset: "claude_code" } в TypeScript или system_prompt={"type": "preset", "preset": "claude_code"} в Python.
Системная подсказка Claude Code включает:
Файлы CLAUDE.md предоставляют контекст и инструкции, специфичные для проекта, которые автоматически читаются Agent 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 и могут содержать:
# Project Guidelines
## Code Style
- Use TypeScript strict mode
- Prefer functional components in React
- Always include JSDoc comments for public APIs
## Testing
- Run `npm test` before committing
- Maintain >80% code coverage
- Use jest for unit tests, playwright for E2E
## Commands
- Build: `npm run build`
- Dev server: `npm run dev`
- Type check: `npm run typecheck`Лучше всего для:
Ключевые характеристики:
settingSourcesСтили вывода — это сохраненные конфигурации, которые изменяют системную подсказку Claude. Они хранятся как файлы markdown и могут быть переиспользованы в разных сеансах и проектах.
После создания активируйте стили вывода через:
/output-style [style-name].claude/settings.local.json/output-style:new [description]Примечание для пользователей SDK: Стили вывода загружаются, когда вы включаете settingSources: ['user'] или settingSources: ['project'] (TypeScript) / setting_sources=["user"] или setting_sources=["project"] (Python) в ваши параметры.
systemPrompt с добавлениемВы можете использовать предустановку Claude Code со свойством append для добавления ваших пользовательских инструкций при сохранении всей встроенной функциональности.
Вы можете предоставить пользовательскую строку как systemPrompt для полной замены значения по умолчанию на ваши собственные инструкции.
| Функция | CLAUDE.md | Стили вывода | systemPrompt с добавлением | Пользовательский systemPrompt |
|---|---|---|---|---|
| Постоянство | Файл для каждого проекта | Сохраняется как файлы | Только сеанс | Только сеанс |
| Переиспользуемость | Для каждого проекта | Между проектами | Дублирование кода | Дублирование кода |
| Управление | На файловой системе | CLI + файлы | В коде | В коде |
| Инструменты по умолчанию | Сохранены | Сохранены | Сохранены | Потеряны (если не включены) |
Примечание: "С добавлением" означает использование systemPrompt: { type: "preset", preset: "claude_code", append: "..." } в TypeScript или system_prompt={"type": "preset", "preset": "claude_code", "append": "..."} в Python.
Лучше всего для:
Примеры:
npm run lint:fix перед фиксацией"migrations/"Важно: Чтобы загрузить файлы CLAUDE.md, вы должны явно установить settingSources: ['project'] (TypeScript) или setting_sources=["project"] (Python). Предустановка системной подсказки claude_code НЕ загружает CLAUDE.md автоматически без этого параметра.
Лучше всего для:
Примеры:
systemPrompt с добавлениемЛучше всего для:
systemPromptЛучше всего для:
Вы можете комбинировать эти методы для максимальной гибкости:
import { query } from "@anthropic-ai/claude-agent-sdk";
// IMPORTANT: You must specify settingSources to load CLAUDE.md
// The claude_code preset alone does NOT load CLAUDE.md files
const messages = [];
for await (const message of query({
prompt: "Add a new React component for user profiles",
options: {
systemPrompt: {
type: "preset",
preset: "claude_code", // Use Claude Code's system prompt
},
settingSources: ["project"], // Required to load CLAUDE.md from project
},
})) {
messages.push(message);
}
// Now Claude has access to your project guidelines from CLAUDE.mdimport { writeFile, mkdir } from "fs/promises";
import { join } from "path";
import { homedir } from "os";
async function createOutputStyle(
name: string,
description: string,
prompt: string
) {
// User-level: ~/.claude/output-styles
// Project-level: .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");
}
// Example: Create a code review specialist
await createOutputStyle(
"Code Reviewer",
"Thorough code review assistant",
`You are an expert code reviewer.
For every code submission:
1. Check for bugs and security issues
2. Evaluate performance
3. Suggest improvements
4. Rate code quality (1-10)`
);import { query } from "@anthropic-ai/claude-agent-sdk";
const messages = [];
for await (const message of query({
prompt: "Help me write a Python function to calculate fibonacci numbers",
options: {
systemPrompt: {
type: "preset",
preset: "claude_code",
append:
"Always include detailed docstrings and type hints in Python code.",
},
},
})) {
messages.push(message);
if (message.type === "assistant") {
console.log(message.message.content);
}
}import { query } from "@anthropic-ai/claude-agent-sdk";
const customPrompt = `You are a Python coding specialist.
Follow these guidelines:
- Write clean, well-documented code
- Use type hints for all functions
- Include comprehensive docstrings
- Prefer functional programming patterns when appropriate
- Always explain your code choices`;
const messages = [];
for await (const message of query({
prompt: "Create a data processing pipeline",
options: {
systemPrompt: customPrompt,
},
})) {
messages.push(message);
if (message.type === "assistant") {
console.log(message.message.content);
}
}| Встроенная безопасность |
| Поддерживается |
| Поддерживается |
| Поддерживается |
| Должна быть добавлена |
| Контекст окружения | Автоматический | Автоматический | Автоматический | Должен быть предоставлен |
| Уровень настройки | Только добавления | Замена по умолчанию | Только добавления | Полный контроль |
| Контроль версий | С проектом | Да | С кодом | С кодом |
| Область действия | Специфично для проекта | Пользователь или проект | Сеанс кода | Сеанс кода |
import { query } from "@anthropic-ai/claude-agent-sdk";
// Assuming "Code Reviewer" output style is active (via /output-style)
// Add session-specific focus areas
const messages = [];
for await (const message of query({
prompt: "Review this authentication module",
options: {
systemPrompt: {
type: "preset",
preset: "claude_code",
append: `
For this review, prioritize:
- OAuth 2.0 compliance
- Token storage security
- Session management
`,
},
},
})) {
messages.push(message);
}