Reflections After 3 Years of Use
私は2022年11月にChatGPTがリリースされて以来、生成AIを集中的に使ってきました。ソフトウェア開発は、私がそれを最も多用している領域の一つにすぐになりました。熱狂と失望の繰り返しを経て、その強みと限界についてより成熟した理解に到達しました。以下は私の振り返りです。
The New Baseline for Development
私は、現時点の最先端の状況において、専門特化したコード生成エージェントはソフトウェア開発者にとっての基本的なツールだと確信しています。これらを導入しない人は、私たちのようにそれらを体系的に使う人に比べて、非常に大きなハンディキャップを作り出していることになります。
Beware of Trivialization
私は、ソフトウェア工学の知識がない人が「簡単なプロンプトで、コーディングなしに」機能するアプリケーションを作れるというのを見て、物事が軽視されていくことに懸念を抱いています。これは可能ではありますが、考慮すべき注意点がいくつかあります。
プロンプトでアプリケーションを生成できる多くのプラットフォームは、その環境にベンダーロックインの形で固定してしまい、セキュリティ、スケーラビリティ、保守性に問題のあるアプリケーションを生み出します。これらは本番運用には不適切です。さらに加えて、ソフトウェアの経験がない人は完全な仕様を書けないため、AIがその不足分を明示されない前提で補ってしまい、その多くは期待と一致しません。これらのアプリケーションはプロトタイプとして、あるいは個人利用には役立つことがありますが、より広範な展開にはリスクがあります。
The Senior Developer's Superpower
一方で、ソフトウェア開発エージェントは、シニア開発者の手にあるとスーパーパワーになり得ます。AIは、適切なガイダンスなしには本番レベルのソフトウェアを生成できませんが、生産性を劇的に加速させることはできます。
これは「ノリでコーディング」という話ではなく、仕様駆動の開発の話です。つまり、開発エージェントが必要なコードを生成できるように導く、詳細な技術ドキュメントを作るということです。
それには何が含まれるでしょうか? たとえば、測定可能な受け入れ基準を伴う機能仕様、アーキテクチャのパターン、コード品質基準、テスト、セキュリティ、可観測性などです。
開発者の役割は消えません。それは、コードを書くことから、品質の高いソフトウェアを可能にする構造的な要素を設計することへと進化します。Faisal Haqueが言うように、これはコーダーからビルダーへの進化です。
私は、エージェントを使って高品質なソフトウェアを生み出す方法を探求し、試すことに専念してきており、これまでに得た学びを共有するための一連の投稿を準備しています。
次回の投稿では、具体的な点を掘り下げます。モデルが実際にどのように振る舞うのか、仕様駆動の開発が実務ではどのように見えるのか、そして違いを生むテクニックは何か。これまでのあなたの経験はいかがでしたか?
返却形式: {"translated": "翻訳されたHTML"}