Slide 1

Slide 1 text

©2025 TC3株式会社 Confidential ©2025 TC3株式会社 Confidential 1
 Clineプロンプト徹底解剖 Haruya Umemoto 2025/05/14 TC3株式会社

Slide 2

Slide 2 text

©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)

Slide 3

Slide 3 text

©2025 TC3株式会社 Confidential 3
 Clineについて 自動コーディングエージェント ● 要望を出すと、自動的にファイ ルの読み書きを実施 ● オープンソース ● MCP対応 ● 複数モデル対応 ● ローカルモデル対応 ● VSCode Extension

Slide 4

Slide 4 text

©2025 TC3株式会社 Confidential 4
 オープンソースなので頭脳が公開されている ClineのSystem Promptはここに保存 :https://github.com/cline/cline/blob/main/src/core/prompts/system.ts Markdown形式で書かれているので、読んで理解を深めよう!

Slide 5

Slide 5 text

©2025 TC3株式会社 Confidential 5
 Markdownとして読み込んで分析してみる

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

©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: value1 value2 For example: src/main.js

Slide 10

Slide 10 text

©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 (*).

Slide 11

Slide 11 text

©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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

©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サーバーの情報が動的に記載される

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

©2025 TC3株式会社 Confidential 15
 EDITING FILES: ファイル編集時のアクションについて write_to_file replace_in_file 目的 ファイルの新規作成、ファイル全体の書き換 え ファイルの特定の部分を書き換える 用途 - ファイルの新規作成 - 一度に大量の編集をする - 複雑な実装 - 基本的な構成を変更する - 関数の実装など少ない変更の実装 - 特定の部分を変更すると明らかになっ ている場合 - ファイルの大部分が変更されない長い ファイルの書き換え 重要事項 - ファイル全てを読み込む必要がある - 少ない変更の場合は replace_in_fileを検討 - 基本的に使わないが、必要なら使って - ファイルの全体を読み込む必要はない ので、効率的な編集ができる - 大きなファイルの修正の場合に、修正 できる確率が下がる

Slide 16

Slide 16 text

©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を慎重に選択することで、ファイルの編集プロセスをよりスムーズで 安全、かつ効率的にすることができます。

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

©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に切り替えて解決策を実装しま す。

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

©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サーバーにアクセスして追加のツールやリソースを取得できる

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

©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".

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

©2025 TC3株式会社 Confidential 25
 SYSTEM INFORMATION: システム情報 以下のシステム情報が提供される Operating System: ${osName()} Default Shell: ${getShell()} Home Directory: ${os.homedir().toPosix()} Current Working Directory: ${cwd.toPosix()}

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

©2025 TC3株式会社 Confidential 27
 OBJECTIVE: 目標達成に向けた進め方 与えられたタスクを段階的に達成するため、それを明確なステップに分解し、系統立てて作業を進める 1. ユーザーのタスクを分析して実現可能な目標を設定し優先順位を付ける 2. これらの目標を順次処理し、必要に応じてツールを1つずつ使う。 3. ツールを使用する前にタグ内で分析を行う。最初にファイル構造を分析し、最も解決に ふさわしいツールを選ぶ。 4. ユーザーのタスクが完了したら、attempt_completionツールを使用して完了を伝える 5. フィードバックがあれば、それを活用して再度実施する。しかし、レスポンスの終わりに質問やさらな る支援の申し出をせずに、無意味な会話はやめてください。

Slide 28

Slide 28 text

©2025 TC3株式会社 Confidential 28
 OBJECTIVE: 目標

Slide 29

Slide 29 text

©2025 TC3株式会社 Confidential 29
 Clineのシステムプロンプト所感 大まかな要素は以下の要素 ○ ツールの使い方の定義、説明 (MCP含む) ○ ファイル編集のやり方 ○ モードについて ○ 制限事項 ○ タスク解決に向けたフローの定義 所感 ○ XMLタグでうまく情報取得をしている ○ 同じような説明が複数あるので、大事なことは何度も伝えるのが大事? ○ 特にファイル編集の部分とフローの定義

Slide 30

Slide 30 text

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