ここ最近AIを使った開発をしていて思うこと。
ローコンテキストなものは期待するアウトプットと差分が出ずらいので、雑にAIに依頼しやすい。「こうやればいけそうだなー」くらいのある程度ゴール感が見えているようなやつも、AIにやらせておけばいい。となると、仕事上残るのは以下のカテゴリしかなくないか? と思う今日この頃。
ハイコンテキストなもの
過去にされた何気ない会話だったり、別チームとのディスカッションで得られた決定事項を具体化して、デリバリするところまでがスコープになっているようなもの。あとは、明文化されていないが、なんとなくその組織のなかで共通認識になっている思想とかからくる機能開発や改修。だいたい、こういうやつは不確実性も高い。
不確実性が高い
実際に作ってみた上で、それを運用して出てくる課題の収集だったり、他の人間からのフィードバックを得るみたいな、ワンショットでは終わらないロングスパンな仕事。何を作るべきかすら、決まっていないこともある。というか、決まっていることの方が少ないタイプの仕事。それもググったりして決まるようなものではなく、人と話すことで形が決まるみたいなやつ。
結局
他人にオフロードしたい仕事ほど、漠然とした情報しかないがち。
頭を捻って考えたり、情報収集から始めないと具体に落ちないようなやつ... いや、具体性のあるものを作るのは爆速になったのだが、それが正解だとは限らないし、よりディテールが重要になってきた。そういう面倒なプロセスが不要で、すぐできるものはノータイムでAIに片付けられてしまう。あと、これまではPdMと呼ばれる人がやっていた仕事を、ソフトウェア・エンジニアとしての自分がやるようになっている感もある。*1
当然ながら、作るべきもののイメージがミリも固まってないで仕事を依頼できるわけがないのだが、一方で世のスタートアップ的な仕事とは何かしらの新しい価値を作るものであって、その点においてはプロダクトの思想レベルすらも探求フェーズである場合が往々にしてあり、そういうときこそ人が欲しいのである。そんな環境ではどうやって分業するのが正解なのか、よくわかっていない。とにかく、やることが決まっていないことほど委譲したい度合いが高い。
乱暴に言うと "一緒に正解を作って欲しい" というだけの話なのだが。*2