AI と協業する開発について、これまでいろいろ書いてきました。今回は、AI 時代に、人間はどこで成長するのか、考えてみます。
- AIはツールでなく、地頭の良い新人
- やる/選ぶ、答える/問う
- リファクタが、人間の聖域
- アラート調査・障害対応も、成長機会
- 保守を仕組み化(自動化の罠)
- ドメイン感覚と職人芸
- スキルを育てるサイクル
- モデル進化で、指摘が減る罠
- 自分で学ぼうとする人が、成長する
- 何かを諦めないと、成り立たない
- AI は新人のまま、は今はね
- いい感じになってきた、でも時々良くない
- まとめ
AIはツールでなく、地頭の良い新人
前に、AI を「地頭が良く自信過剰な新人」と捉えてみました。今でも、この捉え方は、自分にはしっくりきます。
AI は、ツールではありません。電卓やエディタのように、決まった操作で決まった結果を返すのではなく、文脈を読み、判断し、コードを書く。そして、文句を言わず、トークン分だけ働く。新人エンジニアと、似ています。
ただし、自信過剰です。迷って立ち止まるより、確信を持って進む。間違っていても、堂々と書く。気付かないと、良くないコード(AI slop)が、コードベースに増えていきます。
この捉え方が、起点でした。「ツール」と思っていると、付き合い方を見誤る。「新人」と捉えると、レビューも、ハーネスも、お手本コードも、自然と必要になる。新人と一緒に働くときに、人間がやってきたことを、AI に対しても、やる。
やる/選ぶ、答える/問う
繰り返し書いてきた分担があります。
- AI は、やる・答える
- 人間は、選ぶ・問う
機械的な作業、定型的な処理、組み合わせの最適化── これらは、AI が得意です。一方、「何をやるか選ぶ」「何を問うか考える」── これは、人間の役割。
選ぶには、判断が要ります。「これは、やる価値があるか」「これは、後でいいか」「これは、捨てるか」。問うには、文脈と意図が要ります。「なぜ、これが必要か」「本当は、何を解決したいのか」。どちらも、機械的なルールでは決まらない。経験と感覚で、判断する。
AI が機械的な部分を担うほど、人間の「選ぶ」「問う」が、際立つ。そして、選ぶ力、問う力は、経験で磨かれる。失敗から学び、判断の精度を上げ、問いの解像度を上げる。ここが、人間が成長する場所の、最も基本的な部分です。
リファクタが、人間の聖域
具体的な場面で、人間の役割を見てみます。リファクタは、その一つです。
AI は、自分から「ここをリファクタしましょう」とは、言いません。指示すれば、リファクタはしてくれる。でも、「ここを直すべき」という気付きは、AI からは生まれにくい。
リファクタには、「何かおかしい」という感覚が要ります。コードを見て、「このパターンは、後で面倒になりそう」「ここに、違和感がある」と感じる。理由を言語化できないこともあるが、経験から、嫌な予感がする。
これは、人間の経験と感覚に依存する判断です。教科書には書かれていない。プロジェクトの文脈、過去の経緯、将来の方向性── すべてを踏まえた、職人芸的な判断。AI で書くコストが下がるほど、リファクタは速くできるようになります。でも、「気付き」のは、人間の役割。
アラート調査・障害対応も、成長機会
障害が起きると、原因を追います。ログを読む、メトリクスを見る、コードを追う。「なぜ、これが起きたか」を突き止める過程で、システム全体の理解が、深まります。
AI は、調査を手伝ってくれます。エラーログを渡せば、原因の仮説を出してくれる。Sentry の URL を渡せば、関連箇所を探してくれる。でも、「この障害の本質は、何か」「根本的に、何を直すべきか」── これは、人間が判断する領域。
具体的な場面で言えば、AI はエラーを握りつぶそうとすることがあります。catch して、ログだけ出して、何事もなかったように処理を進める。表面的には「エラーを処理した」ように見えるが、本当に対応すべきエラーが、見えなくなっている。
特に、外部の連携先から、エラーコードだけが返ってくるような場合。「どういうケースで、このエラーが発生するのか」が分からないと、対応方針が決まりません。リトライすれば直るのか、ユーザに通知すべきか、緊急対応が要るのか、放置していいのか── これは、連携先のドキュメントを読み、必要なら問い合わせ、過去の事例を当たって、初めて判断できる。AI は、目の前のエラーを処理しようとしますが、その背後にある「どういう状況でこれが起きるのか」「どう対応すべきか」は、人間が調査して判断する。
そして、障害対応で得られる経験は、教科書には載っていません。「あのとき、こんな障害があった」「あの修正は、こういう副作用があった」── 経験として、頭の中に残ります。次に似たような兆候を見たとき、「あ、これは、あのパターンか」と、勘が働く。これも、人間が成長する場所です。
保守を仕組み化(自動化の罠)
ここで、注意したい点があります。「機械的なことは AI に」と言いつつ、何でも自動化すれば良いわけではない。
例えば、アラート。自動化を進めて、アラートを増やすほど、人間が見なくなる。慣れて、見過ごす。本当に重要なアラートが、ノイズに埋もれる。「自動化できる」と「自動化すべき」は、別です。
だから、アラートを設計するときの考え方も、変わってきます。「とりあえず全部通知する」のではなく、オペレーション対応が必要なものだけを、通知する。そして、通知には、「何を確認して、どう対応するか」まで含める。単なる「エラーが出ました」ではなく、「これは○○の状況で発生する。○○を確認して、○○の対応を取る」と。
こうすると、アラートが少なくなり、来たら対応しなきゃ、という温度感が作れます。アラートを見て、「またか」ではなく、「これは見ないといけない」と感じる状態。これは、機械的にはできません。何が本当に対応すべきで、何が放置していいか、どう対応すべきか── 人間が判断して、アラートを設計する。
仕組み化と、人間の判断は、両輪です。仕組み化で、機械的な部分を減らす。減らした分、人間が、本当に大事な判断に集中する。「自動化の罠」── 自動化したら終わり、ではない。育て続ける。これも、人間の役割です。
ドメイン感覚と職人芸
ここまで書いてきた「選ぶ」「問う」「気付く」「判断する」── これらの背後には、もう少し深いものがあります。ドメイン感覚と、職人芸です。
ドメイン感覚とは、「その業務を、深く理解した感覚」のことです。業務知識、暗黙のルール、過去の経緯、エッジケースの引き出し。これらは、何年もそのドメインに関わって、徐々に内在化されていきます。専門領域(金融、保険、医療、製造業など)では、5年、10年と時間がかかる。
そして、設計判断は、職人芸です。ドメインの境界をどう切るか、層をどう分けるか、何を Entity にするか── 教科書にパターンは書かれていますが、自分のプロジェクトでの適用は、経験と感覚で判断する。
AI は、概念(Entity、Repository、依存方向のルール)は学習しています。広く知られたパターンは、知っている。でも、自分のプロジェクトでどう適用するか── これは、AI には分からない。ドメインを長く見てきた人間の判断です。
さらに深いところに、暗黙知があります。「このコードを見ると、なんか嫌な予感がする」「この設計は、なぜか落ち着かない」── 言語化が難しい、経験で磨かれた感覚。AI は、形式知(言語化されたもの)で動きます。暗黙知は、ハーネスに書こうとしても、書ききれない。暗黙知は、人間の中にしかない。
経験で磨く、失敗から養う、長く関わって内在化する── これらは、AI には代替できない。人間が成長する場所の、深いところです。
スキルを育てるサイクル
人間が AI と一緒に働くスキルも、育て続けるものです。
AI は、確率的です。同じ指示をしても、毎回、少しずつ違う答えを返す。毎回、人が変わるような感覚。だから、「これで完璧」というハーネスは、ありえません。
スキルを育てるサイクルは、こんな感じです。
- AI と一緒に作業する
- 結果が、期待とずれる
- なぜずれたか、考える
- ハーネス、お手本コード、プロンプトを、調整する
- 次回、また確認する
これを、繰り返す。完璧なものは、ありません。育て続ける。
そして、モデルが変わると、動きも変わります。新しいモデルが出ると、これまでの工夫が、効かなくなることもある。あるいは、不要になることもある。追随する必要があります。
これは、しんどいようで、本質的には、いつものエンジニアリングと同じです。ライブラリのバージョンが上がる、フレームワークが変わる、運用のベストプラクティスが変わる── 追随し続けるのは、エンジニアの常です。AI も、同じ。
モデル進化で、指摘が減る罠
AI が賢くなると、表層の指摘が減るようになります。
「ここのインデントが」「変数名が」「型が」── こうした表層の指摘は、AI 自身が、最初から正しく書けるようになる。レビューで、つまらない指摘をする必要がなくなる。
これは、良いことです。でも、罠があります。「指摘が減った = もう人間は要らない」と、思い込んでしまうこと。
実際は、逆かもしれません。表層の指摘が減るほど、深層(設計、ドメイン、判断)を問える人間の価値が、際立つ。「このアーキテクチャで、本当にいいのか」「このドメインモデリングは、業務に合っているか」「この依存関係で、将来困らないか」── こうした深い問いは、AI が賢くなっても、人間の領域として残る。
むしろ、表層の作業から解放されたぶん、深層に集中できる。深層を問える人間が、これまで以上に重要になる。「指摘が減った」と「人間が要らない」は、別物。
自分で学ぼうとする人が、成長する
「AI が答えを出してくれるから、人間は学ばなくなる」── そういう声もあります。確かに、その傾向はある。AI に頼って、自分で考えない。AI のコードを、理解せずに使う。
でも、これは、AI 時代特有の話ではありません。自分で学ぼうとする人が成長するのは、昔からそうです。
ググれば答えが出る時代に、「ググるだけで終わる人」と「ググった結果を、自分の中で消化する人」がいた。Stack Overflow で、「コピペするだけの人」と「なぜそうなるか調べる人」がいた。AI も、同じです。「答えだけもらう人」と「なぜそうなのか、自分で考える人」がいる。
「学ぼうとする人」は、AI を使っても、学びます。AI が出した答えに対して、「なぜ、これか?」「他の方法は?」と問う。AI と対話する中で、自分の理解を深める。AI を、自分の学習の触媒として使う。
逆に、AI 任せにすると、隠れたコストが溜まります。判断力が落ちる、勘が鈍る、キャッチアップが遅れる。表面上は、AI で生産性が上がっているように見えるが、長期的には、自分の成長が止まる。
そして、自分で学ぼうとすること自体が、楽しい。新しいことを理解する、できなかったことができるようになる、視野が広がる── これは、AI 時代になっても、変わらない楽しさです。
何かを諦めないと、成り立たない
AI で大量にコードが書けるようになったからこそ、選択が大事になります。
ソフトウェアには、トレードオフがあります。保守性と可読性、機能と品質、速度と正確性、シンプルさと柔軟性── 何かを取れば、何かを諦める必要がある。これは、AI で書くコストが下がっても、変わりません。
AI は、トレードオフを判断しません。「両方できます」と、両方やろうとして、結局どっちつかずになる。あるいは、片方を勝手に選んで進む。「何を取り、何を諦めるか」── これは、人間が選ぶ領域です。
これは、シニアエンジニアが、ずっとやってきたことです。「ここは、保守性を取る。可読性は、少し犠牲にする」「ここは、シンプルさを取る。柔軟性は、後回し」── 経験から、判断する。AI で速くなるのは、実装の速度。判断の本質は、同じです。
そして、これも、新人にはできません。経験を積んだ人間にしかできない判断。人間が成長する場所の、典型的な例です。
AI は新人のまま、は今はね
ここまで、「AI は地頭の良い新人」と書いてきました。でも、ここで、正直に言っておきたいことがあります。
この捉え方が、これからも続く保証は、ありません。
モデルは、進化しています。今は、自信過剰で、AI slop を生み、深層の判断はできない。でも、数年後、状況は変わるかもしれない。AI が、深層の判断もできるようになるかもしれない。「新人」を卒業するかもしれない。
過剰な期待に振れず、過剰な不信にも振れない、というのが、基本姿勢です。「AI が人間を超える」とも、「AI は所詮、新人レベル」とも、断言しない。状況を見て、自分のスタンスを更新する。
今は、「地頭の良い新人」という捉え方が、自分にはしっくりきます。でも、これが、ずっと続くわけではない。「今は、ね」と、心の中で付け加えておく。そして、変化が見えたら、捉え方を変える。それも、エンジニアの仕事です。
いい感じになってきた、でも時々良くない
AI と協業する開発が、最近、いい感じになってきました。CLAUDE.md を整え、お手本コードを揃え、ハーネスを育て、ワークフローを工夫する。それなりに、回るようになってきた。
でも、時々、良くないこともあります。AI が、急に変なことをする。文脈を読み間違える。AI slop を生む。なぜそうなったか、理由が分からないことも、ある。
これも、新人と一緒に働くのと、似ています。だいたい、いい感じに進む。でも、時々、首をかしげる行動をする。それを、責める必要はない。確認して、フィードバックして、また進む。
「いい感じ」と「時々、良くない」が、共存する状態。これが、AI 時代の開発の、現実だと思います。期待しすぎず、警戒しすぎず、付き合う。長く付き合うために必要な、距離感です。
まとめ
AI 時代に、人間が成長する場所を、考えてみました。
- 選ぶ・問う・気付く・判断する── 機械的でない領域は、人間の場所
- リファクタの気付き、障害対応の経験、自動化の判断── 具体的な成長機会
- AI はエラーを握りつぶそうとする。連携先のエラーコードを、どう扱うかは、人間の調査と判断
- 意味のあるアラートだけを残し、何を確認してどう対応するかまで通知に含める。来たら対応しなきゃ、の温度感を作る
- ドメイン感覚、設計判断は職人芸。長期の経験で内在化される
- 暗黙知は、人間の中にしかない。言語化できない感覚は、AI には届かない
- スキルを育てるサイクルを回す。完璧はない、追随し続ける
- AI が賢くなるほど、深層を問える人間の価値が、際立つ
- 自分で学ぼうとする人が成長するのは、昔から
- 何かを諦める判断は、AI ではできない、人間の役割
- AI は新人のまま、は今はね。変化が見えたら、スタンスを更新する
- 「いい感じ」と「時々良くない」が共存する。長く付き合う距離感を保つ
人間が成長する場所は、AI 時代になっても、たくさん残っています。むしろ、AI が機械的な部分を担うほど、人間の領域(選ぶ・問う・判断する)の価値が、際立つ。経験で磨かれる職人芸、内在化される暗黙知、長く関わって深まるドメイン感覚── これらは、AI には代替できません。
繰り返し書いてきた「いつものエンジニアリングの延長」── ここに戻ります。AI 時代になっても、エンジニアの本質は、変わらない。考えること、選ぶこと、問うこと、判断すること、学び続けること。AI で道具が変わっても、本質は同じ。AI が機械的な部分を担うぶん、人間の本質的な仕事に集中できる。それは、悪い変化では、ない気がします。
仕事は、人生で一番長く時間ので、楽しまなきゃ、損だと思います。AI と一緒に、いい感じに、時々良くないながらも、進んでいく。新しいツールを試し、ハーネスを育て、自分のスタイルを作る。これは、エンジニアという仕事の、楽しさそのものです。
AI が出てきて、いろいろ変わりました。でも、変わらないものも、たくさんある。変わったところと、変わらないところを、見極めながら、付き合っていく。これからも、いつものエンジニアリングの延長です。
