AI駆動開発の実践:個人的に直面している課題について
こんにちは、senです。
AIを利用した開発業務を本格化させようと考え、最近CursorやClineについて調べて昨年から導入し始めましたが、現状の使い方では、AIが持っているポテンシャルを活かしきれていない、あるいは、AIの強みであるスピード、生産性の向上といったメリットを享受しきれていないのではないか…と考えています。
※CursorやClineの概要については下記
Cursor公式
Cline概要
今回は、AI主体の開発における、私個人の取り組み方や能力面での課題点を整理してみます。
内容としては開発/実装にフォーカスを当てています。
※下記の記事を元に書いています。実際の現場目線での知見が多く参考になりました。
君たちはCursorを本当に使えているか
1. プロジェクト毎の実装方針とナレッジ構築の不足
現状、全体把握やプロジェクトのコードベースに対する効果的なナレッジが作成できていないです。
プロジェクト毎の実装方針を立てる、参考ファイルを整備していくといった事前準備が不足していたと感じます。
今後は参画しているプロジェクト毎に最低限の方針や制約条件は事前に考えておき、改善できればと考えています。
2. AIに与えるコンテキストの選定と絞り込み
AIに与える情報は、多すぎると精度が落ちますが、少なすぎても影響範囲の見落としや、そもそもうまく指示が通らないということが起こるため、実装中は都度最も効果的な選択をしたいです。(効率の面で)
このあたりを経験や知識以外でカバーする方法がないかは模索中です。
3. フェーズ/ステップを区切る、整理するのが難しい
実装について、分割して順々に指示していく、ということが実際にやってみると思ったより難しいです。
自分でステップを考えたつもりになっていっても、内容的には複数を一気に指示していたり…といったことがよくあります。
今後の改善として、もしかしたらもう少しコミットを細かくしてもよいかもしれないと考えています。前回コミットと最新コミットのdiffをAIに与えることもできるため、gitをうまく使った進め方を試すのがよいかもしれないです。
4. 作業毎の検証と前提確認
自動テストの導入や実装ステップ毎の確認が不足しており、AIで実装→検証→修正のサイクルが現状では上手く回っていないと感じています。(ある程度完成してからのテストというより、実装のフェーズ/ステップ毎の効果的な確認をしたい)
客観性を担保し品質を上げるための取り組みをプロジェクト毎に導入できるのがベストかなと考えています。
おわりに
体感ですが、AI中心の開発手法について、実際の現場目線での情報が増えてきたと感じています。今現在は、多くの人が模索し手法について考察が進んできた時期と言えると思います。
AIも日々進歩しているので、人間側の技術介入度は徐々に下がっていく可能性はありますが、今回挙げた課題をクリアしてAIを有効に活用できていければよいと考えています。