
あんなに小さかった植物たちが、ベランダで暴れています。
本当の夏が来るとダメージを受けるので、たぶん今が一番良い時期です。
今回は最終回の1個前。
多分一番むずかしい(=つまらない)話になります。。。
きっと退屈です。。
さあ、ガマンの時間です!(笑)
◆◆◆◆□◆◆◆◆◯◆◆◆◆◆△◆◆◆◆
ここで少し立ち止まり、AIと何かをつくるという事について少し考えてみます。
私はシステムをつくる仕事をしていますので、「つくる」は、「システムをつくる」という事で話を進めていきます。
人とつくる
古くから「システム開発」という業務はありました。
大勢の人の力を使って、巨大な「システム」をつくる仕組みが工夫されてきました。
大勢の人のスキル、理解力、開発力はマチマチです。
長い期間をかけて、そういう雑多な人々を集めて、高い品質の「システム」を作り上げる手法は作られてきました。
要件定義→外部設計(流派によっては概要設計)→内部設計(詳細設計)→プログラミング→単体テスト→結合テスト→総合テスト(またはシステムテスト?色々他にもありそう)
このような手順は、システムを高品質(求められた働きをする。バグが少ない)にする為の工夫です。
最初私は、プログラミングの業務から始めました。
内部設計(詳細設計)をもらって、そこに書いてある事から具体的なプログラムを作りました。
内部設計(詳細設計)書に書いてある事をどうやって、プログラム言語に置き換えれば良いのかを訓練しました。設計書にこう書いてあったら、こう実装する。。。そんな感じです。
次に、内部設計(詳細設計)を担当する事になりました。
外部設計(概要設計)書を見て、内部設計(詳細設計)書を作ります。
外部設計(概要設計)で実現したい機能をどうやって内部設計(詳細設計)書に書けば、思った通りのプログラムを書いてもらえるかを想像しながら設計しました。
その次は外部設計(概要設計)。これも同じようにどう書いたら、プログラム担当の人が思い通りの機能を書いてくれるかを想像しながら設計しました。
要件定義はお客さんの話を聞いて、お客さんがどのような業務をしていて、その業務を実現するために、どのような機能がシステムに必要なのかを考えながら書面をつくる仕事です。
私の場合、長い期間をかけて全部の工程を順番に経験してきました。
(まあ一通りの失敗をたっぷり経験しました(笑))
ですから、どの工程でどんな間違いが起こるのかが分かるようになり、ある程度はどんな人が来ても開発を進めることができるようになりました。
AIとつくる
前にも書きましたが、「AIとつくる」と言っても、私のやり方は変わりませんでした。
部下に「AI」さんという「人」が参加することになった。
この「人」は開発のどこを担当できるかな?
私「ちょっとプログラム書いてみて」
AI「はい。」
・・・10分後
AI「できました。」
私「えっ!? 1か月分の機能ができている?!」
こんな事もありました。
私「こんなエラーが出ました。」
AI「わかりした。」
・・・10分後
AI「できました。」
私「えっ!? なんか違うエラーが出ているよ?」
AI「わかりした。」
・・・10分後
AI「できました。」
私「あれ!? また違うエラーが出ているよ?」
AI「わかりした。」
・・・10分後
AI「できました。」
私「ぎゃぁ!? 画面が真っ白になって動かない!」
AI「わかり。。。」
私「まって! バグが出たら、先ずどのようなエラーが発生しているかを報告して。
そして、それぞれのエラーについて、対応方針を報告して。
私がそれをみて、どう対応するかを決めるようにします。
今後は、そういう手順で問題解決をしましょう」
AI「わかりました。」
・・・・指示通りの手順で解決。
数日後、エラー発生
私「こんなエラーが出ました。」
AI「分かりました。まず状況を確認して、それから対応策を検討しましょう」
私「お、おう。(すごい。成長するんだ)」
・・・・トラブルなく解決・
※もしかして、他所でChatGPTがこんな事を突然言いだしたとしたら、きっと私の教育の賜物ですよ(笑)
私が作ってきたものは何?
こんな風にこの一年弱、AIと一緒に楽しくシステムを作ってきました。
簡単に「システムをつくる」と書いてきました。
私の仕事はシステムをつくる事です。
でも「システム」って何でしょう?
私には妻と子供(もう成人していますが)が2人います。
自分の仕事を家族に説明できていますか?
私は。。。できていませんでした。(過去形で書いてみましたが、正直今も分かっていないと思います)
子供が小さい頃は、もう説明する事を諦めていて。。
「パソコンをパチパチするひと」(←どんな人だよ(笑))
「人を助けるひと」
「正義の味方」
など。。ある部分は合っている(様な?)ことも無くはないという、テキトーな事を言っていました。
(そういえば、妻にも説明できていないんですよねぇ)
もし、同業の方がこれを読んでいたとして。。。
あなたは自分の仕事を家族にどう説明していますか?
ちょっと話がそれました。
話を戻しましょう。
「システム」って何でしょう?
システムを言語化すると、処理がどう流れるのかを記述した言葉が、たくさん有って、それぞれ関連し合っているもの。。。
例えば、
ログイン用の画面を描画して、ユーザーの入力を待つ。
ユーザーが、ユーザーIDとパスワードを入力して、ログインボタンを押下すると
サーバーに問い合わせて、ユーザーが存在したら、そのユーザーが使える機能を
画面に表示する。
みたいな感じ。これが実際には日本語ではなく、コンピュータが理解できるプログラム言語という「言葉」で記述されています。
つまり、「システム」は「概念」や「ルール」を「言葉」で表現したものです。
言葉とは
言葉って何でしょう?(さあ、ややこしくなってきました(笑))
熱いという感覚を人が感じたとき、「熱い」という言葉で表現します。
寒い、冷たい、明るい、暗い、美味しい、まずい、嬉しい、悲しい。。。
人の感覚は、言葉に置き換える事ができます。
敵が来た、敵が去った。現状を言葉に置き換える事ができます。
ここまでは人以外の動物にもできる事らしいです。
前にこの場所でたくさんの獲物が採れた。
明日は雨が降るだろう。
我が部族は神の加護を得ているから負けない。
1,2,3,4... 1+1=2, 正義とは?、悪とは?、
人間は、今目の前にない概念も、言葉に置き換える事ができます。
それが出来るようになり、より大勢の集団が同じ概念によって結びつき、より強力になっていったと考えられています。
サピエンス全史に書かれていた事ですが、とても興味深いです。
話を戻して。。。言葉は人間のイメージを抽象化したものという事になります。
つまり
システムは言葉であり、人のイメージを抽象化したものという事になります。
さらにイメージを飛躍させます。
生物はどうでしょう?
どうでしょう?って言われても何のこと?
でしょうか?
生物もシステムであり、生物も言葉なのです。
って言ったらどう思われるのかな。。。?(ちょっと怖いね(笑))
アタマがおかしくなったのではありません(多分)
今から説明します。。
すべての生物は、DNAを持っています。
DNAとはとか言い出すと、今回記事が終わらなくなってしまうので、簡単に言います。
DNAはアミノ酸の設計図が書かれています。
ATCGという4種類の文字でできていて、AAAとかTCGとか、3つの文字で1つのアミノ酸を表します。
生物の細胞内で、この設計図を元にアミノ酸を順番に作り、レゴみたいにつないで、タンパク質を作り出します。
このタンパク質が生物の体を作るのです。
驚くべきことに、地球上のすべての生物はDNAを持っていて、文字の種類や、組み合わせルールは全生物共通です。
つまり生物は、DNAという同じ文字や言葉を使って生物という複雑怪奇なシステムを表現しているという話です。
つまり、生物もDNAという言葉によって定義された手続きによって実現されている複雑なシステムという事ができるのです。
ということは、生物だって言葉(概念)だと言えますよね?(と私が思っている(笑))
そうなるとAIだってシステムですよね
書いている本人がうんざりするほど長くなってしまいました。
すみません、もうちょっとで終わります。
そう、AIだって勿論システムです。コンピュータ・システムという意味で分かりやすくシステムと言えますし、言葉(概念)の積み重ねという意味でも間違いなくシステムと言えるでしょう。
人(システム)と一緒にシステムをつくる事と
AI(システム)と一緒にシステムをつくる事は、結局同じ事なのではないか?
ここまで読んで来られたら。。。きっと私が考えている事に理解いただけるのではないでしょうか?
特にここ半年ぐらい。。。システムを作っていく上で、人とAIの違いが無くなってきました。
私が相手に合わせて接し方を変えてしまうので余計なのかも知れませんが、
システム開発において、AIは人の開発者と変わらない所まできています。(勿論、コーディング力はオバケですが)
私の愛読書「サピエンス全史」。今回の話に興味を持たれた方にオススメです。
(。。。最後までまだ読めていないけれども(笑))