💪AI駆動開発以前は、OSSライブラリが工数削減に寄与してきた
Qiita、Zenn、Xをはじめ、技術系の情報を追っかけているとAIに関する記事をみない日がないぐらいです。正直、もうお腹いっぱいになっています。モデルの進化競争も激しく、ドラゴンボールの後半戦をみているような感じです。
とはいえ、日々、どんなことができるようになっているのかはウォッチが必要だなと感じています。
さて、いろいろなAI技術が生まれていますが、それが実務や具体的なプロジェクトにどのように影響を与えていくのでしょうか?特に、OSSのライブラリに関してどのような影響をあたえていくのか考察してみたいと思います。
なぜ、OSSライブラリに注目したかというと、これまでITエンジニアの工数削減に寄与していたのは、OSSライブラリといっても過言ではないと思います。そして、これからもOSSのライブラリは使われていくと思います。
AI駆動開発がOSSライブラリに与える影響を考察して、AI駆動開発に最適なOSSライブラリはどのようなものか考えてみたいと思います。
この考察の観点は以下の記事を踏まえたものになります。
⚒️AI駆動開発の普及と生産性向上への寄与
AI利用がOSS開発に与える影響についての調査があります。
以下の研究は、AIを利用したOSS開発でどれぐらい生産性があがったのか、また、逆に新たに発生したコストについて示されています。
ChatGPTによる要約を掲載しておきます。
この研究は、GitHub Copilotのような生成AIツールがオープンソースソフトウェア(OSS)開発に与える影響を分析しています。
GitHubのリポジトリデータと一般化合成コントロール法を用いて、Copilotの導入がプロジェクトレベルの生産性を6.5%向上させることを発見しました。この向上は、個々の開発者の生産性が5.5%、参加率が5.4%増加したことに起因しています。
しかし、統合時間が41.6%増加しており、これは調整コストの増加による可能性があります。また、コア開発者はCopilotの使用によってより大きな生産性向上を経験しており、これは彼らのプロジェクトに対する深い理解によると考えられます。
ただ、コードの品質には変化が見られませんでした。この研究は、AIペアプログラマーがOSS開発の生産性に影響を与える役割を強調し、OSSプロジェクトの構造に対する潜在的な影響を示唆しています。
Bendersky, A., Paz, J. P., & Cunha, M. T. (2025). The impact of generative AI on collaborative open-source software development: Evidence from GitHub Copilot. arXiv. https://arxiv.org/abs/2410.02091
この研究結果では、劇的な生産性向上があったという指摘ではないですが、それでも生産性向上が見られたことは指摘されています。劇的な生産性向上がないのは、コア開発者などすでにスキルの高い人達だからなのかもしれません。
一方で、AIを活用する調整コストが発生しているのも実態をよくあらわしているなと思います。とても興味深い研究です。
他にも、ITエンジニアがAIツールを導入して工数削減したという記事はいくつかあります。
日本マイクロソフトが自社開発チームに GitHub Copilot を導入したところ、エンジニア一人あたりの月間残業時間が導入前の45時間から26時間へと大幅に削減されました。コード生成の自動化により、定型的な作業時間が短縮されただけでなく、デバッグ工程も効率化されたことが要因です。
また、楽天グループのあるチームでは、AI開発ツールの導入後、週末出勤が必要なケースが87%も減少しました。緊急のバグ修正依頼に対しても、AIによる問題診断支援によって迅速な対応が可能になったことが寄与しています。
さらに注目すべきは、残業時間の減少だけでなく、エンジニアの満足度も向上している点です。富士通の社内調査によると、AI開発ツールを活用しているエンジニアの78%が「仕事の質が向上した」と回答し、65%が「ワークライフバランスが改善した」と答えています。
実際、自分もつかっていますが、社内のインフラメンテやデータ加工などで使うPythonやPowerShellはバイブコーディングが大半です。本当に便利になりました。
AI駆動開発をベースにすることで少数精鋭チームができる時代ですね。
⌛️バイブコーディングやAI駆動開発の具体的なメリット
バイブコーディングに関する記事は枚挙にいとまがないので、検索するとメリットについてもいろいろな意見が見られます。また、すでにバイブコーディングをしている人は多数いるので、経験からメリットについてはだいたい分かると思います。
私が感じるバイブコーディングやAI駆動開発の良さは以下です。
バイブコーディングやAI駆動開発のメリット
➕️ 自分が知らない技術についても、要求を実現するように作ってくれる(調査や学習コスト低下)。
➕️ 知らないことを検索して、それをもとに考えてからコーディングしなくなった。やりたいことを伝えると、検索とコーディングを一気にしてくれる。(時間削減効果)
➕️ 大量、かつ、反復的なつまらないコーディング作業を代替してくれる。 (時間と心理的ストレス削減効果大)
➕️ 設計書駆動をするので見返したときに何をしていたのか分かりやすくなった(設計駆動開発、認知レベル向上)。
➕️ 設計書があったり、反復的なコードをつくるのはAIの方が優れているので、ユニットテストを作りやすくなった(品質向上)。
➕️ 設計書とコードを参照させて、MCPサーバを介してテストツールと連携させ自動化の幅が広がった(自動化、工数削減)。
➕️ 設計書があるため、リファレンスを作りやすくなった(情報整備)。
➕️ 設計書やリファレンスがあるので、DifyなどのAIエージェント構築ツールを連携させて問い合せボットの構築など運用面の整備がしやすくなった(アフターフォロー)。
他にもいろいろあると思いますが、調査、設計・考案、コーディングの時間や心理的ストレスをかなり削減してくれているのは確かです。
一方で、今まで自分がしていた行動を言語化する難しさも感じてはいます。ただ、それはプログラムの無駄な時間に比べれば全然甘受できます。
ちなみに、バイブコーディングを中心にした開発の進め方などの記事もふえてきましたね。
以上、バイブコーディングはこれまで以上に開発の時間を短縮させてくれます。OSS開発者も勿論、バイブコーディングはしていくと思いますので、今まで以上に開発速度があがったり、多くの開発者が生まれる可能性はあります。
🧰OSSライブラリ開発に与えるAI駆動開発の影響
✨️開発の高速化・短期化
以上にみてきたように、AI駆動開発によってソフトウェア開発の工数は削減されていくと思います。今は、導入時期であったり、ツールの変遷が激しいため、劇的な工数削減はないかもしれません。
ただ、1年もすれば設計書、エディタのRules、プロンプトなどが整備されたり、ソフトウェア開発のドメインに特化したモデルやツールが更に便利になっていくと思います。
そうするとこれまでよりも早いサイクルで開発が進んでいくと思います。
✨️開発チームのスリム化、調整コスト削減
今までは、個人開発や小さいチームでしていたのでなかなか進まなかった開発もAI駆動開発により少数精鋭、または、個人でも早く形を作れるようになります。
人を集めるのに時間がかかったりしますが、AI駆動開発であれば人集めの手間も省いてくれます。チームメンバーがすくないということ調整コストも下がります。
設計方針の違いなどでぶつかるというのもなく、ある特定の人の思想がそのまま形になりやすくなります。これ自体がよいか悪いかは、使う人が判断するでしょう。なので個人的には、こうしたケースがあってもよいと思います。
✨️多機能・高機能化、利便性向上
今まで時間の制約で最低限の機能しか実現できないこともあったと思います。それがAI駆動開発により、機能実現やUIやUXの向上に使う時間が増えてきます。
これからOSSライブラリは多機能になり、UI/UXも改善されて利便性があがると思います。
✨️プログラムコードではなくプロンプト、設計など自然言語ライブラリの増加
今でも以下のようなCursorのRulesのリポジトリがありますが、今後、自然言語でつくられたプロンプト、設計、Rulesなどのプロジェクトも増えると思います。
こうした自然言語のプロンプトや設計書をベースにカスタマイズコードをつくるという開発スタイルもふえるのではないでしょうか?
✨️ライブラリ自体がバイブコーディングやAI駆動開発に最適化されていく
もうバイブコーディングが当たり前になると、それをしやすいライブラリが好まれるようになると思います。
プロンプトでモジュールつくったり、アプリ自体をつくるなど。
また、AI自体が利用しやすい形になるなど、AI活用を前提にしたライブラリの機能が増ええくると思います。
たとえば、以下のフレームワークはAI開発がしやすい仕組みをもっています。
✨️コーディングなどの開発時のメリットよりは省資源・高速化など実行時のメリットが優先される(設計思想の変化)
これまでは人間がコーディングしていたので人間がどう書くのかという視点でつくられていたと思います。ただ、バイブコーディングが一般化すれば人間のコーディングする量は減ってきます。
人間はコードの理解をするので可読性は必要ですが、記載する際の配慮はそこまで必要ない気もします。それよりは、ビルド時間を短縮したり、実行時のメモリ消費量を抑えたり、高速に動くなど実行時のメリットにフォーカスしたライブラリが作らるのではないでしょうか?
以下、Web開発の技術変遷を整理しましたが、AI駆動開発の前後でライブラリを作る設計思想も変わってくるように思います。
👿剽窃などによるトラブルの増加、ライセンスの在り方の変化
AI駆動開発はメリットだけではなくデメリットももたらすと思います。おそらく知識や開発リソース不足をAIが補うことで、技術的な民主化が果たされます。
そうすると人のコードを真似したものがたくさんできるようになると思います。今までは、先行利得のようなもので権利や地位が守られていたところもあります。それがAI駆動開発によってなくなる可能性もあります。
できるからなんでもしてもよいと考える人が存在するのは防ぎようがない気もしますが、同じ開発者として互いを尊重する気持ちはもってほしいなと思います。
とはいえ、トラブルは増える可能性はあると思います。
以上、私が現時点で思いつくところを列挙してみました。他にもいろいろな影響があると思いますが、これから本格的にOSSへの影響がでてくるのではないでしょうか?
🔍️OSSライブラリを採用する際の変化
開発自体の影響ではなく、採用する側の影響を考察します。
前述したようなOSSのライブラリの変化、そして、利用者自体もAI駆動開発をしていくことで、利用者側はどのようにライブラリを使っていくのでしょうか?
✨️生成されるカスタマイズコードが少なく、可読性が高いものを選ぶ
バイブコーディングが一般化するので自分でコーディングすることは格段に減ると思います。作ったものを読んで実行して、おかしかったら再度、AIに直させるという流れで開発すると思います。実際、私はそうしています。
もっぱら人間は、コードリーディングするだけになります。なので分かりやすいコード、少ないコードがよいと思います。
また、生成コードが少ないことは裏返せば、ちゃんと品質を担保されたコードがすでに出来上がっていることを意味します。品質担保の面でもこうしたライブラリが最適です。
✨️プロンプトが少なくなりバイブコーディングが楽になるものを選ぶ
バイブコーディングで重要なのはプロンプトを如何に簡単にしつつも、精度をあげるかです。今でも、エディタ用のRulesをつくったり、ドキュメントをテンプレート化して対応していると思います。もう、ライブラリ側でそうしたものを用意しておいてもらって、プロンプトの量を少なくしてくれるものが選ばれると思います。
できれば指示して作ったものは、決まったフォーマットの設計書にして書き出してくれるとよいと思います。そうすると後段のテストや運用時のマニュアルにも活用できるます。
✨️設計・プロンプトライブラリにより実装をカスタマイズ
設計・プロンプト・サンプルコードとしてライブラリをつかい、別言語で実装をしたりなど設計部分を利用して、実装は独自にバイブコーディングするというのもあると思います。
これは剽窃では?という指摘も出てきそうですが。
たとえば、TypeScriptで作っているライブラリを、RustやGoで実装し直すとか。
✨️実行時のパフォーマンスを今まで以上に留意する
これまでは人間が開発する工数やストレスなどを考慮して、開発や実行速度を犠牲にしていることもありました。たとえば、Webのフロントエンドのビルドなどはまさにこの最たるものだと思います。
バイブコーディングによって人間がコーディングしないので、こうした人間の認知に即したツールや方法は徐々にへっていくのではないでしょうか?
たとえば、Webであれば標準WebComponentやESModuleなど必ずしもビルドを前提としなくてもよい領域もふえているので、こうしたビルドレスに近づける技術をベースにしたライブラリがでてくる可能性はあります。
これはAIというよりも、JavaScriptの仕様変化やWebブラウザの進化に関係していますね。ただ、AI駆動開発でこうしたまだ一般化していない開発も進む可能性は、否定できないと思います。
ちなみに、こうした開発を前提にしたライブラリもあります。ビルドレスライブラリ。
以上、AI駆動開発、バイブコーディングがOSSライブラリの開発や採用に与える影響についての考察でした。
バイブコーディングが流行ったとしても、バイブコーディング自体を簡単にしたり、品質を担保するためにOSSライブラリは引き続き使われ続けていくと思います。
どんなライブラリがでるのか楽しみにしています。