はじめに:人間というボトルネック
最近、AIを活用して学習や開発を進めている中で、ふと強烈な違和感を覚えました。
「これ、ボトルネックは完全に『人間(自分)』だな」
AIは一瞬でコードを生成し、答えを出します。シリコンの演算速度はナノ秒単位です。
一方で、私たち人間の脳はバイオロジー(生物)です。新しい概念を理解し、脳の神経回路(シナプス)を繋ぐには、物理的な時間と睡眠が必要です。
AIの爆速な出力に対して、人間の「理解」や「習得」がどうしても追いつかない。この**「速度の非対称性」**に、もどかしさを感じている人は多いのではないでしょうか。
この記事では、そんな「人間がボトルネックになる時代」に、あえて**「何を学習すべきか」「どう向き合うべきか」**について、AIとの対話で得られた気づきをまとめます。
1. 「脳の回線工事」を待つのはセンスが悪い?
昔ながらの学習観では、「時間をかけて苦労して脳に回路を作ること」が美徳でした。
しかし、これだけAIが優秀な時代に、自分の脳が理解するまで何日も待つのは、ある種**「センスが悪い」**ことなのかもしれません。
- 旧来の価値観: 自分でコードを書ける「プレイヤー」を目指す。
- これからの感覚: 外部リソース(AI)を呼び出して使う「監督」を目指す。
プログラミングで言うなら、自分自身の能力さえも import してしまえばいい。
「理解」は浅くても、「判断」と「指示」ができればいい。
そう割り切ったとき、学習の目的は**「書き方を覚えること(How)」から「何が良いコードかを見極めること(What/Why)」**へとシフトします。
2. それでも「写経」をする意味
では、コードを一文字ずつ書き写す「写経」はもうオワコンなのでしょうか?
私は最近、pandasのカスタムバリデーションと、ライブラリであるPanderaを使ったバリデーションのコードを対比して写経していました。
そこで気づいたのは、**「写経は暗記のためではなく、味見のためにやるものだ」**という事実です。
苦痛と快感のテイスティング
-
Pandasでゴリゴリ書く(命令的記述):
「if文のネストが深い…」「例外処理が面倒くさい…」
→ 指先を通して**「不快(面倒くささ)」**を感じる。 -
Panderaで書く(宣言的記述):
「スキーマを定義するだけでいい」「スッキリして読みやすい!」
→ 指先を通して**「快(心地よさ)」**を感じる。
この**「不快」と「快」の落差**を体に刻み込むこと。これこそが、AI時代の写経の真の目的です。
3. 「不快」の正体は技術的負債のアラート
エンジニアが感じる「気持ち悪い」「面倒くさい」という感情は、単なるワガママではありません。それは脳が出している高度なアラートです。
- 「不快」 = 可読性が低い、保守性が低い、将来バグの温床になる(技術的負債)。
- 「快」 = 秩序がある、認知負荷が低い、堅牢である。
ベテランエンジニアは、コードを見た瞬間に理屈抜きで「うっ」となったり「美しい」と感じたりします。
これからの学習は、文法を暗記することではなく、この**「コードの匂い(Code Smell)」を感じ取るセンサー(審美眼)**を最速でインストールすることに集約されるのではないでしょうか。
4. 結論:リファクタリング駆動学習のススメ
「自分で書けなくてもいい。でも、気持ち悪いコードは見抜けるようになれ」
これがこれからの生存戦略です。
学習のプロセスはこう変わります。
- AIにとりあえず書かせる
- 読んでみて「なんかモヤッとする(不快)」箇所を探す
- 「もっとスッキリ書けない?(リファクタリング)」とAIに指示する
- コードが「気持ちいい(ストンと腑に落ちる)」状態になったら完了
このサイクルを回すためだけに、私たちは基礎を学び、写経をして「味見」をするのです。
AIの速度に人間の脳が追いつく必要はありません。
ただ、AIが出してきたアウトプットに対して、**「それは美しくない(採用しない)」と言える「監督としての目」**だけは、人間が泥臭く鍛えていく必要があるのだと思います。
この考え方は、日々のAIとの壁打ちの中で「コードの細部を理解するコスト」について議論する中で生まれました。みなさんは、AI時代のプログラミング学習、どう感じていますか?