いちエンジニアの感想。
要約
Raycastは神
私はGitHub Copilotを続けるよ
Cursorの補完機能は唯一恋しい
各ツールの感想
Raycast
Raycastは以前からある物で言うとAlfredのようなランチャーツールだが、Proプランへの加入でAI機能を利用可能になり、さらにAI拡張に課金すれば高性能なモデルも使える。
ランチャー感覚で操作でき、ショートカットキー1発でどんな作業中でも AI Chat を呼び出せる。また、自前の AI Command(変数を使えるプロンプトテンプレートのようなもの)も登録できる。たとえば、「選択範囲を翻訳」「起動時にパラメータを入力してプロンプト実行」「クリップボードの内容をそのままプロンプトに渡して即実行」など、多彩な使い方ができる。これが本当に便利すぎる。
AI Commandごとにモデルも設定できるので、例えばWEB検索系のコマンドはPerplexityのモデルを使う、みたいなこともできる。
AIを除いたRaycastそのものも便利で、Raycast はスニペット管理機能を備えており、任意のテキスト(例: "mysnippet")を入力するだけで定型文を呼び出せる(こちらも変数に対応している)。これをAIと組み合わせるとより便利に業務フローに組み込めたりする。
例えば、「":gitdiff"と打つと自分のリポジトリに合わせたよしなに diff 抽出コマンドを出力」「コマンド実行でクリップボードにコピー(pbcopy)」「クリップボードの内容を AI に渡し、ざっくりレビューしてもらう」といった流れを手軽に実現できる。
月1万円くらいまで普通に出したいレベルで欠かせないツールとなっています。
GitHub Copilot
エディタ補完の先駆け的存在で、それ自体はまあ初期から大きな変化は感じない。ただ、最近登場した Copilot Edits は「プロンプトを渡すとよしなにファイルを編集してくれる」機能で、これがそれなり便利。
やはりVS Code直産に近いためか、後述の Cursor や Cline と比べても「ファイル編集」の点では精度高く感じる。他の編集系ツールと同様に複雑なコンテキスト(大規模なコードベースなど)を必要としないコーディングに関してはだいぶ楽させてもらえる。preview が終わったら追加課金必要なんだろうなーと思ってしまう。
Cursor
Pro 版を試用。VS Code + GitHub Copilotと比較すると圧倒的に補完機能が強かった。GitHub Copilotではカーソル周辺の補完のみだが、Cusorはかなり広範囲で補完してくれる。例えば、同一ファイル内に Interface と実装が書かれている場合、実装のI/Fを変更したらInterface側も自動で変更をサジェストしてくれる、といった具合。
Composer や Chat機能については今はGitHub Copilot側にも Copilot Editsがあるので、あまり強みには感じなかった。あと、cursorignoreなどの設定が甘かったのかもしれないが、大規模なコードベースになるとエディタが結構重たく感じた。
補完は強力だが、会社としてGitHub Copilotのプランに加入させてもらっており、そこから追加で $20 払うほどではないかなーという気持ちでピュアVS Codeに戻りました(そしたらエディタ動作が軽かった)。
Cline
VS Codeの拡張機能として利用。
Copilot EditsやCursorのComposerと似た印象だが、大きなメリットは「どこまでコンテキストに含めて考えるか」まで自分で考えてくれるところだと思った。
ゼロから何かを作るなら結構強いのかもなーと思った。が、多分モデルをケチった(DeepSeek)せいであまり精度は高く感じなかった。お高いモデルを使うとケースによってはかなり強そう。
ChatGPT Plus(Pro) みたいな各社の課金プラン
自分はRaycastを使っているので、Claud 3.5 Sonnetや、最近だとo3-miniなど結構良いモデルを使えており、各社のプランへの加入は不要に感じた。
ただ、まだRaycastにo1, o3がない時期に Gemini Advancedを試用してみたところ、たしかに気持ち賢くは感じた。ただコーディングに関して言うと3.5 Sonnetで最低限十分説もあり必要性はわからない。わからない・・・。
また今後、月$20程度で(Raycastではまだ使えない)専用の高性能モデルが使えるみたいになったら試してみそうではある。(ChatGPT Proは試してみたいと思いつつさすがに高すぎて勇気が出ない 😂)
実際のAI利用場面
参考までに便利だなと思う場面を挙げてみる
テストケースを修正してもらう
テストケースを修正して、実装を変更してもらう
コメントを書いてもらう
参考になるファイルをコンテキストに渡して、新しい実装の雛形作成までをおこなってもらう。
リネームをちょっと超えた範囲のリファクタをしてもらう
例えば自分はFlutterのWidgetの親子関係を修正しないといけない時などに、htmlと比較してカンマとかの位置をすごくミスりがちでストレスを感じるが、AIの方がうまくやってくれたり。
単純にわからないことを聞くとき
この言語だとこうやるけど、この言語だとどうやる?みたいに聞くと強かったり
おわり
Raycast愛(AIだけに)を語るだけになってしまいました。うーんすごい時代になってきたものだ。