AIを利用したソフトウェア開発が広まっているなか、作業効率や成果が大幅に向上した感じる開発者もいれば、そうでない開発者もいるようですです。
AIがあまり便利でないと感じている開発者は、AIツールを適切に利用していないのが問題かもしれません。AI支援型コーディングツールを活用する際の効果的な方法について、特に熟練した開発者に向けた提案を行うブログ記事「Senior Developer Skills in the AI Age」が公開されています。
この記事の著者は Manuel Kießling(マニュエル・キーリング)氏で、25年以上にわたるソフトウェア開発経験を持つ熟練したエンジニアです。AI時代における効率的なコーディング方法や開発哲学についての洞察を共有することに情熱を注いでおり、AI支援型コーディングツールを最大限に活用する方法について説明しています。
記事によると、著者は、個人および職場でAI支援型ツールを使用した結果、作業効率と成果の質が大幅に向上したとのことです。一部の開発者は同じツールを使用しても十分な効果を得られないと報告しており、これが適切な使い方の重要性を示唆していると強調しています。
同氏は、AIツールは「非常に優れたプログラミング知識を持つシニアのような存在」であるものの、「特定の文脈やアーキテクチャに関しては新人」だと位置づけています。このギャップを埋めるために、熟練した開発者が適切な方法でツールを使用することが鍵となるのです。
AIツールの効果的な活用方法
同氏はAIツールの効果的な活用方法として、以下の3つの重要な技術を紹介しています:
-
構造化された要件定義:
-
成功するプロジェクトには包括的で明確な要件文書が必要。
-
例えば、要件をトップレベルから詳細レベルまで階層化し、具体的な手順を明示的に定義することで、AIに具体的な目標を伝える。
-
-
ツールベースのガードレール:
-
静的解析ツールやタイプチェックを導入することで、リアルタイムで問題を特定し、コード品質を維持。
-
AIがこれらのツールを理解し、問題を修正する能力を活用。
-
-
ファイルベースのキーフレーミング:
-
最小限の「空の骨格ファイル」を作成することで、ファイルの構造や命名規則をAIに提供。
-
これにより、コードの組織化を制御しながらAIの創造性を適切に活用。
-
同氏は、エラーメッセージを集約し、ウェブプラットフォームの問題を通知するシステム「Platform Problem Monitoring」と、レガシーPHPアプリケーションと新しいフレームワークとの間の統合と直感的なUIの構築をAIが担当した「プロセス管理UI統合」で、これら技術の有用性を実証し、前者に関してはGitHubで実際のソースコードを公開しています。
この記事に関してHacker Newsでも議論が行われており、AIによって生成されたコードにはしばしば冗長なコメントや不適切な実装が含まれており、コードの保守性が低下する可能性があるとか、熟練した開発者はAIツールをうまく活用して生産性を向上させているものの、AIツールの出力をそのまま信頼するのではなく、慎重にレビューし、改善することが求めらるといった、さまざまな視点からのコメントが寄せられています。
コーディングにおけるAIシステムとの関係を見直したい開発者の方は参考にしてみてはいかがでしょうか。