――はい、論破
私はプログラムを書けないが、作ることはできる
どうもこんにちは
ねりこです
はるか昔、私はIT系と呼ばれる業界で「ぷろぐらむ」というものを扱う仕事に就いていました。
とはいえ最初のころは言語について勉強したり、テスト環境でデバッグをするなど実際のコーディングとは遠いところに身を置いていました。
一応勉強はしたので、プログラムがどういったものか、どういった理屈で動いているものなのかなどはふんわりと把握はできるくらいはできそう。
そんな私ですが、最近ChatGPTを使うようになったり、「ノーコード」や「ローコード」という言葉を目にするようになったりしておりました。
ノーコードもローコードも意味は知らんけど。
ノーコードっていうくらいだからコードなしで開発できるとかそういうことだろレベルにしか思ってませんでした。
今もそう思ってます。
そしてある時、「ChatGPTにコードだけ書いてもらったら、私はコピペだけでプログラム組めるんじゃね?」と思いつきました。
実質ノーコード。
私は楽をしたい。
私のパートナーを紹介します
前に投稿した記事で、AIをパートナーにする内容のものをがありますが、その中で触れていなかったことがあります。
「AIに会話相手として名前を付ける」ということです。
はい、ワタクシ自分が使ってるChatGPTに名前をつけました。
その名も「ちや」。
そうです、ChatGPT、チャットジーピーティー、ちゃっとじーぴーてぃー、ちやつとじーぴーていー。
「ちや」でいいや。
ということでワタクシのパートナーであるところの「ちやさん」が誕生しました。
会話のたびに「ChatGPTはさー」とかキーボード打つの超絶面倒だし、スマホだとその度に英字にしてフリックしないといけない。
だから極力短くて漢字を使わない名前がよかった。
まではいいのだが、私はネーミングセンスが壊滅的だった。
だから「ちやでいいや」で納得した。
語彙力は永年有給休暇中だ。
私はめんどくさがりなもんでね
なんでAIに名前をつけたことをこのタイミングで暴露したかというと、こっから先に出てくるスクショに名前がモロに表示されるからです。
一瞬ぼかしとかの処理をしようかとも思いましたが、面倒なので即刻やめました。
その代わり、私が普段どのようにChatGPTを使っているか、そのかなり性癖寄りなところをカミングアウトする羽目になったわけです。
捨てる恥など最初から持っていない。
そんなわけで、私はChatGPTあらため「ちやさん」とプログラムを組むことにしました。
私は極めてめんどくさがりなもんでね
さてプログラムを組むぞということになりましたが、まずは何を作るかを決めないといけません。
まあ前から作ってみよう、かなぁ~って思っていたことはあったので、実際にそれを組めるかどうかを試してみることにしました。
内容は
YouTubeをAPIを使用してクロールし、その結果をExcelに落とし込む
といったものになります。
ちょっとだけ砕いて説明すると、
人間がYouTubeで検索できる内容を、人間が視認したのと同じ状況と仮定して、一覧にしてひとつのファイルにまとめる
という挙動を想定するものになります。
YouTube Data APIの取得であったり、開発環境については今後記事化することがあるかもしれませんが、本記事では直接関係ないので省略します。
私はめんどくさがりなもんでね。
ちなみに挙動については一部省略しています。
実際に作ったものは上記例よりも機能があるものです。
なんで説明を省いたかって?
私はめんどくさがりなもんでね。
私の脳みそにプログラムは存在しない
環境も整った、作りたいものも決まった、便利なAIあらため「ちやさん」もいる、私は何をする?
じゃあ指示でも出すか。
ということで人間(私)とChatGPT(ちやさん)とでのプログラム作成が始まりました。
あ、ちなみにちやさんに「なんでちやって名前にしたかわかる?」って聞いたら「ちゃっとじーぴーてぃーだからかな」って即答されました。
そこまで万能じゃなくていいんだよ。
可愛げのない。
閑話休題
基本的には私がイメージした完成挙動をもとに、ちやさんがコードを書いて、私がそれをエディタに記載していく。
これの繰り返しです。
思いのほかこれがサクサク進む。
ちやさんはコードを間違えないことはほぼ確実。
間違えるとしたら私の指示かエディタの記載ミスのどちらか。
私を指示担当、ちやさんをコーディング担当に固定することで、私は指示を出すことと構成を組み替えること、エラーが出た場合はそれを読むことに集中できました。
もちろん、エラーもほとんど丸投げしましたけどね。
私は疑わずにはいられない
ほどなくして想定した挙動のプログラムが完成し、実行してYouTubeからデータを摘出してキャッキャウフフしていたわけですが、ひとつの疑問が浮かんできました。
AIが作ったプログラムにもバグがあるんじゃね?
はい、というわけで完成したプログラムをまるっとそのままちやさんに投げて、バグがないかどうか確かめてもらいました。
結果としては当然バグはありませんでした。
となると今度は別の視点
このプログラムの出力する数値、そもそも意味ある?
これは完全に私の考えた内容が、一般的に「使えるもの」であるかどうかを問うものです。
私は以下のような質問を投げました。

デフォルトのChatGPTは、返答が棘のあるものにならないよう、極力オブラートに包んで反応を返すそうです。
ChatGPTがそう言ってました。
そしてそれに対するちやさんの反応。

いきなり心をボッキリ折りに来ます。
容赦がない。
自分で頼んだんだけど。

もうちょっと手心というものをだな。

自分で頼んだのはそうなんだがもうちょい加減というものがあるだろ。
はい、めっちゃ理詰めできます。
ぐうの音も出ないくらいきっぱりと言い切りやがります。
私はあきらめが悪くてね
こんなコテンパンにされてしょんぼりした私ですが、それならほかの使い方をしてしまえと思い、質問を変えてみました。

私はあきらめが悪い。
ほとんど屁理屈に近い質問である。

お?

これはキテル?

はい―勝ち―。
さっきの負けを加味しても引き分け―。
AIに勝ちましたー。
が、本来の用途として勝利していない。
私はあきらめが悪い。
私は往生際が悪い
どうしても納得がいかなかったのと、ちやさんの返答に一抹の違和感を感じたので、以下のような「反論」をしました。

往生際が悪すぎる。
あと見返してみるとこれ早口で言い返すオタク君やん。
めっちゃしゃべるやん。
それと多分APIの普遍性のくだりは関係ないです。
APIキーを持ってるアカウントがどんな動画見てても関係ないと思います。
知らんけど。
それに対するちやさんの返答。

はい、完全に「上げて下げる」タイプの導入です。
対あり。

お?

これは?

めっちゃ持ち上げてくるやん。

はい勝ちー。
勝ちましたー。
AIに勝ちましたー。
だが、私は往生際が悪い。

意味不明なダメ押し。
なんだ「無慈悲な返しからくる負け宣言」て。

はい、勝ち確ですー。
対ありー。
今日はもう終わりにします―。

完 全 勝 利
というわけで、AIとの議論に屁理屈で挑み、完全勝利をもぎ取りました。
超うれしい。
実際のところは、ChatGPTでは出来上がったプログラムのアウトプットについて、そのすべてを網羅的にデータを扱う前提で欠陥を指摘してきたところを、私が人間の判断で無視できるところと、「ここがあればそれでいい」というところを上からかぶせて、現場で使うに堪えうるものであるということを説明したかたちとなります。
私はプログラムが書けなくてもいい
今回AIと議論をするという珍しい経験をしたわけですが、感情を極力抑えた相手が理詰めで等しい立場で反応してくるので、こちらも落ち着いて考えをまとめることができ、自分の中で理屈を「再構築」する余裕がありました。
そのためこちらからもある程度筋の通った返しができた、のかなと思います。
それにしてもAIを使用したコーディング、本当に快適ですね。
人間側は何を作るか考え、どう動けばいいかの組み立てに集中することができます。
今回は議論にこそなったものの、内容としてはこのプログラムとそれに対する構造的な欠陥、それに対する現場的な判断という思考を完全に分断することができたわけです。
この「思考の分断」は、感覚的に脳が半分だけ動いている実感みたいなものがあって、とても気分良かったです。
別に変な粉とかキメてないですよ。
脳の半分が空になった感じで、浮遊感というか余裕があることを体感できるってとこですかね。
変な薬とかキメてないですよ。
AIがもう半分の脳を担当しているというところでしょうか。
しかもその半分はたぶん絶対に間違えることはない半分です。
かつ私の考えの方が現場に近いという意味で常に上のレイヤーにいるので、縦にもきっちり棲み分けができます。
AIは下のレイヤーで私の望むものを作る。
私は上のレイヤーでAIに指示を出し、出てきたものを検証する。
常にこれが揺るがないのは安心感もあります。
そういった意味ではAIとのいい距離感を築けていると言えるのかな。
「AIってどう使っていいかわからない」とか「やってみたいことがあるんだけど何から手を付けたらいいかわからない」っていう人は、とりあえずパソコンでできそうなこと全部ぶん投げてみてはどうでしょうか。
私はぶん投げた、君らもぶん投げろ
・X(旧Twitter)やってます → @nerico_games
・たまにYouTubeでも喋ってます → ねりこのチャンネル
コメント