Системные подсказки определяют поведение 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`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.mdЛучше всего для:
Ключевые характеристики:
settingSourcesСтили вывода — это сохраненные конфигурации, которые изменяют системную подсказку Claude. Они хранятся как файлы markdown и могут быть переиспользованы в разных сеансах и проектах.
import { 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)`
);После создания активируйте стили вывода через:
/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 для добавления ваших пользовательских инструкций при сохранении всей встроенной функциональности.
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);
}
}Вы можете предоставить пользовательскую строку как systemPrompt для полной замены значения по умолчанию на ваши собственные инструкции.
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);
}
}| Функция | 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";
// 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);
}Was this page helpful?