今回は、
同じ「ポモドーロ・タイマー」を、
- Cursorへ自然言語で直接依頼
- ChatGPTで要件定義書を作成
- Claudeで要件定義書を作成
という3パターンで開発し、
どのような違いが出るのかを検証してみました。
最近は、
AIにどこまで細かく指示を書くべきか
がかなり気になっていて、
今回かなり experimental な比較をしています。
今回の比較パターン
今回比較したのは以下の3パターンです。
パターン①
Cursorへ自然言語で直接依頼
パターン②
ChatGPTで要件定義書を作成してCursorへ投入
パターン③
Claudeで要件定義書を作成してCursorへ投入
同じテーマ、
同じCursor環境で比較しています。
実際の比較結果
かなり意外だったのですが、
一番きれいに完成したのは、
「自然言語で直接依頼」版
でした。

左:自然言語での直接指示
中央:ChatGPT要件定義
右:Claude要件定義
正直、
最初は逆を予想していました。
特に Claude は、
要件定義書そのものがかなり綺麗で、
実は一番期待していました。
自然言語版がかなり優秀だった
今回、自然言語でCursorへ入力した内容は、
かなりシンプルです。
ポモドーロ・タイマーを開発してもらえますか。
ユーザが都度 .py の起動コマンドを実行しなくてもいいように、 .exe 形式のファイルで開発してください。
UIは直感的に操作しやすい、リッチなUIにしてください。
かなり雑な指示ですが、
実際には:
- ダークUI
- 円形タイマー
- タブ切り替え
- セッション管理
- 状態表示
など、
かなり多くをCursor側が補完していました。
しかも:
追加の大きな修正なし
で、
.exe ファイルも問題なく生成・起動
できました。
これはかなり意外でした。
ChatGPT版は、かなりバランスが良かった
ChatGPT要件定義版は、
かなり “実務的” な印象でした。
- UI
- build安定性
- 機能バランス
が比較的良く、
自然言語版の次に完成度が高い
という結果でした。
要件定義も、
かなり整理しやすく、
Cursorとの相性も良かった印象があります。
Claude版は、一番苦戦した
一方で、
一番期待していた Claude 要件定義版は、
かなり苦戦しました。
まず、
要件定義書そのものは、
かなり綺麗でした。
ただ実際の開発では:
- バグあり
- 一部正常動作しない
- build不安定
- exe生成失敗
などが発生。
特に最後の exe 化でかなりハマり、
Cursorへ何度も追加改修を依頼
することになりました。
完成物としても、
今回の中では一番不安定でした。
これはかなり意外でした。
Cursorはかなり自律的に考えていそう
今回かなり印象的だったのは、
Cursor側が、
かなり自律的に補完・思考していそう
という点です。
自然言語で大まかに指示しただけでも、
- UI構成
- 機能配置
- 状態管理
- ボタン構成
などをかなり自動で補完していました。
これはかなり未来感がありました。
細かく指示しすぎない方が良いかもしれない
今回の検証を通して、
かなり感じたのは、
細かく指示しすぎるより、
方向だけ大まかに伝える
方が、
結果として良いケースもありそう、
という点です。
つまり、
まずざっくり作らせる
↓
気になる部分だけ修正
という進め方です。
これはかなり “vibe coding” に近い感覚でした。
各バージョンについて
今回作成した:
- Cursor直接依頼版
- ChatGPT要件定義版
- Claude要件定義版
については、
それぞれ別記事として整理し、
exe ダウンロード付きで公開予定です。
実際のアプリの違いや、
完成度の差も比較できるようにしたいと思っています。
まとめ
今回の学びは、
AIに細かく指示しすぎなくても、
かなり良いものは作れる
でした。
むしろ、
AI側にある程度考えさせた方が、
結果が良いケースもある
のかもしれません。
とはいえ、
まず動かす
まず出す
を優先して、
引き続き experimental なツールを量産していこうと思います。
関連記事
今回比較した3つの開発パターンについては、個別の記事でも詳しく紹介しています。
Cursorに直接頼んでみたパターン
もっともシンプルな方法です。
「ポモドーロ・タイマーを作って」とそのまま依頼した結果を紹介しています。

ChatGPTで要件定義してから作るパターン
先にChatGPTで要件を整理してからCursorに渡したパターンです。

Claudeで要件定義してから作るパターン
Claudeで詳細な要件定義を作成し、その内容をCursorに渡したパターンです。



