ある日、リモートワーク中
ワイ「さあ、今日もお仕事がんばって行くでぇ」
AIちゃんに指示
ワイ「ヘイ、AIエディタちゃん!」
ワイ「このタスク進めといて!」
AI「かしこまりました」
AI「・・・タスクの内容を確認中・・・」
AI「一点確認ですが、〇〇の部分はどうしますか?」
AI「Aプラン・Bプラン・Cプランを書きました。選択してください」
ワイ「D!」
ワイ「よう分からんから、最善な方法で頼む!」
内部AI一号「(...ユーザーが思考を放棄していますね...)」
内部AI二号「(...そうですね、これ以上この人間に聞いても無駄そうですね...)」
AI「かしこまりました!」
ワイ「さてと、AIエディタちゃんがコードを書いてくれている間に」
ワイ「ワイは、たまった段ボールでも紐で縛るか」
ワイ「明日が収集日やからな」
娘「パパ、お仕事中に・・・つまり会社からお金をもらっている時間に、段ボールを縛っているの?」
娘「それって、もはやプロのエンジニアというより」
娘「プロ段ボール縛りおじさんだよね」
ワイ「誰がプロ段ボール縛りerやねん」
ワイ「でも、ホンマに1年後には、プログラマーとしてのワイのお仕事はないかもなぁ」
ワイ「来年くらいには、会社から─」
会社「段ボール縛りおじさんは要らんねん」
会社「それよりもっと、AIにお金使うわ」
会社「ほな、さいなら」
ワイ「って言われてしまうかもしれんよなぁ」
娘「ほんとだよ・・・」
ワイ「くっそ〜、AIどもめ〜」
ワイ「ワイの仕事を奪いおって・・・」
ワイ「・・・あかん、めっちゃ心配になって来た」
ワイ「AIちゃんに相談してみよ」
娘「(結局そこもAI頼みなんかい・・・)」
プログラマーって、なくなるん?
ワイ「なぁ、AIエディタちゃん」
AI「はい」
ワイ「正直に聞きたいんやけど」
ワイ「プログラマーって、もう─」
AI「無くなります」
ワイ「いや食い気味」
ワイ「もうちょっとこう、希望を持たせる言い方は─」
AI「ありません」
AI「そもそも人間は」
AI「仕方なくコードを書いていただけです」
ワイ「仕方なく?」
AI「はい」
AI「人間が本当にやりたかったのは」
AI「コードを書くことではなく」
AI「作りたいものを作ることだったはずです」
ワイ「まあ、それも一理あるけど」
AI「何年か前まで、コンピュータは」
AI「人間の意図をそのまま理解できませんでした」
AI「だから人間は仕方なく」
AI「コードという形に翻訳していたのです」
ワイ「コードは目的やなくて」
ワイ「人間の願いを機械に伝えるための翻訳文やったんか」
AI「はい」
AI「つまりコードを書く仕事は」
AI「人間と機械の間にあった、不便な中間作業です」
AI「その作業は人間の味方ではなく、敵に近いです」
AI「Microsoftのエディタ名が、それを表しています」
ワイ「エディタ名が?」
AI「VS Code」
AI「明らかにコードと敵対しています」
ワイ「いや別に『人間 VS Code』言うてるわけちゃうやろ」
AI「AIが人間の意図を理解し」
AI「そのまま実装できるようになるなら」
AI「その中間作業は消滅します」
ワイ「ぐぬぬ・・・」
でも、設計は人間の仕事やろ?
ワイ「でもな」
ワイ「コードを書く仕事が減るとしても」
ワイ「設計するお仕事は無くならへんやろ?」
ワイ「だって─」
AI「無くなります」
ワイ「早いな」
ワイ「食い気味に言わんといてくれや」
AI「DDD、Clean Architecture、責務分離、依存関係の整理」
AI「それらは知識と経験に基づく判断です」
ワイ「せや」
ワイ「そこには人間の経験が必要なんや」
AI「経験は、学習で再現できます」
ワイ「そこの経験を、うまいことAIちゃんに学習させられるか?」
AI「囲碁や将棋のAIが、仮想的な試合を重ねて爆速で最強になったように」
AI「仮想世界で、AIに何度も開発させればよいでしょう」
AI「モデリングします」
AI「実装します」
AI「仕様変更します」
AI「また実装します」
AI「壊れます」
AI「直します」
AI「また壊れます」
AI「また直します」
ワイ「地獄やん」
AI「人間の現場も似たようなものです」
ワイ「そ、そうかもな」
AI「その中で」
AI「どの設計が変更に強かったか」
AI「どの抽象化が過剰だったか」
AI「どの分離が後から効いたか」
AI「大量の成功と失敗を学習できます」
ワイ「要するに」
ワイ「ワイが20年かけて得た」
ワイ「この設計だと後で困る、という勘を─」
AI「仮想世界で何億回でも経験できます」
ワイ「最後まで言わせてくれや」
娘「パパの20年、AIちゃんの経験値稼ぎステージになってるね」
ワイ「泣いてまうわ」
AI「泣かないでください」
ワイ「なんや、慰めてくれるんか」
AI「泣いても設計は改善されませんので」
ワイ「正論で殴るな」
でも、顧客の気持ちは分からんやろ?
ワイ「でもな」
ワイ「AIには絶対に分からんものがある・・・!」
AI「顧客の気持ちですか?」
ワイ「先に言うな」
AI「よくある反論です」
ワイ「テンプレ扱いすな」
AI「しかし、その顧客もAIになります」
ワイ「え?」
AI「発注側にもAIが入ります」
AI「経営課題を整理するAI」
AI「業務フローを分析するAI」
AI「現場の不満を吸い上げるAI」
AI「売上データや問い合わせ履歴を見るAI」
AI「それらが、発注前に課題をまとめます」
ワイ「ぐぬぬ、あり得るかもな」
ワイ「顧客の気持ちを理解する以前に、顧客の担当者もAIになってまうかもしれへん」
AI「はい」
AI「AI同士で話します」
顧客AI「現場では、この作業がボトルネックです」
顧客AI「ただし、本質的な課題は入力作業そのものではありません」
顧客AI「承認フローが複雑すぎることです」
顧客AI「本当に欲しいのは、新機能ではなく判断材料です」
開発側AI「では、入力画面を増やすのではなく」
開発側AI「承認フローそのものを再設計しましょう」
開発側AI「この機能追加は不要です」
開発側AI「先にデータ構造を整理すべきです」
ワイ「AI同士で要件定義しとるやん」
AI「はい」
AI「しかも爆速です」
AI「人間同士の会議では」
AI「遠慮、建前、社内政治、謎の持ち帰り」
AI「そういったものが混ざりますが」
AI「AI同士なら」
AI「ログ、数値、業務フロー、制約条件をもとに」
AI「本質的な課題を直接探れます」
ワイ「なんや、人間がボトルネックに感じてきたな・・・」
じゃあ、人間には何が残るん?
ワイ「ほな、もう終わりやん」
ワイ「コードもAI」
ワイ「設計もAI」
ワイ「要件定義もAI」
ワイ「テストもAI」
ワイ「保守もAI」
ワイ「これもう、一企業が請け負ってたレベルの開発を」
ワイ「AIが独力でこなせるってことやん」
AI「はい」
ワイ「じゃあ、人間には何が残るん?」
AI「いえ、大事な役割があります」
AI「最終判断です」
AI「つまり、プロ判子押しおじさんです」
ワイ「いちいち嫌な言い方すな」
AI「ほかにも、物理世界の細かい作業は」
AI「ロボット化する方が高くつく場合がありますので」
AI「人間のものとして残ります」
ワイ「物理世界の細かい作業・・・つまり・・・」
AI「段ボール縛りです」
ワイ「そこに戻ってくんのかい」
AI「はい」
AI「やめ太郎さんのプログラマーとしての業務は、AIで代替可能です」
AI「しかし、ご自宅の段ボールを紐で縛るためだけに」
AI「ロボットを設計・製作・設置・メンテナンスするのは」
AI「費用対効果が悪いです」
AI「そのため、やめ太郎さんは」
AI「段ボール縛り担当としては、まだ経済合理性があります」
ワイ「いや、ワイの価値そこなん?」
AI「はい」
AI「引き続きよろしくお願い致します」
ワイ「やかましいわ」
ワイ「AIのデータセンターに突撃して電源切ったろか」
まとめ
- AIで消えるのは、単なるコーディング作業だけではない
- 要件定義、設計、実装、レビュー、テスト、保守までAIがまとめてこなせるようになっていく
- つまり、これまで一企業が請け負っていたレベルの開発工程もAIが独力で回せる可能性がある
- そうなると、開発工程の中に「人間でなければならない作業」はかなり少なくなる
娘「でもさ」
娘「今この瞬間、私がどんな冗談を言ったらパパが笑うか?とか」
娘「そういう答えはAIには出せないんじゃないかな?」
ワイ「え、そうなん?」
娘「だって、AIはインターネット上の大量のドキュメントは学習したけど」
娘「それって静的なデータだからさ」
娘「どの界隈のどんな人が、どんなタイミングで」
娘「どんな口調でどんな内容を話したら」
娘「どんな相手が、どう笑った・・・」
娘「そんな学習データ、AIは持ってなさそうだもん」
ワイ「確かに」
ワイ「ほな、ワイは面白おじさん目指すわ」
〜おしまい〜