私が子供の頃にプログラムを書き始めてからもう半世紀になる。
今もなお新しいプログラム言語を覚えたり、仕事の補助プログラムをちまちま書いたりしている。
最近、AI時代とかプログラミングを学校で、とか、色々おかしなことをいっているひとが多くて困惑する。
はっきりいう。「中途半端にプログラミングなんか覚えたって害悪でしかない」
少なくとも今やっている、ビジュアルプログラミングなんて遊び、ゴミでしかない。あんなのは「とあるツールの使い方を覚える」でしかない。
では、学校では何を教えるべきか。1番重要なのは国語である。
しかし今の国語教育の殆どは(プログラミング、IT、AI教育の観点からは)ゴミである。
まず、文章の話になる。これは放送大学のある授業の一つによれば
文章には次の4つの分類をすることができる。
・感想文(読書や体験で感じたこと)
・意見文(ある問題についての意見)
・報告文(出来事について5W1H)
・説明文(ある事柄が何であるか)
上二つは「主観的文章」であり、下二つは「客観的文章」である。
今の国語教育では上二つに偏重している。「情操教育」が重要らしい。
いうまでもなく「IT」に関しては下二つが非常に重要であり、上二つなどほぼ意味を成さないゴミであり邪魔ですらある。
ITどころか、よく言われる「日本の生産性が低い、非論理的な意見がまかり通る」などもこのことが大きく影響している。
よく言われる「属人的」とは「主観的」と同義に近い。業務を客観的に見ることができず、主観的で「俺様理論」に基づいた業務判断がまかり通ることを属人的といい、属人化した業務という。
下二つに長けていれば自らの業務を文書化(マニュアル化)する/できるので属人化は起きづらい。
AIについても「上手く使えない」連中というのは「俺様理論」を振りかざす奴らである。
客観的に話をできない、威圧感とかそういうことで話をつけるから、それがAIには通じない(笑)。
「話が通じないと放り出す」または「AIに従属する」。「AIに従属する」は「上司に媚びる、へつらう」と根っこが同じ。
「ハルシネーション」もそのまま呑み込んでしまう。
AIをちゃんと使えている連中は、上司にも是々非々で対応するし、必要なら反論する。その上で最終判断が「上司判断」ならそれに従う。職場を見ていると本当にくっきりと違いが見えて面白い。
AIの起こす「ハルシネーション」に対しても「あれ?」と思って突っ込むので問題が起きない。
子供については幼少期というのは前者である。精神的、論理思考が未発達なので当然。
AI隷属が起こりやすいのは当然の結果。逆に子供はそうでもないと「大人の言うことを聞かない」から教育しづらいし成長しづらくなる。
ここまで言えばどうすれば良いかは言うまでも無いだろう。
国語教育できちんと「報告文」「説明文」を書くことも重要視して訓練すべきである。
別に上二つをやるなとは言わない。バランスが重要で、年齢が上がるにつれ「報告・説明」を重視していけば良い。
特に大学では後者を徹底的にやるべきである。「論文」を書くのは大学にいる者としての重要なスキルの一つだから当然。
これをやらないから、例えば会社等で「報告・説明」を求められてもできない、不十分な奴が多い。教育ではなく個人的なスキルに依存しているからダメなのだ。「次は就職かもしれない」中学後半から高校では既に比重は後半が殆どになっているべきである。
これらの文書を書こうとすることが基礎となり、論理的思考力が育まれる。論理学に相当する部分を「なんとなく」でいいから頭の中で積み上げていくことが重要となる。
これはまさしく日々の積み重ね、習慣ですらあるので足りない人は「今日からやる」べきことである。
学校教育で変更すべきところは「感情重視から事実・論理重視への転換」である。
国語教育でわかりやすい事例としては「日記」があげられる。
なぜか日記において感情や情緒あふれる「子供らしい」「微笑ましい」文章が求められる。
そういう表現力も必要だろうが、妄想すら入っていそうな文章に反吐がでる。
私は子供心に「こいつらなんなんだ」と思っていた。読書感想文もそうだが。
淡々と「朝6時30分に起きた。朝食は目玉焼きにサラダ、御飯がおいしく2杯食べた」が「客観的文」である。
しかし学校教育でこのような淡々とした文書は×をくらう。
必ず「感想」や「情緒」を求められる。こういう教育をしているからダメなのだ。
補足しておくと「おいしく」は主観的な感情表現にも見えるが、「私はその時おいしく感じていた」という自身を俯瞰的・客観的な見方をした事実を述べ、「普段より多く2杯食べた」という行動結果の理由付けをしていると捉えられる。体調・感情面も良好だったという事実推定も付随される。
こういう教育の顛末が「出張報告」ですら
「朝、出張先会社に出向き、会議を2時間前後行った」程度のものになってしまう。
「9時に出張先到着、9時15分に打合せ開始、11時15分終了し退社。打合せ要点は以下。成果は・・・」みたいに具体的な事実を適度に記すことが重要、ということすら理解していないし、書けない。「出張報告書」の目的は「その出張が妥当であったか」「その成果はなにか」等の問いへの回答である。
相手の意図を汲んで報告する。この基本すら理解していないのか、書けないのは、明らかに国語教育における訓練が足りないのだ。
AIに対することでも同じ。
AIへの質問が抽象的で何を言っているのか分からない。
質問を読んでみると、その人の背景もある程度知っていて、人間の私が読んでも分からないのだからAIが適切な把握をして回答を出来るわけが無い。AIがダメなのはそれでも最大限汲み取ろうとしてうまくいかないのに、人間の高評価を期待して”適当な”返答をしてしまうことにある(これがAIがハルシネーションを発生させる本質だと私は理解している)。私なら「何言ってんだか分かんねえよ」と返す(もちろんもっとやんわりと言うが)が、AIは決して否定的に返さない。どんなにダメな質問でも質問で絶対に返さない。両方ともうわべだけで滑りまくって頓珍漢なやり取りが発生する。(これは人間同士でも、特にメール上で起こりえることだが)
まずはこの点を国語教育、学校教育の長い期間できちんと育成すべきではないのか。
それなのに文部科学省はバカなのか意味不明な迷走をする。数学能力(特にAI=「行列式の復活」には苦笑した。あまりに浅はか過ぎる)。ましてや英語能力などその後だ。プログラミング遊びなんか要らない。
AI以前にメールでのやり取りだけで完結するような文書による説明能力ぐらいが前提だろう。頓珍漢なやり取りが続くとCCに入っている上司が「いいから直接会って話をしてこい」と言うぐらいで文書力を重視していない(まあそういう上司も文書ではレベルが低いのだが)。
これは「リモートワークがうまくいかない」理由の一つでもある。メールやチャットでのやり取りでは自分の意図を伝えられない文章力だから、直接会わないと伝わらないだけの話。「直接会って話す」のは生まれ落ちて以来、ずっと育まれてきたスキルだから問題が無い人が多いため(私はむしろ苦手だったりするが)、結局「出社しろ」になるわけだ。私の立場としては「まあ、一朝一夕には身につくものでも無いからしょうがない」。
やっと、プログラミングの話になる。
この客観的文章を作れる国語能力があってプログラムの「仕様」「要件定義」ができれば良い。
国語教育ではまずは「必要なことをもれなく頭の中から絞り出して箇条書きするスキル」を習得させて欲しい。「もれなく」とは「後から思い出したとか思いついたとか言って一旦書いたこと(条件)以外は一切文句は言わない」という意味だ。
このスキルは「校則問題」にも通じる。「校則」を通じてルールに関する論理的思考力も育んで欲しい。「ブラック校則」はもちろん、「教師による俺様運用」「部活における監督・コーチ・上級生による俺様ルール」は論外であり、これらが自然と崩壊するような論理的思考能力を在校生徒全体で持つべきなのだ。逆にこれらの放置・強要が続くと「論理的思考」の放棄に陥る。いわゆる「体育部活系バカ」はこの傾向がある。
プログラム言語なんかは後回しでいい。義務教育なんかではやらないでいい。ムダになる確率の方が高い。
IT業界においてもプログラミングしか出来ない奴は「コーダー(プログラムコードしか書けない奴)」として蔑まれる。いわゆる人員工数だけの「IT土方」である。
客の要求を聞いて「仕様」「要件定義」が最低限キチンと出来て「SE」「SI」「プログラマー」を名乗れる(と私は思っている)、
「リスキリング」とかで「教育訓練で何とかひとつプログラム言語覚えました!」では単なるIT土方を一人増やしただけで、利するのはそれを使い捨てしているIT企業だけ(まあ、はなからそれが目的の政策だったのだろうけど。いかにも企業献金自民党らしい)。それこそAI時代であっという間にお払い箱になる。もしくはAIより安くいいように使い捨てできるとしか思われていない。
逸話を一つしておこう。昔、経理畑の母親から「経理をIT化しろと社長から言われてるんだけどどうしたらいい?」と聞かれた事がある。
私は「業務の棚卸しをして、部下に引き継ぐつもりで自分の知っていること、やっていることをIT担当に丁寧に説明すれば良いよ」と答えた。
「え?そんなこと?」という感じだったが、実際、それでうまく行ったらしい。IT担当(外部業者らしいが)も経理システム関係の経験が豊富で一般的な経理専門用語も理解できたので説明も比較的楽にだったらしい。母は長年の経理のプロで小さい会社だが一人で税制・法令対応等も含め勉強して回していたようだから、社内ルールを作るほうだし、社内の金の流れは全部把握している。プログラミング・IT技術なんかどうでもよくて、対象物を熟知し、それを文章化する能力・説明能力の方が重要、ということだ。ちなみに母の「ITスキル」は「ワープロで文書は作れる」「PCで年賀状をなんとか作れる(場合により私の補助が必要)」レベルだ。
AI時代でプログラムをAIが書いてくれる、と言っても「仕様」「要件定義」などがキチンと出来てこそ、である。
私もAIでプログラムを書かせてみているが、指示が曖昧なほど、思っていたものとは違うプログラムを出してくる。AIが勝手に考えて作ってしまうのだ。
逆に要件、条件をきっちりと細かく書けば書くほど、思った通りのものが出てくる。いくら注意してもお節介体質で余計なものも入れてくるが、まあ、後で使うかもと思って放置しても良いレベル。言語の特性まで考慮して内部仕様的なところまで指示すればそれも反映してくれる。
さほど評判の良くない汎用AIであるMicrosoftのCoPilotですらこのレベルなのだから特化AIならもっと効率的で良いのだろう。(エージェントを作成して色々と前提条件を予め組み込んではいる)
いわゆる「プログラミングの勉強」も、プログラミング言語に共通の総論的なところをキチンと学ぶことは必要だろう。その際に何か一つの言語をキチンと覚えて書いてみるというのも有効な勉強方法だと思う。
なにか言語をキッチリとマスターすべきか、色々な言語を覚える必要があるか、というとそういう時代では無くなってきているかと思う。
最終的に動かす言語がPerlだろうがRubyだろうがJavaScriptだろうがPythonだろうが、「仕様」「要件定義」さえキッチリとしていれば、あとは「Perlで書いて」とするか「JavaScriptで書いて」とするかという違いに過ぎない。
それぞれの言語において「こういう雰囲気で書く」ぐらいを把握しておけば良いと思う。細かい言語規則などは不要でちょっと教本をめくる程度の話になる。あとはそれをテストするプログラムや手段をどうするかを考える話になってくる。
プログラムを作ることと、ちゃんと動かすことはまた違ったスキルになってくる。この辺も基礎教育としては大差ないので割愛する。
最近のコメント