TurtleSoft

AI時代のエンジニアリング:Cursorを使って感じた可能性と課題

そろそろAIコーディングをしてみたいと思っていませんか?やらないといけない焦燥感に駆られはじめていませんか?

僕は歴20年ほどのほどほどエンジニアです。つよつよには及びません。
知らない技術でも、調べてコードに落とし込んでいくことはそれほど苦になりません。が、品質にはどこかに不安がなくもない。そんなエンジニアです。

AIコーディングに乗り遅れているというちょっとした焦燥感と、「もしかしたら楽にコードが書けるのでは!」という怠惰な考えが頭にもたげていました。

そんなおり、AIコーディングをするチャンスが降ってきました。とある技術をどうやって実現しているのか、をプロトタイプ実装して確かめる機会ができたのです。

不慣れな新しいツールをインストールするのをためらっていた私は、おもむろにCursorをインストールしていました。

この投稿は、私がAIコーディングでプロトタイプ実装を1からやってみた経験から得た思いを記したものです。


AIコーディングでプロトタイピングしてみた

今回やろうとしたのは、「とある巨大コミュニケーションツールが提供しているサービスを、どのようにすれば実装できるか確認する」ということでした。プロトタイプWebアプリを実際に作れるのかを試しました。

結果としては1週間で実装することができ、実際に作れそうだという感触を得て満足しています。

一方で、もう一つの目的であるAIコーディングは使えるものなのか?についても可能性を感じることができました。


やはり開発時間の短縮に役立つ

まず素晴らしかったのは、AIコーディングを行うと開発時間が間違いなく短くなる点です。

言語仕様やライブラリに関する知識が薄くても、実現したいことをプロンプトで伝えるとコードが生み出されます。

「文法的にどう書いたらいいんだ?」

「これをやってくれるライブラリなかったか?」

従来であれば、ドキュメントを調べたり、Googleで検索したりして明らかにしないとコードが書き出せませんでした。

少なくとも数日は仕様確認や文法の再学習に費やしていたと思います。

ですが、それをせずとも、大規模言語モデルがプロンプトの意を汲んでコードを出力してくれます。

生み出したコードを読むことによって薄かった知識が埋まっていくのです。「調べる」のと「そこにあるコードから理解する」のではスピードが全然違います。

しかもコードを書き出すスピードの違いも歴然です。


最新知識のキャッチアップ

もうひとつ素晴らしいと思えたのは、ほぼ最新の知識がキャッチアップできるという点です。

プロトタイプ実装に使う言語について、長らく触れておらず知識が昔のものでした。

言語仕様が変わっていたり、新たなライブラリが増えて、スタンダードなやり方が昔とは変わってしまった。

そのことに気づいてはいましたが、実際にどのようになっているかまではわかりませんでした。

何が現在のスタンダードなやり方なのかを生み出されたコードから理解することができたのは、非常にありがたいと感じました。


指示する人間の表現力が開発効率を左右する

AIコーディングの最大の落とし穴は、**「人間の表現力や要求定義能力に依存する」**という点です。

大規模言語モデルに「こうしたい」と伝える際、要件の前提条件や制約をきちんと表現できないと、生成されたコードが本来意図しているものとズレてしまうことがあります。

また、特定箇所だけを修正してもらったら他と不整合が起こる…といったケースも散見されました。

これは「部分修正するときに、全体的な仕様や構成をきちんと伝えきれていないから」だと思います。

結果的に、「何が問題なのか・どう変えたいのか」をしっかり言葉にして伝える能力が開発効率に大きく影響するわけです。

そこがうまくできないと、何度やり取りしても本質が伝わらないまま堂々巡りになる可能性があります。


指示を的確にできるエンジニアが生き残る世界へ

実際にAIコーディングを試してみると、経験豊富で指示の勘所を押さえたエンジニアがいると、ものすごく効率よく開発が進むと感じました。

一方で、仕様設計のスキルや文章表現力がないエンジニアにとっては、スコープが大きくなるほどコード生成がうまくいかずに「なんだかよくわからないツールだな」で終わる可能性もあります。

そのため、業界全体で見ても、**「AIに対して適切に指示を出し、全体をマネジメントできる能力」**を持つ人こそが残っていく未来が来るのではないでしょうか。

単にコードを書くスキルよりも、もう一段階上のコミュニケーション力や設計力が求められる時代になりそうです。


システムインテグレータとしての力を鍛えるトレーニング

もう一つ感じたのは、AIコーディングを使うことでシステムインテグレータとしての総合力が鍛えられるという点です。

「有能な部下を使う」イメージでAIに指示を出し、全体の仕様・要件を整理する訓練をしている感覚ですね。

どこにデータを渡し、どのような機能を実装し、最終的にどう動かしたいのかを明確に示さなければ、AIの出すコードは的外れになりやすい。

結果として、要求定義・設計力・コミュニケーション力が自然と身につくのではないかと思います。


まとめと今後の展望


1週間ほどCursorを使い込んでみた結果、AIコーディングのポテンシャルは非常に高いと感じました。

細かい文法や書き方に時間を取られずに済む分、アプリケーションの本質に集中できるのは大きなアドバンテージです。

一方で、上手に使いこなすためには「何をどう指示するか」という人間側の能力が問われるとも痛感しました。

今後、AIコーディングがさらに高度化し、経験の浅いエンジニアでも高品質なコードを生み出せるツールが登場してくるかもしれません。

しかしそのときでも、やはり**「要件を整理し、仕様を的確に表現できるエンジニア」**が求められる状況に変わりはないでしょう。

むしろそうしたスキルを身につけた人材だけが、エンジニア業界を牽引していく可能性も高いと感じています。