この記事でわかること
- VSCode拡張のAIコーディングツール Cline において返答品質を左右する 「コンテキストの渡し方」について、Clineの機能で効率的に行う方法を解説します
エンジニアには最初に使ったAIコーディングツールを親だと思ってついていく習性がある説(有力)
Dirbatoで社内技術横断支援組織Backbeatに所属している山田です。
社内向けAIツールの開発担当の一員として、長い月日をかけて温めた開発チケットを丁寧に消費する日々です。
また、社内ハッキング大会の作問も行っており、わざと脆弱なアプリケーションを実装するという背徳的な行為をしています。
いずれの開発の中でも私は、VSCodeの拡張機能として利用可能なAIコーディングツール 「Cline」 を使用しています。
世の中に様々あるAIコーディングツールの中で私がClineを使っている理由は、「最初に使ったツールだから」に他ならないのですが、このAIツール黎明期において、ツールを色々変えるよりは1つのツールを使い倒して、そこから得られるストレスも含めてナレッジ共有していくことが世のため人のため会社のためになると考えています。
今回、私の経験から、ClineにおいてLLMに正確かつ効率的にコンテキストを伝えるための手法をいくつかご紹介します。まだまだ奥深いツールですのでこれで全てとは思っていませんが、何かの足しにしていただければと思います。
言語化、しよ?
AIコーディングツールにおける「コンテキスト」とは、AIが適切な提案やコード生成を行うために参照する“周辺情報のまとまり”です。
例えば:
- いま開いているファイルの内容
- 関連する別ファイル(型定義・設定・テスト)
- リポジトリ構造、使用言語やフレームワーク
- 依存関係
- コーディング規約
- 直前までのチャット指示
- ...etc
コンテキストが豊富で正確だと、既存の設計や命名に沿った変更、バグの原因に近い推測、壊れにくい差分の提案が可能になります。一方で不足すると一般論のコードになりやすく、誤った前提で修正したり、既存APIと噛み合わない出力が増えます。ただし、多すぎると重要部分が埋もれたり、コンテキストウィンドウを超えて必要情報が入らないこともあります。「必要十分な情報を、AIが扱える範囲で渡す」ことが大切です。
この記事では、Clineでの コンテキストの使用感 についてキャプチャ等を交えて紹介します。
とにかく実践すること、それが一番大事
バイブコーディングから仕様駆動開発へ世間のトレンドが移り変わっていく昨今ですが、Clineの機能も日々アップデートがかかっているようで、気づいたらボタンとかタブとかが増えています。アップデート情報を追っていると大変なので、UIに生えてきた機能をとりあえず使ってみる、そんな生き方でもいいのではないでしょうか?(もちろん安全な範囲で)
以下、コンテキストを正確に・簡潔に伝えるための機能を選りすぐって解説します。これらの機能を使ってみれば、チャット上で言葉で伝えるだけより効率的にコンテキストを伝えられるかと思います。
ルール設定
Clineは.clinerules/の下に格納されたMarkdownファイルを、Clineが従うべきルールとして読み込みます。昨今のAGENTS.mdへの統一の潮流に乗って、AGENTS.mdも読み込まれるようになっています。
▼ ルールとして読み込むファイルのON/OFFを切り替えられます。

コンテキスト指定
チャットエリアにて、@からいくつかのコンテキスト参照を指定できます:
- Problems/Terminalウインドウの出力内容
- ファイルパス
- Gitのコミットハッシュ
- URL
ファイルパス指定は、「このファイルの設計を仕様書にして」とかでも使えますし「このフォルダをこっちの階層で整理して」のように、フォルダ構成の整理をする時にも使えます。
個人的に試行錯誤中ですが、GitのコミットコメントにNextActionを指定した上で、コミットハッシュをコンテキストとして渡してみたりしてます。実質上、コンテキストのサマライズをしているような感覚です。
ClineにはMemory-Bankという、現時点の状態と次にすべきことを指定するためのフォルダがあるのですが、コミットコメントにNextActionを入れた方が、なぜこの順序で開発したのか、のトレーサビリティが取れるかなと思ってます。
▼ ファイルを指定するときの様子。サジェストが出るので入力も楽々です。

MCPサーバ
効率的にコンテキスト伝えることを叶えるために”Serena"など、コードベースを効率的に理解するためのMCPはClineに使わせたいです。その他のMCPサーバも、LLM目線で最適化された形で各種情報にアクセスできるので、コンテキストウインドウの消費を抑えてさまざまなタスクが行えますので、使えるものを使っていくと良いでしょう。
ClineではMCPサーバをMarketPlaceから導入することも可能です。MarketPlaceへの掲載はClineのGithubリポジトリへのIssueを通じて申請が誰でも可能で、Cline開発チームの査定を経て承認されます1。
1点警戒が必要な点があります。MCPサーバは使い方がまだまだ未熟で、割と気軽にnpxやuvx経由で呼び出しがちな印象ですが、MCPサーバ実行時に最新のパッケージを落としてきているんですよね。安全を考えると、リポジトリをクローンして検証したのち、ローカルでビルドしたMCPを継続的に使用し、バージョンアップは慎重に行うべきです。
(今年猛威を振るっていたShai Huludも開発者を狙った攻撃です。MCPサーバ利用者を標的にしている事実はつかめてませんが、需要が高まれば高まるだけ、リポジトリ汚染を狙う攻撃者たちの注目度も高まりそうです。)
Plan/Actモード
コンテキスト共有とは少しずれますが、対話の中で上質なコンテキストを作り上げるという意味で、事前のプランニングは品質の高いコーディングをさせるためには必須級です。Clineでは、PlanモードとActモードで異なるLLMモデルを使用することができるようです。プランニングを推論モデルでがっつりと作り込んで、コーディングは単純作業として高速・低コストのモデルで、など最適化が図れそうです。

失敗例
コンテキストの渡しすぎ&LLMの特性上不適切な作業指示の合わせ技なので、ちょっとこの記事の主題とはずれる部分もありますが...
指示内容
社内ハッキング大会の問題文や解説文を全問題文書き込んだCSVをインプットとして、1問ごとの仕様書に分割して出力してくれ、という指示をしました。しかも、単純作業だと思ってAuto-ApproveでEditを許可しました。指示する際に渡したのはCSVファイルのパスと、仕様書のフォーマットファイルのパスを@の構文を用いて渡しました。
結果
仕様書ファイルを1つ1つ頭から健気に書き上げる様子がClineのウインドウ上で流れて行きました。No.1~10あたりまでは良い感じだったので目を離していたら、No.15を過ぎたあたりから存在しない(しかも問題として成立しなさそうな謎の仕様の)問題の仕様書を作り始めていました。すぐにAuto-Approveを剥奪してそのタスクの息の根を止めましたが、最初からPlanモードを使っていれば、CSVをパースして仕様書フォーマットに当て込むスクリプトを作る方向などに軌道修正もできていたのでは、と思います。
何してんだおい(#^ω^)ピキピキと一瞬思いましたが、いやこれは自分の指示の未熟さが招いた結果だと反省し、指示を見直してタスクは無事完了させました。
まとめ
Clineでのコンテキスト共有に着目して機能を紹介してきました。まだまだ使い尽くせてはいないので、いい機能があれば続報します。
どのAIコーディングツールにおいてもコンテキストを正確に効率的に伝えることは重要なのではないかと思います。ご自身が使っているツールにおいて、コンテキストを伝える手法を探って、楽しいAIコーディングライフを送ってください!
[おまけTips]チームでDevContainerを使うとき
Devcontainer利用のススメ
Clineはコーディングのためのファイル編集のほか、VSCodeのシェルを使用して環境への変更を伴うコマンドを実行可能です。Clineは基本的な思想としてヒューマンインザループを基本としているので、デフォルトではコマンド実行もApproveが必要です2が、そうは言ってもAI特有の誤ったコマンド選定の結果、不可逆な環境破壊が生じる可能性もあるので、Devcontainerの利用は必須と考えます。
ちょっとしたTips
VSCodeのSettingsで、dev.containers.defaultextensionsにsaoudrizwan.claude-dev3を指定することで、Devcontainer内にClineがデフォルトでインストールされます。devcontainer.json には変更が加わらないので、自分の環境だけで使いたい時に便利です。

-
https://github.com/cline/mcp-marketplace?tab=readme-ov-file#how-to-submit-your-mcp-server, https://github.com/cline/mcp-marketplace?tab=readme-ov-file#mcp-server-approval-process ↩
-
ファイルの編集やコマンドの実行の許可状態はチャットウインドウ内で変更可能です。
↩ -
clineはかつてclaude-devというプロジェクト名でした。現在でも設定ウインドウの中で「ClineはClaudeモデルで一番よく動くよ」などと宣うくらいにはClaudeと蜜月のようです。
↩
