見出し画像

Claudeの衝撃2

今日、Claude3を使ってアプリ開発をしてみた。
端的に感じたことを言うと、予想通りではあるが想像以上の開発体験だった。

作りたいアプリの概要、機能要件、使用する主な技術を最初の入力として与えると、ディレクトリ構成、コンポーネントファイル、設定ファイル、その他必要なファイルの内容と、アプリの立ち上げ方法等を出力してくれた。出力はぱっと見それっぽく、期待しながらファイルを作成・修正して立ち上げると、デザインこそ初期テンプレっぽいものの、機能要件は完全に満たしていた。そこからさらに改善を重ねるためにプロンプトでやり取りをしてアプリを改善していく過程も極めて進めるのが楽だった。

正直、趣味開発等の小規模アプリの実装はもうこれで十分だ。機能追加のためのコンテクストを与える方法はまだ知らないが、それができればもう基本的にClaude3をベースに開発を進めればいい。コードのことを考えるのは、実装や設計が意図したものになっているかレビューするか、知らない機能を使ったコードがあればそこをドキュメントをみるなりして学ぶくらいのものだだと思う。僕たちはそれ以外のマーケティング戦略等に集中するのがベターに思える。なんなら、その戦略についてもClaude3と会話しながら方針を立てるのが筋が良さそうに思える。

アプリ開発のハードルが激減するので、今後、までよりも大量の個人開発アプリが登場し、個人アプリ開発界隈は今まで以上に競争が激化すると思う。

この状況を踏まえて、これからどのように立ち回ればいいか考えてみる。

まず、今までアプリを作りたいと思いつつなかなか重い腰をあげられなかった経緯があるので、アイデアノートに眠っているアプリを作っていきたい。その過程を通して、LLMによるアプリ開発の知見を高めていくのが最初にすべきことだと思う。

次点で考えていることとしては、今後の身の振り方だ。エンジニアにとっては実装コストが激減するので、その分キャッチアップにコストを割けるようになる。なので、このままエンジニアを続けたいのであれば、今まで以上に上流工程の勉強を積む必要がある。コードの良し悪しや設計手法、要件定義、フロントやバックエンドなどの領域に閉じない様々な技術、そういった知識を幅広く習得する必要が出てくる。エンジニアは今後そういう方向性でスキルを伸ばしていくようになるのではと思っている。

直近は上で述べたような身の振り方でいいと思うが、正直その方面の競争はあまりしたくないことや、先の不透明性を考えると他の選択肢も考えておきたい。ただ、正直LLM前提の業務フローを考えるとエンジニア系ロールがほとんど置き換えられる。要件定義はLLMで置き換え可能、設計・コードレビューはギリギリまだ人間が実施する必要あり、コード実装は置き換え可能、テストもおそらく置き換え可能。あとはPM系の仕事もまだ人間がやる必要があると思う。といっても、もしかしたらLLMのインターフェースを人間がやるだけで、マネジメントそのものはLLMが担当することになるかもしれないが。

極論、経営者自身がLLMを使えば大体なんでもできるだろうから、あとは人間がやらないといけないところを切り出していけばいくつか選択肢が見えてくるかもしれないが、今日のところは、設計・コードレビュー・PMあたりがギリギリまだ人間ができる仕事という結論にしておく。

明日は、引き続きLLMに置き換えられなそうな仕事について考えるのと、コーディングコストの激減によって生まれる新しい可能性について考えてみたい。

この記事が気に入ったらサポートをしてみませんか?