フレームワーク(FW)は、30年前に確立された「Don't repeat yourself (DRY)」(重複を避ける)という原則に基づき生まれたものである。
しかし、FWを使用したソースコードは、連動性や構造を読み解く際に脳を使う必要があり、読みづらいという側面がある。
AIコーディング時代において、AIも複雑なFW構造のコードを扱うことに苦労している。
AWSのAI主席設計者の見解として、AI時代には逆に「try to repeat yourself」の方が良いのではないかという考えが示された。
ということを聞きました。
お聞きになった内容は、AIの台頭によってソフトウェア開発の常識が変わりつつある現状を的確に捉えた、非常に興味深い指摘です。 プログラミング初心者にも分かるように、身近な例を使って解説します。
最近、プログラミングの世界で「今までの常識が、AIのせいで変わるかもしれない」という面白い話が出てきています。それを分かりやすく解説しますね。
プログラミングには、昔から「同じコードを何度も書くのはやめよう」という大切なルールがあります。これを専門用語で「DRY(ドライ)原則」と呼びます。
例えば、自己紹介で自分の名前を100回書く必要があるとき、100回手で書くのは大変ですよね。もし名前を間違えたら、100箇所も直さないといけません。
それよりは、名前を1回だけ書いておいて、「これを100回使ってね」と指示する方がずっと楽です。直すときも1箇所で済みます。これがプログラミングの基本的な考え方です。
この「同じことは書かない」という考え方をさらに進化させたのが、「フレームワーク」という便利な道具です。
フレームワークを例えるなら、「料理キット」のようなものです。
カレーを作る時、スパイスを一から集めて調合するのは大変ですよね。でも「カレーの料理キット」があれば、必要な材料が全部入っていて、誰でも簡単においしいカレーが作れます。
プログラミングも同じで、Webサイトを作るのに必要な「ログイン機能」や「お問い合わせフォーム」などを、一から自分で作るのは大変です。そこでフレームワークという「開発キット」を使うと、面倒な部分をすっ飛ばして、素早く開発ができるのです。
この「料理キット」、とても便利ですが、ちょっと困った点もあります。
それは、**「箱の中身が複雑で、何がどうなっているのか分かりにくい」**ことです。 「Aの袋の粉と、Bの箱のスパイスを混ぜて、Cの説明書を見て…」と、あちこち見ながら作業しないといけないので、料理に慣れていない人は迷子になってしまいます。
フレームワークも同じで、コードが色々なファイルに分かれて書かれているため、「この処理は、どのファイルのどの部分と繋がっているの?」と理解するのが難しく、頭が疲れてしまうのです。
最近、プログラムを自動で書いてくれる、すごく賢い「AIアシスタント」が登場しました。
しかし、この天才AIアシスタントにも弱点がありました。実は、人間と同じように**「複雑な料理キット(フレームワーク)のレシピを読み解くのが苦手」**だったのです。あちこちのファイルに飛んで繋がりを理解するのは、AIにとっても大変な作業でした。
そこで、一部の専門家からこんな意見が出てきました。 「AIアシスタントが分かりやすいように、レシピの書き方を変えてあげよう!」
これが、ご質問にあった**「Try to Repeat Yourself(あえて、繰り返しを試みる)」**という新しい考え方です。
料理で例えるなら、こうです。 「複雑な料理キットはやめて、1枚の紙に、最初から最後まで順番にレシピを書いてあげよう」
【AIにも分かるカレーのレシピ】
1. 玉ねぎを1個、みじん切りにします。
2. お肉200gを、塩コショウで炒めます。
3. さっき切った玉ねぎを加えて、アメ色になるまで炒めます。
... こんなふうに、少し長くなっても上から読めば全部わかるように書いてあげると、AIアシスタントは迷わずに「なるほど、この通りにやればいいんですね!」と理解してくれます。
つまり、「AIが迷わないように、少し丁寧に、繰り返し説明してあげる」のが、これからの時代は良いのではないか?というわけです。
これまで:人間が後から見て直しやすいように、なるべく**「短く賢く」**書くのが良いとされてきた。(料理キット方式)
これから:AIが手伝ってくれる時代なので、**「AIが理解しやすいように、少し長くても順番に分かりやすく」**書くのが良いかもしれない。(一枚のレシピ方式)
AIの登場によって、プログラミングの「良い書き方のルール」が大きく変わっていくかもしれない、という面白いお話でした。