本書籍を購入した理由・目的
前著の『世界一流エンジニアの思考法』が日々の実務において非常に参考になったため、
今回の新刊『部下としてのAI 世界一流エンジニアの進化術』も購入しました。
コーディングエージェントなどのAIツールが当たり前になるこれからの時代において、
エンジニアとしてどうAIと付き合い、キャリアを築いていけばいいのか。
その具体的な指針を探るのが本書を手にとった一番の目的です。
AI時代も結局「理解」が重要である
本書の中で何度も繰り返し登場するのは「理解が大事」ということです。
「理解こそが最も重要」「理解は絶対にコスパがいい」といった言葉がよく出てきます。
AIがコードを爆速で生成してくれる時代だからこそ、
人間側がシステムの全体像を理解して「メンタルモデル」を作ることが、最終的な成果の質を決定づけます。
AIをただ「作業を爆速で片づけるため」に使うのは非常にもったいなくて、
むしろ、難解な仕様や未知のコードに対する自分の「理解」をブーストするためにAIを使うべきだという指摘は、非常に腑に落ちるものでした。
エンジニアの役割は「AIのマネジメント」へシフトする
これからのエンジニアは、自分でガリガリとコードを書く役割から、
AIをコントロールする「マネジメント」の役割へとシフトしていきます。
本書では、AIの弱点を補い、人間の介入ポイントを明確に設計することが大事だと言います。
会話が長くなるとAIは初期の指示を忘れてしまいます。
そこで、AIにただ丸投げするのではなく、以下のステップで進めることが推奨されています。
- 仕様書でコンセンサス(認識合わせ)をとる:AIにMarkdownで詳細な仕様書を書かせ、「外部記憶」として保持させる。
-
計画とチェックリストを作成:実装ステップを分割した
plan.mdを作らせ、AIに「現在地の地図」を持たせる。(エラー修正などでAIが文脈を見失っても、自律的に元の作業へ復帰できるようになります) - 人間の介入ポイントを絞る:人間は「仕様書のレビュー」「実装計画のチェック」「最終的な動作確認」といった要所のみに介入し、実装やテスト駆動(失敗の自動化)はAIに任せる。
著者はコーディングエージェントはF1カーの操縦のようなものだといいます。
使う人の能力を10倍ブーストしてくれる最高の武器にもなりますが、
システムへの理解が浅かったり、指示が見当違いだと暴走してクラッシュしてしまうといいます。
圧倒的なスピードとパワーを持つエンジン(AI)に「地図」を与え、
基本設計からテストに至るフローの中で、ドライバー(人間)が的確に介入してコントロールすることが、AIを「優秀な部下」にするための必須スキルとなります。
明日から実務に取り入れる具体的なアクション
本書を読んで、明日からの開発業務にすぐ取り入れたい実践的なアクションがあります。
それは「ディープコードリーディング」です。
ディープコードリーディングとはAIにガイドしてもらいながら、他人の書いたPR(プルリクエスト)を100%理解しながら深く読んでいく手法です。
具体的には、いきなり詳細なコードを一行ずつ追うのではなく、まずはAIにコードポインターを渡し、「アーキテクチャと動作フローの大枠」を解説してもらいます。最初に全体像(メンタルモデル)を頭に作り、完全に「納得」した上でコードの詳細に入っていくことで、理解のスピードは圧倒的に速くなります。
著者は、優秀なエンジニアは他人のコードをたくさん読んでいると言います。
今後は週のスケジュールに時間をブロックしてでも、主要メンバーのPRをこの手法で読み込んでいこうと思います。
AIにコーディングを任せても、仕事は楽しいのか?
ポストAI時代、「AIが大部分のコードを書くようになったら、プログラミングの楽しさや職自体が奪われてしまうのではないか」と不安を抱えるエンジニアは多いと思います。(僕も不安)
しかし著者によれば、その不安は杞憂だと言います。
むしろ、自分の思いついたアイデアを圧倒的なスピードで形にできるため、「今、本当に楽しくて仕方がない」とのことです。
臆することなく、このコーディングエージェントの世界にダイブして楽しむ姿勢が推奨されています。
そして、AIになくて人間にあるものが「フィール(Feel)」だと言います。
AIは過去のデータから平均的で標準的なものを爆速で生成しますが、人間のパッションや偏愛、そして「癖」といった固有の創造性を生み出すことはできません。
具体的には、例えばRailsやReactを使って一般的なCRUD機能や標準的な画面を作ることは、AIを使えば誰でも一瞬でできるようになり、いずれコモディティ化します。
しかし、「ユーザーが触った時に直感的に気持ちいいと感じるUIのテンポ感」や、
「保守性に対する個人的な強いこだわり」といったものは、AIには出力できません。
「AIに仕事を奪われないか」という不安について、
汎用的なコード生成はAIという優秀な部下に任せ、自分はそうした人間特有の手触り感や探求心(=フィール)に徹底的にリソースを注ぎ込むことこそが「代替できない価値」になるのだと、理解しました。
おわりに
人間がすべて手作業でコーディングする時代は、一つの終焉を迎えたのかもしれません。
しかし、それはエンジニアの仕事がなくなることを意味するのではなく、「AIマネージャー」として新たなステージへ進むチャンスでもあります。
変化の激しい時代ですが、「部下としてのAI」(タイトル回収)を手に入れたマネージャーとして、自身の「フィール」や探求心を大切にしながら、これからもしっかりとキャリアを築いていこうと思います。