ご挨拶
皆様こんにちは。ke1plusと申します。
Qiitaで記事を書くのが初めてなのと、本記事をどのような立ち位置の人物が書いているのか?という背景をご理解頂くために、まずは簡単な自己紹介を作成しました。
会社員。元々は企画・UX/UIデザイン担当。
2023年末、開発未経験で一人部署のエンジニアに。
右も左も分からぬ中、ChatGPT Plusを「師匠」と仰ぎ組手に明け暮れる日々を過ごす。
2025年6月よりWebサービスの個人開発を開始。
- ナレッジ管理 :Notion + Obsidian
- 思考壁打ち :Gemini Pro + NotebookLM
- プロトタイピング:Figma
- 実装 :Cursor Pro + Kiro
いきなり結論
まず表題の結論を述べます。
僕自身の体験として、 駆け出し個人開発者にはCursorの使用を強く推奨 します。勿論Cursorでなくとも、「Vibe Cording」(後述します)に振る舞うAIエディターであれば、お好みに応じてGitHub CopilotやClaude Codeなどでも大丈夫です。
ここからはKiroとCursor(等の先発AIエディター)の紹介や比較、そしてなぜ僕がこの結論を持つのか?をお伝えしていきます。
Kiro登場の衝撃
さて現在、Amazonが2025年07月15日に発表した新しいAIエディター「Kiro」が大変な話題となっていますね。
市場には既にGitHub Cpilot、Claude Code、Cursorなど複数のAIエディターが存在する中で後発として参入したKiroですが、 唯一「Spec駆動型」という特徴を備えている ことが要因となり、今後のメインストリームとなるのでは?ともっぱらの評判のようです。
Spec起動型とは?
Spec(仕様書)に基づいてコーディングを進めるスタイルのことです。コード生成を始める前にまず「何を作るのか」「どのような技術を用いるのか」「どんな機能を備えるのか」等の仕様をドキュメントベースで完成させ、コード生成時は必ずその仕様に準拠する。というのが特徴です。
僕も発表当日に早速プレビュー版をダウンロードして体験してみたのですが、そのポテンシャルの高さに非常に驚きました。
「〇〇するアプリを開発して」と一言指示を与えるだけ で、非常に充実した内容かつ「業界のお約束」を遵守した開発前提資料(Steering)、要件仕様書(Requirements)、設計仕様書(Design)、実装タスクリスト(Tasks)が生成され、またその タスクがほぼ全自動でガリガリ実装されていく さまは正に圧巻です。
前提として適宜ユーザーがハンドリングする「Supervisorモード」の使用が推奨されてはいますが、ほとんどAIに丸投げする「Autopilotモード」でも概ね問題なく、 1行も自分でコードを書かないまま実装まで完了 できてしまいます。
全く学習していない開発言語でも、それどころかエンジニアリング未経験でも関係ありません。 ユーザーがやることはただひとつ、最初に簡単な指示を与えるだけ です。
ノリによる開発
Kiroに先行して市場に登場したAIエディター達は、全て「Prompt駆動型」という特徴を備えていました。これらのエディターも登場当時は大変にもてはやされ、驚くべき速さで開発現場に浸透し、 もはや自力でコードを書く時代は終わった とまで言う人も居たくらいです。
Prompt駆動型とは?
生成AIとの対話をベースとして開発を進めるスタイルです。エディター内のチャットを通してプロンプトを与えると、生成AIがそのプロンプトを満たすコードを都度生成し、実装してくれます。
しかしPrompt駆動型の開発は時に 「Vibe Cording」であると揶揄され、それが最大の問題・課題とされています。「Vibe Cording」とは「ノリによる開発」という意味です。なんだか楽しげで悪いことはなさそうに思えますが、これがなかなか厄介な要素なんですね。
例えばChatGPTやGeminiとの会話を想像してみてください。
スレッド初期には特段問題なく会話が成立していたが、スレッドが深くなるにつれて彼らが徐々にコンテキストの整合性を失っていき、同じ話をループし始めたり、質問に正確に答えられなくなっていく...という経験がありませんか?
また異なるスレッド間ではコンテキストが引き継がれず、別のスレッドでは既に伝えてある前提条件を再度提示しなければならない、ということもありますよね。
Prompt駆動型の開発は、正にこれと同じ状況が発生するリスクを孕んでいます。 生成AIがコンテキストを見失い、必要機能・手順の欠如、構造上の矛盾、コードのバッティングなどを誘発し、開発・保守が不可能な状態に陥ってしまう おそれがあるんです。
そこにKiroが登場し、この 「Vibe Cording」問題への解決策 を提示してきました。
前述の通り、KiroにはSpec(仕様書)の作成が基幹機能として盛り込まれており、 コード生成の際にその「仕様書」を絶対唯一の法として遵守 します。これにより、プロジェクト全体の一貫性や秩序、バランスを保つことが可能となりました。
Kiroが界隈を騒然とさせ、 全ての先行AIエディターを過去のものにするかもしれない と噂されている理由がここにあります。
鍛錬の場としてのVibe Cording
ではなぜ、「Vibe Cording」問題を機能として解決したKiroではなくCursorを、僕は駆け出し開発者に勧めるのでしょうか?
それは、この 「厄介さ」と向き合う経験こそが、開発者としての「基礎体力」を鍛える最高の訓練になる と考えているからです。
「Vibe Cording」は、無計画に進めてしまうと容易にプロジェクトの破綻を招きます。しかし、まさにその 「破綻する」という経験こそが、学習において非常に重要 です。AIに頼って場当たり的にコードを追加していくと、必ずどこかで壁にぶつかります。
「あれ、前に追加したこの機能と競合(バッティング)して動かない…」
「全体として、データの流れがぐちゃぐちゃになってきた…」
「このエラーメッセージ、AIが生成したコードのどこが原因なんだ?」
こうした問題に直面したとき、僕達は否が応でも以下のスキルを使わざるを得ません。
-
全体像の把握力:
複数のコード片がどのように連携して一つのシステムを形成しているのか、俯瞰的に見る必要が出てきます。 -
問題解決能力:
エラーの原因を特定し、AIに的確な修正指示を出すか、あるいは自分でコードを修正する必要に迫られます。 -
技術・処理フロー選定能力:
「AIはこのライブラリを提案してきたけど、本当にこれがベストな選択か?」など、技術的に重要な意思決定を行います。 -
論理的思考能力:
そもそもAIに意図通りのコードを生成させるには、「何を、どの順番で、どのように実装してほしいのか」を論理的に整理し、質の高いプロンプトとして言語化する能力が不可欠です。
「Vibe Cording」は、これら全ての能力を育ててくれます。
Prompt駆動型AIエディターにおいて、AIは超優秀なペアプログラマーとして振る舞いますが、 その手綱を握るのは常に僕達 です。 「全体としての一貫性や秩序、バランス」が崩壊しないように「Vibe Cording」を乗りこなす努力をすることが、僕達の絶好の成長機会 となります。
またもしプロジェクトが破綻してしまったとしても、それは「まだそこまでは行けない」という意味で 「絶妙なストッパー」 として機能します。
プロジェクトが破綻したところで大勢に影響はありませんし(なにせ僕達は駆け出し個人開発者です!)、スキルアップのための良い発見になります。むしろ保守・管理がろくに出来ない状態でプロダクトをローンチしてしまうと、その後非常に苦労することは目に見えていますよね。
駆け出し開発者的Kiro活用方法
ここまで紹介した通り、Kiroが非常に強力なツールであることは間違いありません。
特に駆け出しのうちはおざなりにしがちな「開発前提資料(Steering)」「要件仕様書(Requirements)」「設計仕様書(Design)」などの ドキュメント類を自動生成してくれる機能は神であると言っても過言ではない でしょう。
そこで、Kiroではこのドキュメント作成機能のみを使用する、というのが僕のお勧めの活用方法になります。使い方は簡単で、 Kiroで既存のプロジェクトを読み込み、Specモードで「ステアリングとスペックを作成して」とお願いするだけ です。
またその後も適宜メインエディターとKiroを行ったり来たりしつつ、Kiroでは補完的にドキュメント類のリファクタリングをさせるとより効果的でしょう。なによりこの ドキュメント類をしっかり読み込んで理解を深めること自体も、非常に有用な学習機会 となります。
まとめ
最後に本記事の内容をまとめます。
-
Spec駆動型のKiro:
超強力だが、実装プロセスがブラックボックス化しやすく、駆け出し開発者の学習機会を奪ってしまう側面がある。 -
Prompt駆動型のCursor:
「Vibe Cording」(ノリによる開発)に陥りやすいが、その「厄介さ」と向き合う過程で、開発者に必須の「基礎体力」が鍛えられる。またこの「厄介さ」は、実力以上のプロダクトを作ってしまうことを防ぐ「絶妙なストッパー」としても機能する。 -
駆け出し個人開発者の最適解:
普段はCursorで実装しつつ、Kiroの強力なドキュメント自動生成機能を補完的に活用することである。
それでは皆様、良き開発ライフをお過ごしください。ありがとうございました!