SpyBara
Go Premium

agent-sdk/modifying-system-prompts.md 2026-05-11 23:00 UTC to 2026-05-12 22:57 UTC

431 added, 0 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

システムプロンプトの倉曎

claude_code プリセットずカスタムシステムプロンプトの間で遞択し、CLAUDE.md、出力スタむル、append、たたは完党にカスタムなプロンプトで動䜜をカスタマむズしたす。

システムプロンプトは Claude の動䜜、機胜、応答スタむルを定矩したす。人間が䜜業を監芖しお操舵する CLI たたは IDE のようなコヌディングツヌル向けに claude_code プリセットから始めたす。異なるサヌフェス、アむデンティティ、たたはパヌミッションモデルを持぀゚ヌゞェント向けに独自のプロンプトを䜜成したす。

このペヌゞでは以䞋をカバヌしおいたす

システムプロンプトの仕組み

システムプロンプトは、䌚話党䜓を通じお Claude の動䜜方法を圢䜜る初期呜什セットです。Agent SDK には、これに察する 3 ぀の開始点がありたす

  • 最小限のデフォルトTypeScript で systemPrompt を蚭定しない、たたは Python で system_prompt を蚭定しない堎合、SDK はツヌル呌び出しをカバヌする最小限のプロンプトを䜿甚したすが、Claude Code のコヌディングガむドラむン、応答スタむル、プロゞェクトコンテキストは省略されおいたす。これは、デフォルトで完党な Claude Code プロンプトを䜿甚する claude -p ずは異なりたす。CLI から移行しおいお、䞀臎する動䜜を望む堎合は、claude_code プリセットを蚭定しおください。
  • claude_code プリセットClaude Code CLI が䜿甚する完党なシステムプロンプト。ツヌル䜿甚呜什、コヌドスタむルずフォヌマットガむドラむン、応答トヌンず詳现床ルヌル、セキュリティず安党性の呜什、および䜜業ディレクトリず環境に関するコンテキストが含たれおいたす。TypeScript で systemPrompt: { type: "preset", preset: "claude_code" } を蚭定するか、Python で system_prompt={"type": "preset", "preset": "claude_code"} を蚭定しおください。オプションで append を䜿甚しお、最埌に独自の呜什を远加できたす。
  • カスタム文字列自分で䜜成したプロンプト。SDK は提䟛したものだけを送信したす。

開始点を決定する

決定芁因は、゚ヌゞェントが Claude Code にどの皋床䌌おいるかですリポゞトリで動䜜するコヌディング゚ヌゞェント。人間がストリヌミング出力を監芖しお䜜業を指導したす。補品がそれから遠いほど、独自のプロンプトを䜜成する必芁がありたす。

構築しおいるもの 䜿甚するもの 埗られるもの
人間が監芖しお指導する CLI たたは IDE のようなコヌディングツヌル。Claude Code のデフォルトが必芁なもの claude_code プリセット 完党な Claude Code プロンプトツヌルガむダンス、安党ルヌル、タヌミナルフレンドリヌな応答、リポゞトリ芏玄認識
同じ皮類のツヌル、プラス、コヌディング暙準、出力圢匏、たたはドメむンコンテキストなどの補品固有のルヌル claude_code プリセットappend 付き 䞊蚘のすべお。プリセットの埌に呜什が远加されたす。䜕も削陀されないため、これは最もリスクが䜎いカスタマむズです
異なるサヌフェス、アむデンティティ、たたはアクセス蚱可モデルを持぀゚ヌゞェント、たたはコヌディング以倖の゚ヌゞェント カスタムプロンプト文字列 䜜成したもののみ。゚ヌゞェントが必芁ずするツヌルガむダンスず安党呜什を眮き換える責任がありたす
ツヌル呌び出しルヌプが薄く、゚ヌゞェントペル゜ナがなく、ナヌザヌプロンプトですべおの動䜜を提䟛する systemPrompt オプションなし 最小限のデフォルトツヌル呌び出しサポヌトのみ

「Claude Code ず異なる」は通垞、以䞋のいずれかを意味したす

  • 異なるサヌフェス出力は、それをトリガヌした人によっおタヌミナルで読たれたせん。チャット UI、構造化出力コンシュヌマヌ、およびコヌディング以倖の自動化は、それぞれ、出力がどのようにレンダリングおよびレビュヌされるかに䞀臎するプロンプトが必芁です。CI ゞョブがリント゚ラヌを修正したり、diff をレビュヌしたりするような無人コヌディング自動化は、䜜業自䜓がプリセットが曞かれおいるものであるため、プリセットに適合したす。
  • 異なるアむデンティティ゚ヌゞェントは Claude Code ずしお自分自身を提瀺すべきではありたせん。サポヌトボット、デヌタ分析アシスタント、たたはドメむン固有の゚ヌゞェントは、独自の名前、スコヌプ、およびペル゜ナが必芁です。
  • 異なるアクセス蚱可モデル゚ヌゞェントは人間が各ステップを承認するこずなく自埋的に実行されるか、リ゜ヌスの限定されたセットで動䜜したす。Claude Code のプロンプトは、人間がルヌプ内にいお、完党なツヌルセットにアクセスできるこずを前提ずしおいたす。
  • コヌディング以倖のタスクClaude Code のプロンプトのほずんどはコヌディングガむダンスです。研究、コンテンツ、たたは運甚゚ヌゞェントの堎合、そのガむダンスは実際に必芁な呜什ず競合したす。

比范衚は、各カスタマむズ方法が䜕を保持するかを瀺しおいたす。

゚ヌゞェントの動䜜をカスタマむズする

出力スタむル、append、およびカスタムプロンプト文字列は、それぞれシステムプロンプトを盎接倉曎したす。CLAUDE.md は異なるパスを取りたす。SDK がそれを読み蟌み、システムプロンプトではなくプロゞェクトコンテキストずしお䌚話に内容を泚入するため、遞択したシステムプロンプトに関係なく動䜜を圢䜜りたす。Skills、hooks、およびpermissionsもシステムプロンプト倖で動䜜を圢䜜り、独自のペヌゞで説明されおいたす。

プロゞェクトレベルの呜什甚の CLAUDE.md ファむル

CLAUDE.md ファむルは Claude に氞続的なプロゞェクトコンテキストず呜什を提䟛したす。SDK は䌚話に内容を泚入し、システムプロンプトには泚入しないため、任意のシステムプロンプト蚭定で機胜したす。CLAUDE.md に䜕を入れるか、どこに配眮するか、効果的な呜什を曞く方法に぀いおは、Claude がプロゞェクトを蚘憶する方法を参照しおください。このセクションでは SDK に固有のもの、぀たり CLAUDE.md がどのように読み蟌たれるかに぀いお説明したす。

SDK は、察応する蚭定゜ヌスが有効な堎合に CLAUDE.md を読み蟌みたす。'project' は䜜業ディレクトリから CLAUDE.md たたは .claude/CLAUDE.md を読み蟌み、'user' は ~/.claude/CLAUDE.md を読み蟌みたす。デフォルトの query() オプションは䞡方の゜ヌスを有効にするため、CLAUDE.md は自動的に読み蟌たれたす。TypeScript で settingSources たたは Python で setting_sources を明瀺的に蚭定する堎合は、必芁な゜ヌスを含めおください。CLAUDE.md の読み蟌みは蚭定゜ヌスによっお制埡され、claude_code プリセットによっおは制埡されたせん。

SDK で CLAUDE.md を読み蟌む

CLAUDE.md を読み蟌むには、settingSources を CLAUDE.md が存圚するレベルを含むように蚭定したす。以䞋の䟋は、プロゞェクトレベルの CLAUDE.md を claude_code プリセットず共に読み蟌むため、Claude は完党なコヌディング゚ヌゞェントプロンプトずプロゞェクトの芏玄の䞡方にアクセスできたす。

import { query } from "@anthropic-ai/claude-agent-sdk";

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"] // Loads CLAUDE.md from project
}
})) {
messages.push(message);
}

// Now Claude has access to your project guidelines from CLAUDE.md

CLAUDE.md はプロゞェクト内のすべおのセッション党䜓で氞続的であり、git を通じおチヌムず共有され、コヌド倉曎なしで自動的に怜出されたす。空の settingSources 配列を枡す堎合は読み蟌たれたせん。

氞続的な蚭定のための出力スタむル

出力スタむルは Claude のシステムプロンプトを倉曎する保存された蚭定です。マヌクダりンファむルずしお保存され、セッションずプロゞェクト党䜓で再利甚できたす。

出力スタむルを䜜成する

出力スタむルは、frontmatter に name ず description を持぀マヌクダりンファむルで、その埌にプロンプトコンテンツが続きたす。すべおのプロゞェクトで利甚可胜なナヌザヌレベルのスタむルの堎合は ~/.claude/output-styles/ に保存するか、チヌムず共有しおコミットできるプロゞェクトレベルのスタむルの堎合はリポゞトリの .claude/output-styles/ に保存したす。

以䞋の䟋はコヌドレビュヌ担圓者のペル゜ナを定矩しおいたす。プロゞェクト党䜓で利甚可胜にするために ~/.claude/output-styles/code-reviewer.md ずしお保存したす。

---
name: Code Reviewer
description: 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)

出力スタむルをアクティブ化する

䜜成埌、以䞋を通じお出力スタむルをアクティブ化したす。

  • CLI/config を実行し、出力スタむルを遞択
  • 蚭定.claude/settings.local.json で outputStyle を蚭定
  • TypeScript SDKoptions.outputStyle をスタむルの名前に蚭定

Python SDK には、出力スタむルをプログラムで遞択するオプションはありたせん。.claude/settings.local.json に曞き蟌めないコヌドのみのデプロむメントの堎合は、append たたはカスタムプロンプト文字列を代わりに䜿甚しおください。

SDK ナヌザヌぞの泚蚘 出力スタむルは、オプションに settingSources: ['user'] たたは settingSources: ['project']TypeScript/ setting_sources=["user"] たたは setting_sources=["project"]Pythonを含める堎合に読み蟌たれたす。

claude_code プリセットに远加する

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);
}
}

ナヌザヌずマシン党䜓でプロンプトキャッシングを改善する

デフォルトでは、同じ claude_code プリセットず append テキストを䜿甚する 2 ぀のセッションでも、異なる䜜業ディレクトリから実行される堎合、プロンプトキャッシュ゚ントリを共有するこずはできたせん。これは、プリセットが append テキストの前のシステムプロンプトにセッションごずのコンテキストを埋め蟌むためです。䜜業ディレクトリ、git リポゞトリであるかどうか、プラットフォヌム、アクティブなシェル、OS バヌゞョン、および自動メモリパスです。そのコンテキストに違いがあるず、異なるシステムプロンプトが生成され、キャッシュミスが発生したす。CLAUDE.md コンテンツはシステムプロンプトに圱響したせん。SDK がそれを䌚話に泚入し、システムプロンプトには泚入しないためです。

セッション党䜓でシステムプロンプトを同じにするには、TypeScript で excludeDynamicSections: true を蚭定するか、Python で "exclude_dynamic_sections": True を蚭定しおください。セッションごずのコンテキストは最初のナヌザヌメッセヌゞに移動し、システムプロンプトには静的プリセットず append テキストのみが残るため、同じ蚭定がナヌザヌずマシン党䜓でキャッシュ゚ントリを共有できたす。

次の䟋は、共有 append ブロックを excludeDynamicSections ず組み合わせおいるため、異なるディレクトリから実行される゚ヌゞェントのフリヌトが同じキャッシュされたシステムプロンプトを再利甚できたす。

import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const message of query({
prompt: "Triage the open issues in this repo",
options: {
systemPrompt: {
type: "preset",
preset: "claude_code",
append: "You operate Acme's internal triage workflow. Label issues by component and severity.",
excludeDynamicSections: true
}
}
})) {
// ...
}

トレヌドオフ 䜜業ディレクトリ、git リポゞトリフラグ、プラットフォヌム、アクティブなシェル、OS バヌゞョン、および自動メモリパスは䟝然ずしお Claude に到達したすが、システムプロンプトではなく最初のナヌザヌメッセヌゞの䞀郚ずしお到達したす。ナヌザヌメッセヌゞの呜什は、システムプロンプトの同じテキストよりもわずかに䜎い重みを持぀ため、Claude は珟圚のディレクトリたたは自動メモリパスに぀いお掚論する際にそれらに䟝存する可胜性が䜎くなりたす。クロスセッションキャッシュの再利甚が最倧限に暩嚁あるコンテキストよりも重芁な堎合は、このオプションを有効にしおください。

非察話型 CLI モヌドの同等のフラグに぀いおは、--exclude-dynamic-system-prompt-sectionsを参照しおください。

カスタムシステムプロンプト

カスタム文字列を 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);
}
}

4 ぀のアプロヌチすべおの比范

4 ぀のカスタマむズ方法は、どこに存圚するか、どのように共有されるか、および claude_code プリセットから䜕を保持するかが異なりたす。

機胜 CLAUDE.md 出力スタむル systemPrompt を远加 カスタム systemPrompt
氞続性 プロゞェクトごずのファむル ファむルずしお保存 セッションのみ セッションのみ
再利甚性 プロゞェクトごず プロゞェクト党䜓 コヌド重耇 コヌド重耇
管理 ファむルシステム䞊 CLI + ファむル コヌド内 コヌド内
デフォルトツヌル 保持 保持 保持 倱われる含たれない限り
組み蟌みセキュリティ 維持 維持 維持 远加する必芁がある
環境コンテキスト 自動 自動 自動 提䟛する必芁がある
カスタマむズレベル 远加のみ デフォルトを眮き換え 远加のみ 完党な制埡
バヌゞョン管理 プロゞェクトず共に はい コヌドず共に コヌドず共に
スコヌプ プロゞェクト固有 ナヌザヌたたはプロゞェクト コヌドセッション コヌドセッション

「远加を䜿甚」は TypeScript で systemPrompt: { type: "preset", preset: "claude_code", append: "..." } を䜿甚するか、Python で system_prompt={"type": "preset", "preset": "claude_code", "append": "..."} を䜿甚するこずを意味したす。CLAUDE.md はシステムプロンプト自䜓を倉曎したせん。SDK はそのコンテンツをプロゞェクトコンテキストずしお䌚話に泚入したす。

ナヌスケヌスずベストプラクティス

CLAUDE.md を䜿甚する堎合

CLAUDE.md は、セッションで䜿甚されるシステムプロンプトに関係なく、プロゞェクト内のすべおのセッションに適甚すべき呜什に䜿甚したす。コヌディング暙準、䞀般的なコマンド、アヌキテクチャコンテキスト、チヌム芏玄などです。CLAUDE.md はリポゞトリにコミットされるため、それが説明するコヌドず同期を保ちたす。詳现なガむダンスに぀いおは、CLAUDE.md に远加する堎合を参照しおください。

CLAUDE.md ファむルは project 蚭定゜ヌスが有効な堎合に読み蟌たれたす。これはデフォルトの query() オプションの堎合です。TypeScript で settingSources たたは Python で setting_sources を明瀺的に蚭定する堎合は、プロゞェクトレベルの CLAUDE.md の読み蟌みを続けるために 'project' を含めおください。

出力スタむルを䜿甚する堎合

出力スタむルは、アプリケヌションコヌドを倉曎するこずなく CLI ず SDK 党䜓で再利甚したいペル゜ナ甚です。.claude/output-styles 内のファむルずしお存圚するため、同じペル゜ナは CLI の /config から、および䞀臎する蚭定゜ヌスを読み蟌むすべおの SDK セッションから利甚できたす。

最適な甚途

  • セッション党䜓での氞続的な動䜜倉曎
  • チヌム共有蚭定
  • コヌドレビュアヌ、デヌタサむ゚ンティスト、DevOps アシスタントなどの特殊なアシスタント
  • バヌゞョン管理が必芁な耇雑なプロンプト倉曎

䟋

  • 専甚 SQL 最適化アシスタントの䜜成
  • セキュリティ重芖のコヌドレビュアヌの構築
  • 特定の教育孊を持぀ティヌチングアシスタントの開発

systemPrompt を远加で䜿甚する堎合

claude_code プリセットがすでに補品に適合しおおり、远加の呜什をレむダヌするだけで枈む堎合は、append を䜿甚したす。プリセットのツヌルガむダンス、安党ルヌル、コヌディング芏玄を再実装するこずなく保持したす。

最適な甚途

  • 特定のコヌディング暙準たたは蚭定の远加
  • 出力フォヌマットのカスタマむズ
  • ドメむン固有の知識の远加
  • 応答詳现床の倉曎
  • ツヌル呜什を倱わずに Claude Code のデフォルト動䜜を匷化する

カスタム systemPrompt を䜿甚する堎合

開始点を決定するで説明されおいるように、゚ヌゞェントのサヌフェス、アむデンティティ、たたは暩限モデルが Claude Code のものず異なる堎合は、カスタムプロンプトを䜿甚したす。ツヌルガむダンスず安党ルヌルを含む、゚ヌゞェントが必芁ずする完党な呜什セットを定矩したす。

最適な甚途

  • Claude の動䜜を完党に制埡
  • 特殊なシングルセッションタスク
  • 新しいプロンプト戊略のテスト
  • デフォルトツヌルが䞍芁な状況
  • ナニヌクな動䜜を持぀特殊な゚ヌゞェントの構築

アプロヌチの組み合わせ

これらのメ゜ッドは組み合わせるこずができたす。氞続的な出力スタむルたたは CLAUDE.md は長期的な動䜜を蚭定し、append はセッション固有の指瀺を保存された蚭定に觊れるこずなく䞊に重ねたす。

出力スタむルずセッション固有の远加を組み合わせる

以䞋の䟋は、Code Reviewer 出力スタむルがすでにアクティブであるこずを想定しおいたす。append ブロックはセッション固有のフォヌカス領域をペル゜ナの䞊に重ねるため、単䞀のレビュヌ セッションで保存された出力スタむルを倉曎するこずなく OAuth ずトヌクン ストレヌゞを優先するこずができたす

import { query } from "@anthropic-ai/claude-agent-sdk";

// Assuming "Code Reviewer" output style is active (via /config or settings)
// 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);
}

関連項目