モデル比較用のアプリを何か作ろうとしていました。
最初は、簡単なToDoアプリでもいいかなと思いました。
でも、それだとモデルごとの差があまり出なさそうです。
逆に、最初から大きなサービスを作ろうとすると、比較する前に仕様と実装が終わらなくなります。
そこで、AIメモ整理アプリくらいがちょうどよさそうだと考えました。
メモを入れると、AIが整理する
入力したメモに対して、AIがタイトル、要約、タグ、次のアクションを提案します。
提案結果はそのまま保存するのではなく、ユーザーが編集してから確定します。
保存済みのメモは検索と絞り込みができるようにします。
AIが返した内容を表示するだけなら、短いサンプルでも作れます。
でも、提案を直して保存するところまで含めると、状態管理や失敗時の表示が必要になります。
モデルの性能を見る題材としても、単なるチャット画面よりは面白そうでした。
同じ仕様を渡す
比較で大事なのは、モデルごとに違うアプリを作らせないことです。
共通の仕様書に、入力、AIの出力、編集、保存、検索、バリデーション、失敗時の扱いを書きます。
その下にモデルごとのディレクトリを分けて、成果物を混ぜないようにします。
実装後は、見た目だけでなく、どこまで仕様を満たしたか、エラーをどう扱ったか、検証に何を使ったかを比べます。
コードの量だけでは、使いやすさや保守しやすさは分かりにくいです。
なので、比較記録も最初から置いておくことにしました。
クラウドで動かそうとして止まった
ローカルのサンプルをリモートリポジトリ経由でクラウド環境に接続し、モデルごとの実装を動かすところまで進めようとしました。
ここで、クラウド側の接続待ちが長く続きました。
タスクが作られたことと、リポジトリが接続されて実装が始まったことは別です。
結局、接続が確認できないまま処理を止めました。
実装が完成したことにはしていません。
このあたりは少し地味ですが、実験環境を作る時には重要でした。
「依頼を送った」「タスクが存在する」だけでは、比較対象のコードができた証拠になりません。
おわり
モデル比較は、モデルにコードを書かせるところから始まると思っていました。
実際には、同じ仕様をどう切り出すか、成果物をどう分けるか、実行できたことをどう確認するかの方が先でした。
AIメモ整理アプリは小さめですが、入力から提案、編集、保存、検索まで一通り流れがあります。
この形なら、モデルごとの実装の違いも見やすそうです。
まだ比較結果までは出ていません。
まずは、同じ条件で比べられる場所を作るところからです。