🤖

AIDD ガチャ

に公開

これはなに?

AI駆動開発のガチャ問題をぼんやり考えてた

AI駆動開発で、困るのが欲しいコードが生成されない問題。欲しいコードが出てくるまで並列・何度もコードを生成する必要があるのでガチャ問題

ガチャはなんで起きる?

ガチャはなんで起きるのか?
というか、LLMを使わずに複数の人に依頼しても同じコードが出来ることは無いので、ある種ガチャは常についてくる問題
AI駆動開発をする上でなんでガチャになるのかというと、人に並列で何度も同じ依頼を続けるのが道義上NGなのに、AI相手なら可能なのでガチャ問題が発生する
そして、AIはシード値がRandomなので毎回しっかり異なるモノが生成される
なので、ガチャは人力で開発してた昔からあったしAIのガチャは回避不可能なもの

ガチャは問題?

ガチャが起きるのは回避不可能として、ガチャは問題なのか?という問題
並列で何度もAIに生成を依頼していればそのうち欲しいコードが出てくるとして、仮にその確率を10%くらいと仮定すると、10回生成すれば大体欲しいものが出てきてるはず
だったら特に問題ないのでは?という疑問が出てくる
どれを選択するのかの判断が自動で行われるなら、たぶんガチャは問題ない。でもAIが10回生成したコードを全部人力でチェックしているとガチャは問題になる
ここで、人力チェック問題が出てくる
人は依頼する -> コード確認して採用・不採用を決める ->(いか繰り返し
となると...人のコード確認からの採用・不採用決定速度がボトルネックになる
AIDDの速度が人のコード確認速度に依存する

開発速度を上げるためにはガチャの解決が必要

AIDDの利用目的はAIを利用してリリースまでの時間を短くすること(開発速度の向上)にあるはずなので、ガチャを続ける限り開発速度はある程度で頭打ちになる(または遅くなる)可能性が高い
じゃあどうやってガチャを解決するのか?
よくある方法論としてはガードレールの設定、ステップの切り分け、プロンプトの改善...etc
と色々あってそれらを各自が勉強して改善していくか、tsumikiやcc-sddd等の公開されているモノを利用して初期のガードレールとして利用して、そこから改善していくか
という感じになりそうな気がする

個人的結論

AIDDの速度が「人のコード確認速度に依存する」のであればガチャは問題で解決が必要な認識
ガードレールの設定などでガチャ問題が改善されるならそれは試してみる価値はあるという認識
最終的には人は全体的なコードの確認をせずにAIが作ったコードを(部分的に確認するだけで)受け入れることになるんじゃないかと思った

Discussion