Software is over: 終わるのは、純粋な機能を売るビジネスだ
ここ2週間くらい、Software is over/done/dead など強い主張が耳に入るようになったので、その背景を調べて私の思考を整理してみることにしました。
私の今のところの答えは、「終わるのは、純粋なソフトウェアの機能を売るビジネス。ソフトウェアそのものは増える」 だと思います。
最近の動向の整理
それぞれ別の人達によって、こんなことが並行して起きていました(数字は10/12時点の検索ベースで、細部は未検証です)。
- 9/13: Modern Warfare 2 をRustで動かす「IW4L」公開。
- 9/30頃: 初代Xbox版Haloのデコンパイル版が、ブラウザで動くように(TechSpot の9/30付の記事)。
- 9/30〜: Adobe製品のOSS版「ArtCraft」が次々に公開(PhotoCraft など)。
- 10/3〜10/8: リバースエンジニアリング用ツール「REA」が急伸。
- 10/6: GTA Vをブラウザで動かすサイトが公開、数時間で閉鎖(Startup Fortune)。
以下の2つに関しては、ある程度情報を調べられました。
- ArtCraft: PhotoCraft の README いわく「公開仕様と観察した挙動のみで実装。専用のコード・シェーダー・素材なし」。バイナリは読まない。一番人気である、Photoshop コピーの PhotoCraft は約5.5万スター(10/13時点)、その他にも Illustrator, Premiere, Acrobat, 各種オフィスソフト相当の製品が公開されている。作者の Brandon Thomas(FakeYou を運営する Storyteller.ai の CEO、元Square。経験15年と PetaPixel は伝えている)は「1か月以内に100%の互換性に到達する」と発言しており(TechSpot)、のちに Hacker News では「99%に到達するのは年単位ではなく数か月」と軌道修正している。Software is over を言ったのもこの人。ちなみに動機は、解約料というダークパターンに「もう何度もやられた」ことらしい(TweakTown)。
- REA: AIエージェントにソースコードのないアプリを調べさせるMCPツール。人がディスアセンブラやデバッガを使いながらやっていたバイナリ解析を、MCP ツールとして提供して AI にやらせようというもの。下では Hopper/Ghidra/IDA あたりを使いながら、JS/Electron、APK などの解析ができるらしい。スター約18万(10/13時点)。npm(rea-agents)のダウンロード数は 10/2 まで日10〜50件ほどのところ、10/10 に約3.5万件になっており、売り文句の変化をみると、ターゲットユーザがセキュリティエンジニアからアプリ開発者に寄ってきていそう。紹介した側の言葉が、Software is done(Matthew Berman。AIメディア Forward Future の創業者。紹介記事)と、Software is dead, long live software!(International Cyber Digest。サイバーセキュリティ系ニュースのXアカウントで、運営者は不明)。
終わるのは「機能を売る」商売
「Software is over」は、機能を売るタイプのソフトウェアについてはあまり違和感はありません。一方で、すでにインフラのようになった巨大なソフトウェアは、そんなに簡単な話ではありません。OSも、SNSも、動画サービスも、検索も、すぐには終わりません。そもそもコードベースが巨大でクローンが難しく(この解決は時間の問題かもしれませんが)、維持費も高い、また機能以外にデータやコミュニティという価値を抱えているからです。
余波を受けるのは、今の段階で規模が小さく、簡単に複製でき、その機能以外にこれといった強みがないもの だと考えています。私が見ている分かれ目は、「コードをそっくり真似されたら、何が残るか」 です。
AIでコードを書くコストが大きく下がると(開発していて実感します)、機能は「何か月もかけて作る希少な成果物」ではなくなります。ArtCraft の作者が解約料への怒りから動いたのは象徴的で、「機能にお金を払い続ける」関係そのものへの反発だったのだと思います。つまり、終わるのはソフトウェア全般ではなく、純粋に機能を売りにしているソフトウェア です。
作る側は、むしろ追い風
機能の値段が下がると、ソフトウェアで解ける問題は減るどころか、大量に見つかります。個人が身の回りの課題に合わせて作る需要が増えるだけではありません。私は今、企業向けの領域で働いていますが、企業にはソフトウェアで効率化できることがまだまだたくさんあります。ただ、その改善の多くは、長年の積み重ねでできた複雑なプロセスの改善も含めた、ニーズの理解や要件定義から実際の価値提供までを含むものです。今まではソフトウェアの開発導入コストが高いと思われていた領域で、再検討がおきるのではと考えています。
1製品あたりの人は減り、製品の数は増える と見ています。開発は「分業の仕事」から、価値を作る「クリエイターの仕事」へ寄ります。
ソフトウェア開発の経験があって、プロダクトを作りたい人には、今はボーナスステージだと見ています。技術構成・設計・開発手法の知識で、AIにより良い指示を与えられるからです(いずれ不要になるかもしれませんが、少なくとも今は)。また、AIに効率的な指示を出すにあたって、抽象的な思考力や言語化力が非常に重要だと考えていますが、このあたりも得意な人が多い印象です。たまにこのあたりが壊滅的なソフトウェアエンジニアもいたりしますが、そういう人は苦労するのかもしれない。
代償: 動いているからいいや精神
ここまで簡単に動くものができてしまうと、中身がブラックボックスのまま進んでしまいます。気になる点は2つあって、性質が違うので分けて考えています。
1つ目は、セキュリティ、データ保持、権限、監査ログ、スケーラビリティのような非機能要件です。画面上は機能が全部動いていても、データが想定外の場所に残っていたり、ユーザーが10倍になった途端に落ちたりします。「動いているからいいや」では見えない部分ですが、これは比較的、解ける問題だと思っています。チェックすべき項目はおおむね決まっているので、AIにチェックさせるリストがそのうち整備されるはずです。そもそも、実装そのものも、フロンティアのモデルなら特に特別なプロンプトを与えなくても、人が書くよりAIに書かせたほうが良いものが出てくる場面がほとんどです。1年前とは大きな違いです。
2つ目は、テストをどこまでやるかです。こちらには答えがありません。従来のソフトウェア開発でも、プロダクトの性質や会社の文化によってまちまちでした。そもそもある程度複雑なプロダクトになると、状態やUIのパターンが多く、網羅的なテストは非現実的です。おそらくは、自動化できるテストはできる限りAIに書かせ、人による確認の範囲をできるだけ減らす方向に動くと思います。
どちらについても、AIのアウトプットをどう人が理解するかに関するプロセスやルールについては、プロダクトの性質や会社の文化によって変わってきます。私も個人開発では冒険側、仕事のときは安全側に倒して進めていますが、結局は、現場とプロダクトと会社の文化に合わせて、どこまでリスクを取るかを決めていくしかないのだと思います。
とはいったものの、「リリース → 問題が各所で多発 → 直す技術とルールが育つ」という流れで、2〜3年かけて業界標準が見えてくると予想しています。
このニュースを見て思ったこと
学生のときに少しだけセキュリティコンテストに興味をもってバイナリ解析も触っていましたが、土台となっている技術の仕組みを知っているとこういった新技術のキャッチアップも気軽にでき(雰囲気で理解しているだけかもしれませんが)、そういった基礎の重要性を再認識しました。
また、過去の開発経験を振り返ると、苦労の中で学んだことはたくさんあります。AIがやってくれるようになるほど、そういう経験ができなくなり、パズルを解く楽しさや、自分の世界を創っているような楽しさが薄れていくのは、正直ちょっと寂しいですね。
それでも、幸いにも私はプロダクトを作るのが好きな側のソフトウェアエンジニアだったので、最近もAIを活用して、いろいろ開発しています。AI 前はそもそもリリースまでいかなかったり、リリースまで行ったものもメンテが面倒で消してしまったりしてたのですが、今はリリース後の改善も継続的に楽しくやれています。ひとつ開発しているものの例を挙げると、1日1本の技術解説アプリで、最初はAIが書いてくれた内容をレビューしてたんですが、最近面倒になっちゃってそのままマージしちゃってて。。。まあ、動いているからいっか。
関連記事: AI開発は天才宇宙人のマネジメント・AI/ML 集中学習の振り返り (1)
コメント (0)
まだコメントはありません。最初のコメントを投稿しましょう!