プログラミング
AIがソフトウェア書き換えの経済性を変える
AI changes the economics of software rewrites (thetruthasiseeitnow.com)
要約
AIの進化により、ソフトウェアの書き換えに対する考え方が変化しています。AIのコード生成能力は、学習データとコードベースのパターンに大きく依存するため、一貫性のある確立されたパターンを持つコードベースはAIとの親和性が高く、開発効率を向上させます。逆に、独自性の高い言語や古いコードベースはAIの学習に時間がかかり、競争上の不利につながるため、コードベースの再構築はAIの強みを活かす機会となります。
全文翻訳
AIの登場により、ソフトウェアの書き換えに対する私の見方は変わりました。
AIの出力品質は、プロンプト(指示)だけで決まるわけではありません。
それは、モデルがトレーニングデータから既に知っていることと、モデルに作業させるために与えるコンテキスト(文脈)によって決まります。
コーディングタスクにおいて、そのコンテキストの大部分はコードベースです。
人気の高い技術スタックは、モデルが公開ソースを含む何百万もの例を見ているため、AIにとって有利です。
逆に、一貫性のないパターンを持つ独自の言語やプライベートなフレームワークでは、これらは教える必要があり、ほとんどの場合、モデルが利用できる限られたコンテキストウィンドウを使用します。
これらの2つのワークフローを比較してみてください。
機能仕様を読む。
明確で、一貫性があり、確立されたパターンを持つコードベースを読む。
実装を生成する。
対して:
機能仕様を読む。
独自/レガシー言語と過去の遺産を持つ、一貫性のないコードベースを読む。
追加の例とドキュメントを読む。
実装を生成する。
最初のワークフローでは、コードベースにはモデルが容易に理解できる確立されたパターンがあります。
2番目のワークフローでは、モデルは問題を解決する前に、それらを推測するのに労力を費やします。
より多くのコンテキストは、より多くのトークン、より多くのプロンプト、より多くのバリエーション、そして一般的に低品質な出力を意味します。これはコストです。
書き換えは、テクノロジースタックを近代化する機会であるだけでなく、AIの強みに逆らうのではなく、AIの強みを活かす明確で一貫性のあるパターンを中心にコードベースを再構築する機会でもあります。
あなたはAIを使って問題を解決するか、あるいはAIにまずあなたの言語を学ばせようと時間を費やすかのどちらかです。
その失われた時間は競合他社の優位性となり、そのギャップは単なる速度ではなく、出力品質です。
これはソフトウェア書き換えの経済性を変えると思います。