Loading...
    • 開発者ガイド
    • API リファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    はじめに
    Claude の紹介クイックスタート
    モデルと料金
    モデル概要モデルの選び方Claude 4.6 の新機能移行ガイドモデルの廃止料金
    Claude で構築する
    機能概要Messages API の使用停止理由の処理プロンプトのベストプラクティス
    コンテキスト管理
    コンテキストウィンドウコンパクションコンテキスト編集
    機能
    プロンプトキャッシング拡張思考適応型思考エフォートメッセージのストリーミングバッチ処理引用多言語サポートトークンカウントエンベディングビジョンPDF サポートFiles API検索結果構造化出力
    ツール
    概要ツール使用の実装方法きめ細かいツールストリーミングBash ツールコード実行ツールプログラムによるツール呼び出しコンピュータ使用ツールテキストエディタツールWeb フェッチツールWeb 検索ツールメモリツールツール検索ツール
    Agent Skills
    概要クイックスタートベストプラクティスエンタープライズ向け SkillsAPI での Skills の使用
    Agent SDK
    概要クイックスタートTypeScript SDKTypeScript V2(プレビュー)Python SDK移行ガイド
    ストリーミング入力リアルタイムでレスポンスをストリーミング停止理由の処理権限の処理ユーザー承認と入力フックによる実行制御セッション管理ファイルチェックポイントSDK での構造化出力Agent SDK のホスティングAI エージェントの安全なデプロイシステムプロンプトの変更SDK での MCPカスタムツールSDK でのサブエージェントSDK でのスラッシュコマンドSDK での Agent Skillsコストと使用量の追跡Todo リストSDK でのプラグイン
    API での MCP
    MCP コネクタリモート MCP サーバー
    サードパーティプラットフォームの Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータープロンプトテンプレートの使用プロンプト改善ツール明確かつ直接的に例を使う(マルチショットプロンプティング)Claude に考えさせる(CoT)XML タグを使うClaude に役割を与える(システムプロンプト)複雑なプロンプトを連鎖させる長文コンテキストのヒント拡張思考のヒント
    テストと評価
    成功基準の定義テストケースの開発評価ツールの使用レイテンシの削減
    ガードレールの強化
    ハルシネーションの削減出力の一貫性を高めるジェイルブレイクの軽減ストリーミング拒否プロンプト漏洩の防止Claude をキャラクターに保つ
    管理とモニタリング
    Admin API 概要データレジデンシーワークスペースUsage and Cost APIClaude Code Analytics APIゼロデータリテンション
    Console
    Log in
    Loading...
    Loading...
    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
    ガイド

    システムプロンプトの変更

    出力スタイル、appendを使用したsystemPrompt、カスタムシステムプロンプトの3つのアプローチを使用して、Claudeの動作をカスタマイズする方法を学びます。

    システムプロンプトは、Claudeの動作、機能、応答スタイルを定義します。Claude Agent SDKは、システムプロンプトをカスタマイズする3つの方法を提供します:出力スタイル(永続的なファイルベースの設定)の使用、Claude Codeのプロンプトへの追加、または完全なカスタムプロンプトの使用です。

    システムプロンプトの理解

    システムプロンプトは、会話全体を通じてClaudeの動作を形作る初期の指示セットです。

    デフォルトの動作: Agent SDKはデフォルトで最小限のシステムプロンプトを使用します。必須のツール指示のみが含まれ、Claude Codeのコーディングガイドライン、応答スタイル、プロジェクトコンテキストは省略されます。完全なClaude Codeシステムプロンプトを含めるには、TypeScriptではsystemPrompt: { preset: "claude_code" }、Pythonではsystem_prompt={"type": "preset", "preset": "claude_code"}を指定してください。

    Claude Codeのシステムプロンプトには以下が含まれます:

    • ツールの使用方法と利用可能なツール
    • コードスタイルとフォーマットのガイドライン
    • 応答のトーンと詳細度の設定
    • セキュリティと安全性に関する指示
    • 現在の作業ディレクトリと環境に関するコンテキスト

    変更方法

    方法1:CLAUDE.mdファイル(プロジェクトレベルの指示)

    CLAUDE.mdファイルは、Agent SDKがディレクトリで実行される際に自動的に読み込まれるプロジェクト固有のコンテキストと指示を提供します。プロジェクトの永続的な「メモリ」として機能します。

    CLAUDE.mdがSDKでどのように機能するか

    場所と検出:

    • プロジェクトレベル: 作業ディレクトリ内のCLAUDE.mdまたは.claude/CLAUDE.md
    • ユーザーレベル: すべてのプロジェクトにわたるグローバルな指示用の~/.claude/CLAUDE.md

    重要: SDKは、settingSources(TypeScript)またはsetting_sources(Python)を明示的に設定した場合にのみCLAUDE.mdファイルを読み込みます:

    • プロジェクトレベルのCLAUDE.mdを読み込むには'project'を含めます
    • ユーザーレベルのCLAUDE.md(~/.claude/CLAUDE.md)を読み込むには'user'を含めます

    claude_codeシステムプロンプトプリセットはCLAUDE.mdを自動的に読み込みません - 設定ソースも指定する必要があります。

    コンテンツ形式: CLAUDE.mdファイルはプレーンマークダウンを使用し、以下を含めることができます:

    • コーディングガイドラインと標準
    • プロジェクト固有のコンテキスト
    • 一般的なコマンドやワークフロー
    • API規約
    • テスト要件

    CLAUDE.mdの例

    # 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`

    SDKでのCLAUDE.mdの使用

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // 重要:CLAUDE.mdを読み込むにはsettingSourcesを指定する必要があります
    // claude_codeプリセットだけではCLAUDE.mdファイルは読み込まれません
    const messages = [];
    
    for await (const message of query({
      prompt: "Add a new React component for user profiles",
      options: {
        systemPrompt: {
          type: "preset",
          preset: "claude_code", // Claude Codeのシステムプロンプトを使用
        },
        settingSources: ["project"], // プロジェクトからCLAUDE.mdを読み込むために必要
      },
    })) {
      messages.push(message);
    }
    
    // これでClaudeはCLAUDE.mdからプロジェクトガイドラインにアクセスできます

    CLAUDE.mdを使用するタイミング

    最適な用途:

    • チーム共有のコンテキスト - 全員が従うべきガイドライン
    • プロジェクト規約 - コーディング標準、ファイル構造、命名パターン
    • 一般的なコマンド - プロジェクト固有のビルド、テスト、デプロイコマンド
    • 長期的なメモリ - すべてのセッションにわたって永続化すべきコンテキスト
    • バージョン管理された指示 - gitにコミットしてチームの同期を維持

    主な特徴:

    • ✅ プロジェクト内のすべてのセッションにわたって永続的
    • ✅ git経由でチームと共有
    • ✅ 自動検出(コード変更不要)
    • ⚠️ settingSources経由での設定読み込みが必要

    方法2:出力スタイル(永続的な設定)

    出力スタイルは、Claudeのシステムプロンプトを変更する保存された設定です。マークダウンファイルとして保存され、セッションやプロジェクトをまたいで再利用できます。

    出力スタイルの作成

    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",
      "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:/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)を含めた場合に読み込まれます。

    方法3:systemPromptとappendの使用

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

    方法4:カスタムシステムプロンプト

    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つのアプローチの比較

    機能CLAUDE.md出力スタイルappendを使用したsystemPromptカスタムsystemPrompt
    永続性プロジェクトごとのファイルファイルとして保存セッションのみセッションのみ
    再利用性プロジェクトごとプロジェクト横断コードの重複コードの重複
    管理ファイルシステム上CLI + ファイルコード内コード内
    デフォルトツール保持保持保持失われる(含めない限り)
    組み込みの安全性維持維持維持追加が必要
    環境コンテキスト自動自動自動提供が必要
    カスタマイズレベル追加のみデフォルトを置換追加のみ完全な制御
    バージョン管理プロジェクトと共にはいコードと共にコードと共に
    スコーププロジェクト固有ユーザーまたはプロジェクトコードセッションコードセッション

    注意: 「appendを使用」とは、TypeScriptではsystemPrompt: { type: "preset", preset: "claude_code", append: "..." }、Pythonではsystem_prompt={"type": "preset", "preset": "claude_code", "append": "..."}を使用することを意味します。

    ユースケースとベストプラクティス

    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の動作の完全な制御
    • 専門的な単一セッションタスク
    • 新しいプロンプト戦略のテスト
    • デフォルトツールが不要な状況
    • 独自の動作を持つ専門的なエージェントの構築

    アプローチの組み合わせ

    最大限の柔軟性を得るために、これらの方法を組み合わせることができます:

    例:出力スタイルとセッション固有の追加

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // 「Code Reviewer」出力スタイルが有効であると仮定(/output-style経由)
    // セッション固有の重点領域を追加
    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);
    }

    関連項目

    • 出力スタイル - 出力スタイルの完全なドキュメント
    • TypeScript SDKガイド - 完全なSDK使用ガイド
    • 設定ガイド - 一般的な設定オプション

    Was this page helpful?

    • 方法1:CLAUDE.mdファイル(プロジェクトレベルの指示)
    • 方法2:出力スタイル(永続的な設定)
    • 方法3:systemPromptとappendの使用
    • 方法4:カスタムシステムプロンプト
    • 4つのアプローチの比較
    • CLAUDE.mdを使用するタイミング
    • systemPromptとappendを使用するタイミング
    • カスタムsystemPromptを使用するタイミング