AIエージェントにどうやってファイルやターミナルを参照させるのか
AIエディタを使っていると、エージェントにファイルやターミナルを指定して作業を依頼することが多いです。
では、AIエージェントにファイルやターミナルを指定する場合、どのようにするのか?
ClineとCursor、それぞれ大体似たような感じですが、若干違いがあるので整理してみます。
もしかしたら、モデルを変えると異なる結果になるかもしれないので、モデルも記載しています。
📃ファイルの参照対象
Cline(gemini-2.0-flash)
チャットで特に指定しない場合
エディタを開いている状態で、@マークでリソースを指定せずに質問や作業を依頼するとどれが対象になるのでしょうか?
以下のように質問してみるとどこを参照しているのか分かります。
今開いているファイルは?
エディタで開いているファイルが列挙されます。
何も指定しない場合、メインで選択されているファイルが対象になります。
もちろん、@マークでリソースをコンテキストとして指定すればそのファイルが参照されます。
Cursor(Claude3.7)
Cursorで同じ質問をすると、開いているにもかかわらず見つからないと言われました。
Cursorも@マークでリソースの指定ができますが、指定すれば当然、そのファイルを参照してくれます。
Cursorは明示的に指定した方がよさそうです。
Cursorは、エディタを開いている状態で、チャットボークスの上にある「+」ボタンをおすと、開いているファイルが表示されます。これはClineより視覚的にわかりやすいです。
あと@マーク以外だと、ファイル、コード、ターミナルをチャットへ追加できます。(ターミナルは後述
コードを選択してChatへ
ファイルを選択してChatへ
💻️ターミナルの参照対象
Cline(gemini-2.0-flash)
Clineはチャットでコマンド実行を指示すると、VSCodeのターミナルウィンドウにCline用のプロセスを立ち上げて表示します。
開かれたターミナルについて質問すると、表示内容を読み取っているのが分かります。
Cursor(Claude3.7)
コマンド実行を依頼すると実行コマンドの表所と承認を求めてきます。
「Open teminal」ボタンを押すとコマンドが実行されます。
Clineとは異なり、ターミナル部分ではなくエディタ部分に表示されます。
開いているターミナル内容について質問すると、Cline同様に参照しているのが分かります。
また、テストでエラーが出た部分にカーソルを合わせると、チャットボックスへ貼り付けるボタンがでます。
コンソール上で文字列選択して、それをチャットの送ることもできます。
終わりに
Clineの方がいわなくても色々参照しているのがわかりました。
Cursorは明示的に指示しないといけない反面、ちゃんとチャットボックスに指定リソースが表示されたり、リソースの指定が簡単です。
どちらがよいかは個人の好みですが、私は、Cursorの方がリソースの指定方法や見た目はわかりやすいと思いました。