はじめてのAIエディタ:Cline/Cursorを個人開発で使ってみた感想
はじめに
今年に入ってAI駆動開発の勉強会に参加し、Cursorを知りました。
「使ってみたいな」なんて思いながら日々の忙しさでインストールすらすることなくズルズル…
ハッカソンに参加したことをきっかけに、GWに初めて使ってみました!
いろいろ忙しかったので、実際記事を書こうと思ってから2ヶ月近く経ってしまったのですが…
今はClaudeCodeだの、GeminiCLIだの言われている中で周回遅れ気味ですが
これからいろんなAIツールを使ったり比較したりしてみたいので、
「はじめての感想」を備忘録としてまとめてみようと思います!
なぜ最初にClineを選んだのか
AIエディタと言えばCursorというイメージでしたが、とある勉強会で「0→1で開発するにはガンガン自走してくれるClineがいい」と聞いて興味が湧きました。
VSCodeの拡張機能に追加するだけなので導入も簡単でした。
(VSCodeのバージョンが古くて非互換だったのでインストールし直しました)
どのモデルを使うか
Claudeが良いことは知っていましたが、初めてのAI課金だったのでコスパが良いらしいDeepSeekに決めました。
従量課金といったらAWSをイメージして怖かったのですが、2ドルから始められて、プリペイド式だったので安心でした。
はじめてのAIコーディング
盛り盛りのプロンプト
作りたいものはしっかり要件と設計を固めていました。
認証機能とmodelを事前に準備した上で、5画面分の機能を詰め込んだプロンプトを作成しました。
ここまでもたくさん調べていて時間を溶かしていたのですが、いざ実行するのが怖くて…
使ってみないことにはわからない、えいやー!という感じでプロンプトを送信してみました。
その時のプロンプトがこちら
Flutter + Firebase + Riverpod + Freezed を使用し、MVVMアーキテクチャで以下のアプリを構築してください。
すでにあるパッケージやmodelを使用してください。足りない・不備があれば修正も可能です。
テーマ
不安を感じる行動のベイビーステップを提案・記録・支援するアプリ
機能
・認証機能はメールアドレス、Googleアカウント認証、「匿名」とテストログイン機能をFirebaseで設定済みですが、UI等足りないような気がするので追加実装してください。
・新規登録した場合は、最初にプロフィールを入力するようにしてください。
項目はニックネーム(テキストボックス、初期値「ユーザー」)、年齢(テキストボックス)、性別(男性/女性/その他のラジオボタン)、属性(テキストボックス)、精神疾患の有無(有/無ラジオボタン)、精神疾患(チェックボックス)
を入力できるようにしてください。しかし、全て任意項目のためスキップ可能です。
新規登録後のプロフィール入力orスキップ、orログイン後、orアプリ起動した際はメイン画面に遷移してください。
・メイン画面は具体的な行動を一覧表示できる画面にしてください。
大項目が「やりたいこと」と「不安なこと」それに紐づいて子として「ベイビーステップの行動提案」が10個、事前不安得点が小さいものから並べてください。
10個の行動には実施済みのチェックボックスと不安得点(事前)と不安得点(事後)を入力できるようにしてください。
10個の行動をクリックしたら詳細画面に遷移し、コメントが投稿できるようにしてください(投稿・編集・削除)
・右下に「+」ボタンを入れてください
するとチャット画面に遷移し、「やりたいこと」「不安なこと」をそれぞれ入力し送信できるようにします。
・AIは入力された「やりたいこと」「不安なこと」を踏まえ、10個のベイビーステップの行動提案をします。
しかしこれは私が後で実装するので仮としてハードコードした10個のベイビーステップをチャット上に表示してください。
ユーザーは「保存」ボタンを押下すると、メイン画面の一覧に保存されます。
「もう一度」を押すとまた違った10個のベイビーステップを提案します。
・メイン画面のベイビーステップはユーザー自身が追加・編集・削除ができます。
モーダルで追加・編集・削除ができるようにしてください。
・右上にユーザーのアイコンがあり、これを押下するとメニューが表示されます。
プロフィール設定、利用規約、プライバシーポリシー、お問い合わせのリンクをそれぞれ表示してください。
プロフィール設定は新規登録した際と同一の画面を表示してください。「編集」ボタン押下で編集可。編集後「保存」ボタンで確定します。
・お問い合わせは現状メール送信などはせず仮で見た目だけ作成してください。
コードが書かれていく様子はショーを見ているかのようでおもしろかったです。
こちらが確認して承認する方式なのもいいなと思いました。
しかし、20%くらいしか実装してもらえず、エラーで動きませんでした。
何度か修正を繰り返し、かなりの時間を費やしました。
Clineを使ってみた感想
Clineはタスクごとに料金が表示されるので分かりやすいのと、意外に消費せずガンガン使えました。
本当にガンガン投げまくったので、1日1ドルくらいでした。
せっかく用意したmodelは修正されてしまうし、削除したフォルダも復活されてしまったり…
これについては.clinerulesを用意することでよくなりました。
(何かしらの記事を参考に自分で考えたと思います)
実際の.clinerules
#注意点
- Flutter + Firebase + Riverpod + Freezed を使用し、MVVMアーキテクチャで実装
- 必要なパッケージはインストール済みです。それでも足りない場合は私に質問して指示に従ってください。
- modelsに必要なデータ項目は作成済みです。勝手に追加、修正しないでください。修正が必要な場合は私に質問して指示に従ってください。
- android、iosのみなので、勝手にlinux、macos、windowsのフォルダを作成しないでください。
- 私の行った指示は全て実行してください。
- 私が行っていない指示は実行せず、必要であれば指示を仰いでください。すでに完成した機能の修正を行わないでください。
- 修正したい対象のファイルを探したりする場合は、ファイルを開くのではなく、コマンドを実行して検索してください。
それでも、CRUDの基本的な機能実装にも何度かやり取りが必要でした。
今回使用技術(Flutterなど)はハンズオンで触ってみた程度の知識なのでどこがおかしいのか分からず、やはり基礎がないと厳しいと思いました。
(生成待ちの間にFlutterの本を読んだりしていました)
ある程度実装できる人には自分で実装した方が早いのではないかと思います。
エラーログを連携してもなかなかエラーが解決されず、自分で推測して具体案を連携しないと思うように進みませんでした。
Cursorにも手を出してみた
YouTubeを見ていて、Cursor上でClineが使えることも知ったのでCursorもダウンロードして二刀流で使ってみました。
Agent、Ask、Manual?モデルはどこで選べるのか?Acceptは押さなくてもいいのか?
最初に使ったのがClineだからか、Clineの方が使いやすいと思ってしまいました。
(これは慣れだと思います。一度Cursorに慣れてしまうと今度は、Clineってどう使うんだっけ?ってなりました)
Clineで修正させてもなかなかうまくいかないものをCursorで修正させたらうまくいったり、逆もありで。
Cursorにもルールを入れる必要があると感じました。
Project Rulesってやつを入れるのがいいらしいけどよく分からなかったので、.clinerulesをコピペして.cursorrules(非推奨)としていたり…
公開されている方のProject Rulesを参考にして入れてみたけどManualになっていたり…
(※Manualだとプロンプトに指定しないといけない。Alwaysならいつでも参照される)
こんな感じでだいぶひどかったです。。
(Cursorの勉強会に参加して間違いに気づきました)
Rulesは以下を参考にしました。
それでもなかなかエラーが解決されずハマってしまうこともありましたが。。
結果的にCursorの方が使いやすいと感じたので、20ドル課金して1ヶ月メインで使い、ハッカソンのアプリを(一旦)完成させました。
今回作ったアプリ
このアプリは全てAIコーディングで作成しています。Flutterは勉強中のため、不備や非推奨な実装があるかもしれません。
その点を踏まえてご覧いただけますと幸いです。
実際に使ってみた感想まとめ
- 無料や少額でも充分試せる
Cursorは無料枠でも割とたくさん使えたので、まずはCursorを試してみるのがいいと思います!
最初はざっくり「〜なアプリ作って」くらいがいいかもしれません。 - 使用技術の基礎知識・デバッグ力は必要
今回の場合はFlutterです。エラーになってもどこが悪いのかわからないので、プロンプトを工夫しても運試しみたいで「この時間なに?」って感じでした。 - Rules設定が重要
- それでも修正されたくない箇所が修正されるためGitでのバージョン管理大事
- 作りたいものを作るには苦労あり
勉強会や記事などではざっくりプロンプトで「これだけ作れる!」「爆速!」といった演出がされますが、実際は簡単ではありません。
「AIですぐできるんでしょ」的な発言は悲しいし、モチベーションが下がります。
もちろんAIの特性理解やツールの使いこなしがまだ浅い部分もあるので、これからも学びながら試行錯誤を続けていきたいと思います。 - 何かアイディアを形にしたい人が使えばいい。個人開発界隈が盛り上がればいいなと思う。
さいごに
実際使ってみて、「意外と大変だった」というのが率直な感想でした。
それでもAIと自然言語のやりとりで作り上げていくのも楽しくて熱中できました。
まだ使い始めで使いこなせていないのか、モデルや技術選定も影響しているのか、ClaudeCodeを使ってみたらまた違うのか、これからいろいろ試してみたいと思います。
Discussion