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

Clineプロンプト徹底解剖

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] .