Cline
Overview
Clineとはプログラミングの作業をサポートしてくれる、VSCodeなどのエディター上で機能する拡張機能。
ユーザーの要望に対し、Clineが適切な処理を加えてClaudeやChatGPTといったAIアシスタントと対話することで自動で作業を行う。
Clineが現時点で他のツールより画期的と言われる所以はClineとAIアシスタントがなるべく人間を介さず、自動的に実行→修正のループを行うところ。
今はAIが文章を返し終わるまでのタイムラグがあるため、この修正ループはある程度の時間を要しますが、それでも人間が行うよりずっと速く修正を行うことができる。
使用しているモデルはclaude
Clineとは
ユーザーの要望に対し、Clineが適切な処理を加えてClaude や ChatGPTといったAIアシスタントと対話することで以下のことを自動で行う。
- コード生成・編集: プロジェクト上のフォルダー構造を読み取り、適切なファイルを生成・編集
- バグ修正: コードの不具合を自動的に見つけて修正
- ターミナル操作: ターミナルを使用したコマンドの実行
- ブラウザ操作: Webアプリの動作確認などのために、ブラウザを自動で操作し、UIの確認やエラーのチェック
実行フロー
Clineが現時点で他のツールより画期的と言われる所以は、ClineとAIアシスタントがなるべく人間を介さず、自動的に実行→修正のループを行うところ
この実行フローから分かる通り、コードの修正といったユーザーの要望を満たすための「思考」をまかなっているのがChatGPTやClaudeといったAIアシスタント。
Clineはユーザーの代わりにコンテキスト情報の追加やツールの使用を行ったり、適切な指示をAIアシスタントから引き出せるようにプロンプトを追加したりなどの処理を行っている。
Plan Mode
Clineに実装を任せても意図通りの成果物が出来ず、大量の手戻りが発生しがち。
そこで重要になってくるのが「Plan Mode」という動作モード。
Cline は「Plan Mode」と「Act Mode」という二つの動作モードに分かれていて、「Plan Mode」は実行前の計画を行うモードになる。
効率化のために
このような対話を効率化するために、事前にコンテキストを与えておくのが.clinerulesファイルや Memory Bank
.clinerules- プロジェクトのルールや方針を定義するファイル
- .clinerules
Memory Bank- コードベースの重要な情報を保存しておく手法
- Cline Memory Bank
Memory Bank
Cline Memory Bankは、AIコーディングアシスタントにおいてプロジェクトの文脈(コンテキスト)を長期に維持するための仕組み。
Clineは通常、セッションごとに内部記憶がリセットされる。
その弱点を補うためにMemory Bankではプロジェクトに関する情報をファイル群として保存し、次の対話時にそれらを読み込むことで前回までの内容を正確に把握する。
Memory Bankの最大の特徴はセッションを超えてコンテキストを保持できる点。
Clineは新たなタスクを始める際に、必ずMemory Bank内のファイルをすべて読み込み、過去の会話や作業内容を把握した上で作業を再開する。
これにより「前回どこまでやったか」を毎回説明し直す必要がなく、長期的なプロジェクトでもスムーズに対話を続行できる。
メモリバンクファイルは、プロジェクト内で作成するシンプルなマークダウンファイル。
隠しファイルや特殊ファイルではなくリポジトリに保存され、あなたとClineの両方がアクセスできる通常のドキュメント。
.clineignore
チェックポイント
チェックポイントはタスクの各ステップの後に、ワークスペースのスナップショットを自動的に保存する。
この機能により変更を追跡し、必要に応じてロールバックし自信を持ってコードをテストすることができる。
例えば、ある機能の開発中にClineが複数のファイルに変更を加えた場合、それぞれの変更ごとにチェックポイントが作成される。
つまり各変更を確認し、必要に応じてメインのGitリポジトリに影響を与えることなく任意の時点までロールバックできるということ。
Cline rules
Clineルールを使用すると、Clineにシステムレベルのガイダンスを提供できます。これは、プロジェクト全体、あるいはすべての会話全体にわたって、コンテキストや設定を永続的に取り込む手段と考えてください。
