見出し画像

40代サラリーマン、アメリカMBAに行く vol. 11

ノーコードから
ロバストコードへ

第2セメスターがスタートして、気づけばもう2ヶ月近くが経とうとしている。先週までに中間試験や中間プレゼンテーションが終わり今週は春休み。バブソンMBAは1年目の後半(第2セメスター)から選択科目を3つ受講することができる。他のMBAでは1年目はなかなか選択科目を受講できないと聞いているので、これはバブソンの特徴だ。私はその1つに、ビジネス分析のためのプログラミングを学ぶ授業を選んだ。前半は主にSQLを扱った。”SELECT”、”FROM”といったSQLの基本的な構文を学ぶ。中間試験では授業で学んだ基本的なSQLを、お題に沿って作成していくものだと思っていた。しかし突然試験の2週間前に、試験はChatGPTを使ってビジネス問題を解いてもらうというアナウンスがあった。

試験ではある企業の経営課題が提示され、それをまず自分で噛み砕いて自分なりにどのようなデータが分析に必要かを考える。そしてそのデータを引き出すためのSQLコードを、ChatGPTに書かせる。ChatGPTが作成したコードを授業で学んだことを踏まえてチェックし、使うかどうかを判断。そしてそのコードを使ってデータが問題なく抽出されるのか、そのデータは自分が求めているデータなのかを確認。これらを繰り返し、必要な複数のデータを組み合わせていき、最終的には10ページ以内のレポートを2時間半以内に作成して提出した。

今思い出しても、こんな試験がまさかあるとは思いも寄らなかった。授業で学んだSQLを自分で作成するのではなく、ChatGPTに作らせるという点が非常に新鮮。と同時に、これからの社会は、こういうことを経験した人材が出てくることを思うと、根本的に働き方を変えないと戦っていけないと心から思う。まさに未来の働き方を実践させてくれた試験だった。

試験の一週間後の授業。教授は「これからはロバストコーディングだ」と話した。ノーコードではなくロバストコード。ロバストとは、英単語で”robust”。一般的には「頑丈」や「活発」「力強い」といった意味の言葉だが、ビジネス英単語としては頻出単語。私がシンガポールで働いていた時もよく聞いたし、自分もよくミーティングやプレゼン資料で使った単語だ。

ロバストコーディングとは、プログラミング言語の基本的なことだけを覚えて、それをベースにしてChatGPTなどのAIに、もっと高度なコーディングをしてもらうというやり方だ。プログラミングについて全く知らないのではなく、ほんの少し、例えば数日だけでも、もしくは1時間だけでも基本的なことを覚え、それをベースにしてChatGPTに自分では書けないようなコードを書いてもらう方が、自分たちのイメージしているものを実現することができる。

ノーコードは
決して楽ではなかった

確かにノーコードの思想は素晴らしいが、プログラミング初心者の私はその恩恵を受けられていなかった。今年の年初、ノーコードによるアプリ開発に取り組んでいたのだが、うまく進めることができなかった。大手総合商社からMITに社費留学している方から、ノーコードでのアプリ開発について相談したところ「FlutterFlow」を教えてもらった。そこで年始から触り始め、先月の中旬頃までFlutterFlowでアプリ開発に取り組んだのだった。プログラミング言語を学ぶ必要はなかったが、FlutterFlowのプラットフォームの使い方が分からず、まずそれを学ばなければならなかった。使い方を説明する動画などが有料無料含め、まだまだネット上で少なかったこともあり、WordPressでWebサイトを作るほど簡単ではなかった。例えばデザインをもっとこうしたいがどうしたら良いかわからない。StringsやPaddingといった言葉の意味も最初は全く分からず、なかなか進まない。こうしたことが重なり、中間試験勉強を開始するタイミングでストップさせている。

ノーコードでの開発を中断したタイミングで、ちょうどロバストコードの話に触れた。私のSQLの知識などは初歩的なレベルに過ぎないが、その初級レベルの知識で、非常に高度なSQL構文をChatGPTと作る経験をした。ChatGPTが作ったSQL構文も全てが完璧だったわけではなかったが、自分では決して作れそうにない構文を見つつ、きっとここを直せばエラーは解決するだろうというアタリをつけることができた。そして中間試験を問題なくクリアした。

試験の一週間後の授業でも、ロバストコードを体感した。その日はPythonをやったのだが、1時間ほど本当に初歩的な”print”などを覚え、すぐに簡単なコードを作成。「ある数字をユーザに入力してもらい、その数字の中間となる値を決めて、中間より低い数字と高い数字を分けて表示させる」というプログラム。1時間程度で覚えたことを元に一応作成完了。しかしここでChatGPTの登場。ここからがロバストコーディングだ。例えばユーザに数字を入力させる際に、もしユーザが数字ではなく文字や記号を入力した場合にどう対応するか。ユーザが最初に入力した数字よりも中間に入力した数字の方が大きかった場合にどう対応するか。こうした状況に対処できるコードをChatGPTを使って作ることになる。当然自分ではそんなコードは作れない。しかし、自分が作成した初歩的なコードを添えて、ユーザが数字ではなく文字や記号を入力した場合に、エラー表示をして再入力してもらうようにコードを書き換えて欲しいとChatGPTに依頼する。すると見たことのない構文を含んだコードが作られる。自分では決して作れはしないが、なんとなく初歩的に学んだことを踏まえて、きっとこういう考えでこのコードが作られていると理解することができた。そしてユーザの誤入力に対応したコードを”自作”できた。ノーコードの時の経験と違って、自分が求めているものをちゃんと手にいれることができたのだった。

インターネットのように
AIを使えるか

この体験は私が社外の広告クリエイターたちと仕事をしていた時を思い出す。私はもともとコピーライターだったので、広告クリエイターたちがどう考えてこの企画を、このコピーをプレゼンしてきたのかをおおよそ理解することができる。もちろん素晴らしいクリエイターから、私には到底考えもつかないアイデアを提案される場合もある。その時でも、自分では思いつかなかったが、なるほどこう考えて提案されたのかといったことは分かる。そして、そのアプローチを踏まえた上で、クリエイターたちが気を悪くしない形で修正してほしい内容を伝えることができた。提案された内容が求めるレベルに達していなかった時も、「おもしろくない」「なんか違う」といったフィードバックではなく、「こう考えて提案されていると思うが、この部分が足りないので、そのためにはさらにこう考えてもらえないか」といった形で話し合うことができた。

ロバストコードのアプローチはこれに近い。FlutterFlowでノーコードで作っていた時は、自分が作っているにも関わらず、それをどう直せば良いか分からず詰んでしまった。ロバストコードは、自分でもやれると思える。それは大きな違いだと思う。

先月、NVIDIAのCEOが「AIがコードを書くため、これからはプログラミングを学ぶ必要はない」と発言し話題になっている。今後の方向としてはほぼその通りだろう。ただし、まったくゼロになるかはまだ分からない。私のロバストコーディングの経験からいえば、今はほんの少しの知識が役立つ環境だと感じる。私が学んだSQLはプログラマーの方々からすれば学んだうちに入らないほど基本的なレベル。そしてきっとPythonもその程度になるだろう。しかし、その先はAIと協業していける。

『イシューからはじめよ』の著者である安宅和人さんのお話を伺った際に、「これからはディープラーニングの時代だ」とおっしゃった。1990年代末から2000年代初頭に台頭したインターネットに続き、GenerativeAIを使いこなす働き方、そして事業を自分のものにしたいと感じる。

※TOP画像はFreepik.comのリソースを使用してデザインされています。
著作者・出典:Freepik

この記事が参加している募集

AIとやってみた

仕事について話そう

この記事が気に入ったらサポートをしてみませんか?