久しく執筆。以前から感じている内容を時流にのってAIと絡め、ChatGPTで推敲しながらまとめてみる。
AIによる進化
個人の生産性は大幅に上がってると感じる。従来なら眼前の設計とコードを脳内メモリに入れ込んで、具体的な値によるイメージなり挙動を考えながら実装箇所にフォーカスして脳と手を稼働させてきた。これが時には実質ゼロになり、概要と入出力、方針を伝えれば90点以上のコードが生成される。時間と疲労コストをかけて実装というリターンを得る流れをほぼ代替できてしまうのだから、結果として生産性は大きく向上している。
また、脳内でまだ完成形まで到達できていない実装に対しても、具体的なゴール足り得る実装を提示してくる。自分の例として、バックエンド実装においてはレイヤード、クリーンアーキテクチャ、DDDなど一定の設計技法観点からするとどのような実装であるべきか、これに対して、学習元である人類の叡智(?)を元に例や思考過程を示してくれる。ゲーム実装においては一見複雑なロジックを何の抵抗もなく実現し、これがまた問題なく動作する訳で正直魔法に見える。
一方で各所で散見されるような、AIが生成したコードのレビューコストの問題も存在していると感じる。従来であれば開発者がコストを払って実装したPRに対してコストを払ってレビューが行われ、現物のソフトウェアとして世に出ていた。それが昨今では、初手の実装者自身ですら把握できていないコードがPRとして作成され、場合によっては自ら実装すらしていない。反面、作成した製品に責任を持つという側面から、開発チームとしてのレビューコストを減らす判断はしづらい。
開発者の手元というミクロな点において多大な生産性を発揮している一方、開発チーム内部において、不具合や障害発生時にその主たる窓口にいるのは結局人間である現実は変わらない。そうなるとコードの質を担保するうえでレビューをしない、という選択肢までは取りにくい。CopilotやCodeRabbitやらによるレビューは可能だが、それはあくまでコードとしてのレビューであって、プロダクト仕様としての評価、レビューは厳しい。こういった現実を考えるとレビューコスト自体はまだ人の頭から切り離せないものと思う。
ここまでを挙げた上で主張したい点に移っていくと、体感として個人を超えた段階、組織としての生産性は向上しているのかという部分にある。
進化の側面と組織
仕事とは関係しない別業種の方に会うシーンがあった。曰く、普段の業務やメール連絡、資料作成、データ分析において、大いにAIを活用していた。しかし、その会社は所謂JTC組織で、AIまでいかずともデジタルツールについての距離感がまだまだ遠いらしい故、そういった業務最適化を行えているのは現場の一部のみに留まるとのことだった。IT関連企業にいればこそだが、やはり世間においてはまだまだ導入が始まりながらも進まないような過渡期の1ステップ目くらいなのだなという実例に思えた。
これまでの流れを振り返ると、この構造自体は決して新しいものではないように思う。
例えば、業務効率化の文脈で言えば、かつてはエクセルを導入、というのが身近に感じられるところか。それまで手作業で処していた計算を、自動化によって高速化し、個人や周辺単位での生産性は大きく向上したと思われる。個人レベルでの生産性は向上したはずで、その流れが間違いなく組織にも影響を与えているとは思うのだが、未だに新人が一人で現場業務を最適化するといった話が出てくる。森を見て木を見ずにはなるが、組織全体としての最適化に至れていないケースもある良い例ではないだろうか。
より構造的な話で言えば、オフショア開発のような取り組みも同様に捉えられないかと思うに至った。
人件費を抑えつつ開発リソースは拡張するという点では合理性がある訳だが、コミュニケーションコストや仕様理解のズレといった現場ドリブンの新たな課題が生まれ、結果として期待したほどの生産性向上に繋がらないことも観測されているように感じる。身近な例で言えば、ベトナムといった東南アジアの国への開発委託だろうか。経営者やビジネス担当からすると、現地開発者とチームへのコストと日本での開発者雇用コストを、金銭とリターンで比較していると思われるのだが、少なくとも自分の観測範囲では、これらの方式で大いに成功した例を聞くことは少ない。事業として成立せずに終了してしまうことはあるとして、結果として、そこで生み出された製品がビジネスを支えているシーンは見かけるのだが、品質や体制的に運用が苦しくなり後から抜本的な改修に着手するケースもまたよくあるシーンとして実感するところ。
近年ではDXという言葉のもとで様々なツールやクラウドサービスが導入されてきたが、これもまた「導入すれば自動的に改善される」というものではなく、ゼロ距離で向き合っている現場のみならず、組織としての理解や運用が伴わなければ形骸化するという課題が繰り返されているようにも思える。新しい技術が導入されるたびに、個人レベルの生産性は上がっているのだが、組織に広く影響を与えそれ前提の最適化が行われるかというと、そういうわけではないという構造を繰り返しているような印象がある。そして、現在起きているAIの波も、構造としてはこれまでの業務効率化やDXと見方は変わらないのではないかと思っている。
なぜなら、組織の生産性はひとりの作業速度だけで決まるものではないからだ。意思決定、レビュー、責任範囲、境界、共通理解、運用、外部折衝。そういった人間同士の接続部分が残っている限り、個人の生産性だけが上がっても、組織全体が同じ速度で前に進むとは限らない。
ボトルネックの正体
これまでの例を見ると、AIによる生産性向上を実現できる個人が集まれば問題ないようにも思えるが、問題はAIに明るくない人がいること自体ではないと考えている。当然ながら、全員がAIの専門家になる必要はないし、全員がプロンプトやモデルの仕組みに詳しくなる必要もない。
ボトルネックは、わからないから任せる、自分の領域ではない、と距離をとることで、組織の中にAIを前提とした共通言語が存在できないことにあるように思う。この 「わからない」ことへの距離感が主題ではないだろうか。
これはソフトウェア開発現場でもよく見られてきた構造だと感じている。
常々体感してきたことなのだが、開発者だけがシステムの都合を理解していて、ビジネス側やマネジメント層が「技術のことはわからないので任せます」という距離感でいると、物事はうまく進みにくい。一定量の業務経験がある方なら、こういった事象に直面したことがあるのではないだろうか。もちろん、全員がコードを書ける必要はないし、設計を理解できる必要はない。だが、ソフトウェアが事業の核にいる以上、どのような制約があり、何が難しく、どこにリスクがあるのかを共通認識として持つことが要点であり、そこに対しての課題感が残ったままでは意思決定の質は上がらない。
これが、AIにも同質なことを言えるように感じる。
一部の人だけがAIを使いこなし、積極的利用に至っていない人からするとよくわからないが便利な万能ツール、として眺めているだけでは組織全体の前提は変わらない。AIを使いこなす人が増えるだけではなく、AIを前提にした判断や会話ができる状態になって初めて、組織としての生産性が変わり始めるものだと考える。
必要なのは全体の底上げ
AIによって個人ができることは飛躍的に増え、質も向上している。コード、調査、文章、仕様整理。これまで時間や集中力を消費していた作業の一部は、既にAIによって代替されていて、ソフトウェア開発に限って言えば、1、2年前とは明らかに景色が変わった。
ただ、その変化がそのまま組織全体の変化になるかというと、まだ大きな隔たりがあるように感じる。過去にも、局所的に生産性を変えたり、事業のあり方を大きく変えうる技術や仕組みは何度も現れてきていた。しかし、それだけで組織全体が滑らかに変わったかというと、必ずしもそうではなかったように思える。
AIもまた、おそらく似た立ち位置なのだと思う。(とはいえ今回ばかりは本当にゲームチェンジャーというフシはある)
従来と同じ、一部の人だけが使いこなす便利ツールの延長となるのか。
はたまた、組織全体の前提や意思決定まで変えるものになるのか。
モデル性能やツールの数ではなく、わからないものとどう向き合うかという、人間側のスタンスが問われる状況だと考えている。
進む組織と停滞する組織の差は、AIを導入したかどうかではなく、AIを前提に自分たちの働き方や意思決定を変えようとできるかどうかに表れるのではないだろうか。
