こんばんは。
ちょっと時間が空いてしまいましたね。
最近はプライベートでもお仕事でもAIエディタを使う機会が増えてきました。
CursorやRoo Codeを使うことが多いですが、VS CodeのエージェントモードもGAされたようですね。
これらは単なるコード補完ツールとしての役割を超え、開発のあり方そのものが変わりつつあるように思います。
今回はちょっとそのあたりを考察してみます。
操縦席に座ってもらう
従来のGitHub Copilotは、私たちがコードを書く際に次の数行を予測して提案するなど、我々が「手を動かす」部分をサポートしてくれる存在でした。
一方でCursorのようなAIエディタは、より抽象的な指示、例えば「この機能を追加して」「このバグを修正して」といった要求に応えて、広範囲なコードを生成・修正してくれます。
どちらが主でどちらが副かという話はありますが、手を動かす側とそれをサポートや指示する側の役割はするっと入れ替わっているようです。
これは、開発の役割分担にも徐々に変化をもたらしてきそうです。
これまで「手を動かす」プログラマと、「指示を出す」マネージャーや設計者という構図がありましたが、AIエディタの進化により、多くの人が「指示を出す側」に回る未来が見えてきました。
AIがコーディングという「作業」の多くを担うようになるわけですね。
たとえば先日、いま流行りのMCP機能を作ってみたのですが、MCPに必要な機能自体はほとんどCursorに書いてもらい、私はその中身に集中することができました。
もちろんコードを理解してそれなりに手直しはしたのですが、最初から自分で書くことを考えるとかなりの時間短縮になりました。
年度初めはマネジメント系の仕事が多く、なかなかコードを書く時間が取れないのでとてもありがたいです。
責任のスライド
さて、この変化はプログラミングにおける「責任の所在」にも大きな影響を及ぼしそうです。
従来は、コードを書いたプログラマがそのコードの品質や動作に直接的な責任を持ち、プロジェクト全体に対してはマネージャーやリーダーが責任を負う、という形が一般的でした。
しかし、AIがコード生成の大部分を担うようになると、マネージャーや設計者からの指示をそのままAIに渡すだけではプログラマの存在意義はなくなってしまいます。
当然プログラマに対しての指示はこれまでよりも抽象的なものになり、それをAIが成果を出せるようタスクに分割し、最終的にオーケストレーションして一つの成果という形にするというのがプログラマのメインの仕事になってくるでしょう。
そして一方で生成されたコードの品質、潜在的なバグ、セキュリティリスクに対する責任についてはAIが負ってくれるわけではありません。
ここで「責任のスライド」が発生します。
「手を動かす」AIと「指示を出す」プログラマ、そして「より大きな範囲の指示」や「戦略策定などの抽象度の高い仕事」をするマネージャー。
つまり、それぞれがこれまでより一つ上の階層に適応し、その責任を負わなければなりません。
(もしくはそんなにはっきりではなく、「責任のグラデーション」くらいかもしれませんが)
これからの開発者に求められるもの
AIに的確な指示を出す能力は、今後ますます重要になってきます。
プロンプトエンジニアリングといった技術的な要素もありますが、どちらかというと抽象的な課題を具体的な指示に落とし込む能力みたいなところです。
そういった意味では技術をやっていたいからマネージャーにはなりたくないみたいな話はあまり意味がなくなってくるかもしれません。
もっとも、AIには人間関係といったスキルは求められないので、人間のマネジメントとはまた違った形なのかもしれませんが。
また、AIが生成したコードを評価し、その背後にある論理や潜在的な問題点を理解するための高度な批判的思考力と問題解決能力についても求められることは想像に難くありません。
これはわかりやすく言えば「考える力」です。(例としてはシステム全体を見通す力、トレードオフを判断する力、倫理的な側面を考慮する力など)
結果としてAIを上手に使いこなして個人の自己組織化を進めるジェネラリスト方面と、AIにはまだうまくできない領域を担うスペシャリスト方面の二極化が進むのかもしれません。
役割が一つ上にスライドする以上、シニアエンジニアのルートにあるこれらの役割に収束してくるのは自然ですね。
まとめ
CursorのようなAIエディタの登場は、開発効率を劇的に向上させる可能性を感じさせます。
しかし、その一方で私たちはAIとの新しい付き合い方、特に「責任」の所在について真剣に考える必要があります。
また、これからのプログラマに求められる能力はより抽象的なものになり、特に「考える力」が重要視されるのではないでしょうか。
ここ数年の技術の進歩は目覚ましいものがありますが、またさらに一段ギアが上がっていきそうですね。
ついていくのは大変ですが、仲良く付き合っていきたいものです。
このブログはAIとの協業によって作成されました - そして、その内容に責任を持ちます。
P.S.
この記事はAIと壁打ちしながら書いた記事ですが、結果としてはかなりの部分をゴリゴリと自分で書き直しました。
読み物として読んでいる分には楽しいのですが、やはり自分が発信する内容としては「書きたいと思っていたことと若干ニュアンスが違うけどまぁいいか」と思わない意志が重要ですね。
ちなみに、この最後のユーモアのある注釈はAIが考えたものをそのまま使っています。洒落たことを言いますね。