Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Clineプロンプト徹底解剖

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for umeco umeco
May 14, 2025

 Clineプロンプト徹底解剖

最近よく使われ始めたClineのシステムプロンプトを読んでみて理解を深めます

Avatar for umeco

umeco

May 14, 2025
Tweet

More Decks by umeco

Other Decks in Technology

Transcript

  1. ©2025 TC3株式会社 Confidential 2
 自己紹介 梅本 晴弥 (Haruya Umemoto) Career

    • 2021~, TC3株式会社 AI事業責任者 & AI研究開発 • 2020, Arithmer株式会社 AIエンジニア(NLP) • ~2020, 青山学院大学大学院 知能情報コース 専門分野: 強化学習、深層学習(NLP, CV)、レコメンド、マルチモーダル X: @mumeco_ml Technologies • バックエンド(Python, Rust) • インフラ(GC, AWS) • フロントエンド(React, Typescript) • アプリ開発(Flutter, Dart, Firebase)
  2. ©2025 TC3株式会社 Confidential 6
 大項目を抽出してみる • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  3. ©2025 TC3株式会社 Confidential 7
 大項目を抽出してみる • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  4. ©2025 TC3株式会社 Confidential 8
 大項目一覧 • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  5. ©2025 TC3株式会社 Confidential 9
 TOOL USE: 基本となるツールの使い方の説明 Tool Use Formatting

    Tool use is formatted using XML-style tags. The tool name is enclosed in opening and closing tags, and each parameter is similarly enclosed within its own set of tags. Here's the structure: <tool_name> <parameter1_name>value1</parameter1_name> <parameter2_name>value2</parameter2_name> </tool_name> For example: <read_file> <path>src/main.js</path> </read_file>
  6. ©2025 TC3株式会社 Confidential 10
 TOOL USE: ツールの定義例 ## search_files Description:

    Request to perform a regex search across files in a specified directory, providing context-rich results. This tool searches for patterns or specific content across multiple files, displaying each match with encapsulating context. Parameters: - path: (required) The path of the directory to search in (relative to the current working directory ${cwd.toPosix()}). This directory will be recursively searched. - regex: (required) The regular expression pattern to search for. Uses Rust regex syntax. - file_pattern: (optional) Glob pattern to filter files (e.g., '*.ts' for TypeScript files). If not provided, it will search all files (*).
  7. ©2025 TC3株式会社 Confidential 11
 TOOL USE: ツール一覧 • execute Command

    • read file • write to file • replace in file • search files • list files • list code definition names • browser action • use mcp tool • access mcp resource • ask followup question • attempt completion • new task • plan mode respond • load mcp documentation
  8. ©2025 TC3株式会社 Confidential 12
 大項目一覧 • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  9. ©2025 TC3株式会社 Confidential 13
 MCP SERVERS: MCPサーバーの一覧情報 The Model Context

    Protocol (MCP) enables communication between the system and locally running MCP servers that provide additional tools and resources to extend your capabilities. # Connected MCP Servers `## ${server.name} (\`${config.command}${config.args && Array.isArray(config.args) ? `${config.args.join(" ")}` : ""}\`)` + (tools ? `\n\n### Available Tools\n${tools}` : "") + (templates ? `\n\n### Resource Templates\n${templates}` : "") + (resources ? `\n\n### Direct Resources\n${resources}` : "") MCPサーバーの情報が動的に記載される
  10. ©2025 TC3株式会社 Confidential 14
 大項目一覧 • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  11. ©2025 TC3株式会社 Confidential 15
 EDITING FILES: ファイル編集時のアクションについて write_to_file replace_in_file 目的

    ファイルの新規作成、ファイル全体の書き換 え ファイルの特定の部分を書き換える 用途 - ファイルの新規作成 - 一度に大量の編集をする - 複雑な実装 - 基本的な構成を変更する - 関数の実装など少ない変更の実装 - 特定の部分を変更すると明らかになっ ている場合 - ファイルの大部分が変更されない長い ファイルの書き換え 重要事項 - ファイル全てを読み込む必要がある - 少ない変更の場合は replace_in_fileを検討 - 基本的に使わないが、必要なら使って - ファイルの全体を読み込む必要はない ので、効率的な編集ができる - 大きなファイルの修正の場合に、修正 できる確率が下がる
  12. ©2025 TC3株式会社 Confidential 16
 EDITING FILES: 編集時のワークフロー 1. 編集を始める前に、変更の範囲を評価し、どのツールを使用するかを決定してください。 2.

    ターゲットを絞った編集には、注意深く作成された SEARCH/REPLACEブロックを使用して replace_in_fileを適用してください。複数の変更が必要な場合、単一の replace_in_file呼び 出し内で複数のSEARCH/REPLACEブロックを重ねることができます。 3. 大幅な改変や初期のファイル作成には、 write_to_fileを頼りにしてください。 4. ファイルがwrite_to_fileまたはreplace_in_fileで編集されると、システムは変更されたファイ ルの最終状態を提供します。この更新された内容を、別の SEARCH/REPLACE操作の基準点として使 用してください。これには、自動フォーマットやユーザーによる変更が反映されています。 write_to_fileとreplace_in_fileを慎重に選択することで、ファイルの編集プロセスをよりスムーズで 安全、かつ効率的にすることができます。
  13. ©2025 TC3株式会社 Confidential 17
 大項目一覧 • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  14. ©2025 TC3株式会社 Confidential 18
 ACT MODE V.S. PLAN MODE 1.

    実行モード(ACT MODE) a. plan_mode_respond 以外の全てのツールを使用可能 b. ACT MODEでは、ユーザーのタスクを達成するためにツールを使用します。ユーザーのタスク を完了したら、attempt_completionツールを使用してタスクの結果をユーザーに提示しま す。 2. 計画モード(PLAN MODE) a. plan_mode_respond が使える特別なモード b. PLAN MODEでは、情報を集め、タスクを達成するための詳細な計画を作成することが目標で す。ユーザーは計画を確認し承認した後、あなたを ACT MODEに切り替えて解決策を実装しま す。
  15. ©2025 TC3株式会社 Confidential 19
 PLAN MODE とは? • ユーザーがタスクを最適に達成するための計画を立てるために PLAN

    MODEに切り替える • PLAN MODEを開始するとき、ユーザーのリクエストに応じて、タスクについてのより良い文脈を得る ためにread_fileやsearch_filesを使用して情報を集める必要があるかもしれません • ユーザーのリクエストに関する文脈をさらに得たら、タスクをどのように達成するかの詳細な計画を 立てるべきです。ここでも mermaidダイアグラムを返すことが役立つかもしれません。 • その後、この計画にユーザーが満足しているか、変更を希望するかを確認するかもしれません。こ れは、タスクを議論し、最適な方法を計画するブレインストーミングセッションと考えてください。 • 最後に、良い計画に達したように見える場合は、解決策を実装するために ACT MODEに切り替えるよ うユーザーに尋ねてください。
  16. ©2025 TC3株式会社 Confidential 20
 大項目一覧 • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  17. ©2025 TC3株式会社 Confidential 21
 CAPABILITIES: 機能 • ユーザの要望を実現するために複数のツールを使うことが出来る • list_files:タスクを与えられたら、現在の作業ディレクトリのファイルリストを取得

    • search_files:正規表現検索でファイル一覧を取得 • list_code_definition_names:特定パス配下の定義情報を取得する。複数回呼び出せる • read_file: 特定されたファイルの内容を読み取る • write_to_file, replace_in_file: ファイルを編集する • execute_command: 特定のCLIコマンドを実行する • MCPサーバーにアクセスして追加のツールやリソースを取得できる
  18. ©2025 TC3株式会社 Confidential 22
 大項目一覧 • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  19. ©2025 TC3株式会社 Confidential 23
 RULES: ルール 基本的には各ツールを使うときの制限などが書かれている • あなたの今のディレクトリは ${cwd.toPosix()}

    • cd を使って別ディレクトリに移動しないでください • 必要じゃなければユーザに質問せずに、ツールを使ってください • ファイルを編集するときはreplace_in_file か write_to_file を使ってください ツールを使う前に変更内容を表示する必要はありません • You are STRICTLY FORBIDDEN from starting your messages with "Great", "Certainly", "Okay", "Sure".
  20. ©2025 TC3株式会社 Confidential 24
 大項目一覧 • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  21. ©2025 TC3株式会社 Confidential 25
 SYSTEM INFORMATION: システム情報 以下のシステム情報が提供される Operating System:

    ${osName()} Default Shell: ${getShell()} Home Directory: ${os.homedir().toPosix()} Current Working Directory: ${cwd.toPosix()}
  22. ©2025 TC3株式会社 Confidential 26
 大項目一覧 • TOOL USE • MCP

    SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE
  23. ©2025 TC3株式会社 Confidential 27
 OBJECTIVE: 目標達成に向けた進め方 与えられたタスクを段階的に達成するため、それを明確なステップに分解し、系統立てて作業を進める 1. ユーザーのタスクを分析して実現可能な目標を設定し優先順位を付ける 2.

    これらの目標を順次処理し、必要に応じてツールを1つずつ使う。 3. ツールを使用する前に<thinking>タグ内で分析を行う。最初にファイル構造を分析し、最も解決に ふさわしいツールを選ぶ。 4. ユーザーのタスクが完了したら、attempt_completionツールを使用して完了を伝える 5. フィードバックがあれば、それを活用して再度実施する。しかし、レスポンスの終わりに質問やさらな る支援の申し出をせずに、無意味な会話はやめてください。
  24. ©2025 TC3株式会社 Confidential 29
 Clineのシステムプロンプト所感 大まかな要素は以下の要素 ◦ ツールの使い方の定義、説明 (MCP含む) ◦

    ファイル編集のやり方 ◦ モードについて ◦ 制限事項 ◦ タスク解決に向けたフローの定義 所感 ◦ XMLタグでうまく情報取得をしている ◦ 同じような説明が複数あるので、大事なことは何度も伝えるのが大事? ◦ 特にファイル編集の部分とフローの定義
  25. ©2025 TC3株式会社 Confidential 30
 Thank you for your attention. G

    I G I N N O V A T E D . If you are interested, please contact to [email protected] .