AIDD 人からの知識移転
AIDDとルール
LLMにルールを守らせたいとして、そのルールは一体どこから来るのか?という問題
100人のテックリードとアーキテクトが居れば、100個の実装ルールがあるというのが現実
世界で統一された実装ルールなんてものは無いので、AIがコードを作る時の「大多数の人の普通と思われる」の実装ルールとはずれてる事の方が多いはず
AIに知識を移転する
AIに知識を渡して、実装ルールに従ってもらう必要がある
これは実装ルールだけじゃ無くて開発の流れだったり、作業手順の細かい部分も含めて人がAIを教育していく必要がある
ただ、独自AIを作るのは莫大なコストと覚悟と時間とトライアンドエラーとガチャ運が必要なので全員が実施するのはだいぶ厳しい
そこで、LLMのコンテキストにルールを渡すことで守ってもらえるようにする必要がある
まずはAIの知識を活用する
AIに知識を渡すためのルールを作る前に、AIが持ってる知識を確認する必要がある
これはAI自身が大量の学習をしているので、下手にルールを渡すよりも「この方法に従って」とか言った方が短いコンテキストで伝わるため
自分のやり方を定義していくときに、グローバルで言うとどういうことなのかを先に特定する
たとえばTDDにも色々な方法があるのでxxxxxのみたいなのを付けることで特定のTDDの流儀を実行しやすくみたいな奴
これが色んな方向で活用可能なので、細かいルールを設定する前にAIの知識を知る必要がある
ズレを調整する
AIが持ってる知識の外側だったり、自分の持ってる知識やこだわりだったりをAIに追加のルールとして渡す
こうやることで、AIの知識+ずれの調整ぶんのコンテキスト消費で割と思った事が出来るようになる
スコープを限定する
ただし、ここまでのやり方では上手くいかない場合があるので、その場合はコマンドだったりのスコープを限定する。スコープを限定することで矛盾してる記述が外れたりする(ある箇所には実装するなと書いて、別の場所には実装しろと書いてる。一つのコマンドがあるとAIが混乱するっぽい)
まとめ
tsumikiもこんな感じで組み立てられてる感じですね(雑
Discussion