AIにコード生成させていて思ったこと
とりあえず思うところを書いていく
まず大別して、開発時に主にやることを3つ挙げる
既存のコードベースから修正や新規機能開発を行う場合
自分自身にナレッジが溜まっている場合
自分自身にナレッジが溜まっていない場合
新規にプロジェクトを作成する場合
ここから「AIを活用して開発する」とき、各シチュエーションに適した方法はこれだ(今のところ、個人的に)、というのを挙げてみる
1. 既存のコードベース+既知のナレッジ
Copilot的に補完や部分的な生成をしていく
わからないところ、部分的な断片について聞いていく
「こういう道のりで行けば目的は達成できそう」みたいなのは自分の持っている知識から考えて都度指示を与える
2. 既存のコードベース+未知のナレッジ
基本は1と同じ
プロジェクトの特性によって、生成対象を広げたほうがいいかは考えよう
3. 新規プロジェクト
全面的な生成(Agentの活用)を検討して良い
自分ではっきり道筋が見えているなら、それをAgentに食わせるドキュメントに含める
雑にmdファイルを書いてもいいし、.clinerules とか .cursorrules とか .github/copilot-instructions.md とかでもいい
可能ならば、最初のうちはデザインもAgentにまかせて良さそう
一機能に対する最初の生成ではデザインは気にさせないほうがいい
デザイナーもAIベースのワークフローに巻き込めるなら、それが一番いい
思っていること
「AIを活用した開発」は大別して2つ
Copilot的な活用
Agentの活用
前者は既存のコードベースと相性が良く、後者は新規プロジェクトと相性が良い
個人的な感想なのでそうじゃないこともあるかも
Agentを活用したとき、特に業務での開発では実装者以外を巻き込めるかが重要
デザイナーのアウトプットもAgentを見据えて最適化していくことが求められていくのかもしれない