今回取り組んだ内容
- AI-DLCについて調べ実践した
なぜやろうと思ったか
- 先日AI-DLCについて勉強させていただく機会があったが、当日に満足いく結果を出すことができなかったため個人的に復習を行った。
- ゆるテック用の内製化アプリ作ってスタンプ集めしてもらったり記事検索簡単にしたり登壇管理しやすくしたりしたかったのでちょうどいいやと思ったから。
学んだこと
1. AI-DLCとは?
参考リンク:https://jp.findy-team.io/blog/ai-casestudy/ai-driven-development-life-cycle/
概要
- AI駆動開発(AI-Driven Development Lifecycle)の略で、AWSが提唱する要件定義から改善までの開発工程全体にAIを組み込み、AIが計画・実行を主動し、人間が監督・承認を担う。
- AIを部分ごとに組み込むのではなく開発の進め方そのものをAI前提で再設計するという考え方。
- 現在の位置とゴールの位置を正しく認識し、AIに提示する。
AI-Driven(主導的なAI活用)
今までは開発の一部分で補助的な役割として組み込むことが多かった。
例:コードの補完、文書生成、特定タスクの高速化など
AI-Drivenでは↓
- 人間がビジネス上の糸と制約を与える → AIがタスク分解、実装案、テストケースを生成 → 人間が確認、承認する。要は人間が監督者になる。
- 実際に動くのはAIで意思決定を人間がチームで行っていく。
導入するメリット
- 開発全体の時間短縮
- AI活用が個人の工夫からチームとして再現可能な開発プロセスになる。
進め方
- Inception(開始)-ビジネス糸を要件や作業単位に落とす
- Construction(構築)-設計・実装・テスト
- Operation(運用)-デプロイ・監視・改善
AIがたたき台作成 → 人間が前提を与え軌道修正
下流工程のコード生成をスムーズに全部やらせるために設計段階からAIに参加させ、人間の意思を伝え修正を加えてやっていくイメージでとらえた。
AWSが公開しているawslabs/aidlc-workflows(GitHub)を見てみるのがオススメです。
AI-DLCの基本的概念を実際のプロンプトとテンプレートとして具体化したリポジトリ
2. やってみた結果
成果物は来週のうるわし会で発表しようと思います。
- 要件定義に関する質問・決定事項各種詳細をまとめたmd
- 各メソッド、依存関係に関するmd
- Unit単位に分けた実装段階の各実装詳細md
(今回は省きましたがユーザーストーリを作成するとこれに加えてペルソナ詳細、ユーザーストーリなども作成されます。)
今回は最初から作りたいものがあったため欲しい機能について概要を渡したうえで質問してもらったので質問数は少なかったです。
3. 沼ポイント
スタンプ機能について
要件段階で問題なく感じ実装したら、実績スタンプと勘違いしていたらしく手戻りが発生した。(例:初めて投稿した記念等)
コークオンアプリのイメージと伝えたら現在のようになったため具体的な既存サービスのイメージがある場合はそのまま指示してあげた方が正確。
感想
-
AI-DLCはAIの育成ゲームのイメージ。人間が要件固めて学習させてそれをもとに作業させてまた要件学習させてって感じ。サービス製作自体に重きを置いて継続開発していきたい人にはおススメ手法です。逆にこの技術面白いから触ってみたいとか、自分でカタカタするのが楽しいって人にはあまりあわないのかなと思います。
-
チーム開発ではうまくはまれば爆速開発できそう。
-
個人開発ではあまり普段と変わらないなと感じた。実装まで行った後、修正作業をしているときにいったん要件の修正に戻るか戻らないかの判断が増えたくらいに感じる。
-
読む量が多いから耐性着くまでが大変っすね。加えて工程が多いので今どのへんやっているかを把握するのがちょっと大変だったりするかも?
来週やりたいこと
-
うるわし会に向けてAI-DLC回してアプリ完成させる。
・Qiitaから記事取得
・週報表示スペース作る
・ディスコに募集リンク投げてくれるようにしたい -
よりワークフローを意識して実装していきたい


