Share
Embed
Transcript
30 slides
-
©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) -
©2025 TC3株式会社 Confidential 3 Clineについて 自動コーディングエージェント • 要望を出すと、自動的にファイ ルの読み書きを実施 •
オープンソース • MCP対応 • 複数モデル対応 • ローカルモデル対応 • VSCode Extension -
©2025 TC3株式会社 Confidential 6 大項目を抽出してみる • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©2025 TC3株式会社 Confidential 7 大項目を抽出してみる • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©2025 TC3株式会社 Confidential 8 大項目一覧 • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©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> -
©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 (*). -
©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 -
©2025 TC3株式会社 Confidential 12 大項目一覧 • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©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サーバーの情報が動的に記載される -
©2025 TC3株式会社 Confidential 14 大項目一覧 • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©2025 TC3株式会社 Confidential 15 EDITING FILES: ファイル編集時のアクションについて write_to_file replace_in_file 目的
ファイルの新規作成、ファイル全体の書き換 え ファイルの特定の部分を書き換える 用途 - ファイルの新規作成 - 一度に大量の編集をする - 複雑な実装 - 基本的な構成を変更する - 関数の実装など少ない変更の実装 - 特定の部分を変更すると明らかになっ ている場合 - ファイルの大部分が変更されない長い ファイルの書き換え 重要事項 - ファイル全てを読み込む必要がある - 少ない変更の場合は replace_in_fileを検討 - 基本的に使わないが、必要なら使って - ファイルの全体を読み込む必要はない ので、効率的な編集ができる - 大きなファイルの修正の場合に、修正 できる確率が下がる -
©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を慎重に選択することで、ファイルの編集プロセスをよりスムーズで 安全、かつ効率的にすることができます。 -
©2025 TC3株式会社 Confidential 17 大項目一覧 • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©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に切り替えて解決策を実装しま す。 -
©2025 TC3株式会社 Confidential 19 PLAN MODE とは? • ユーザーがタスクを最適に達成するための計画を立てるために PLAN
MODEに切り替える • PLAN MODEを開始するとき、ユーザーのリクエストに応じて、タスクについてのより良い文脈を得る ためにread_fileやsearch_filesを使用して情報を集める必要があるかもしれません • ユーザーのリクエストに関する文脈をさらに得たら、タスクをどのように達成するかの詳細な計画を 立てるべきです。ここでも mermaidダイアグラムを返すことが役立つかもしれません。 • その後、この計画にユーザーが満足しているか、変更を希望するかを確認するかもしれません。こ れは、タスクを議論し、最適な方法を計画するブレインストーミングセッションと考えてください。 • 最後に、良い計画に達したように見える場合は、解決策を実装するために ACT MODEに切り替えるよ うユーザーに尋ねてください。 -
©2025 TC3株式会社 Confidential 20 大項目一覧 • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©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サーバーにアクセスして追加のツールやリソースを取得できる -
©2025 TC3株式会社 Confidential 22 大項目一覧 • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©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". -
©2025 TC3株式会社 Confidential 24 大項目一覧 • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©2025 TC3株式会社 Confidential 25 SYSTEM INFORMATION: システム情報 以下のシステム情報が提供される Operating System:
${osName()} Default Shell: ${getShell()} Home Directory: ${os.homedir().toPosix()} Current Working Directory: ${cwd.toPosix()} -
©2025 TC3株式会社 Confidential 26 大項目一覧 • TOOL USE • MCP
SERVERS • EDITING FILES • ACT MODE V.S. PLAN MODE • CAPABILITIES • RULES • SYSTEM INFORMATION • OBJECTIVE -
©2025 TC3株式会社 Confidential 27 OBJECTIVE: 目標達成に向けた進め方 与えられたタスクを段階的に達成するため、それを明確なステップに分解し、系統立てて作業を進める 1. ユーザーのタスクを分析して実現可能な目標を設定し優先順位を付ける 2.
これらの目標を順次処理し、必要に応じてツールを1つずつ使う。 3. ツールを使用する前に<thinking>タグ内で分析を行う。最初にファイル構造を分析し、最も解決に ふさわしいツールを選ぶ。 4. ユーザーのタスクが完了したら、attempt_completionツールを使用して完了を伝える 5. フィードバックがあれば、それを活用して再度実施する。しかし、レスポンスの終わりに質問やさらな る支援の申し出をせずに、無意味な会話はやめてください。 -
©2025 TC3株式会社 Confidential 29 Clineのシステムプロンプト所感 大まかな要素は以下の要素 ◦ ツールの使い方の定義、説明 (MCP含む) ◦
ファイル編集のやり方 ◦ モードについて ◦ 制限事項 ◦ タスク解決に向けたフローの定義 所感 ◦ XMLタグでうまく情報取得をしている ◦ 同じような説明が複数あるので、大事なことは何度も伝えるのが大事? ◦ 特にファイル編集の部分とフローの定義 -
©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] .