結論: 「生成→評価→学習」のループを自動化した
AI画像生成で一番面倒なのは「作ること」ではなく「選ぶこと」だ。1枚3〜4分で量産できる一方、数百枚のストックから好みの1枚を見つけ、その傾向を次の生成に反映するのは手作業では追いつかない。
そこで作ったのが、アイドル時に自動生成 → スマホのスワイプで評価 → 好みを学習して次の生成に反映するループだ。画像生成はローカルのComfyUIで完結するので、API課金ゼロで動く。
システム構成
- 生成デーモン: マシンがアイドル(負荷2.0未満)のとき自動生成し、ストックを蓄積(上限200枚で停止)。macOSならlaunchdで常駐化して再起動後も自動復帰
- 評価UI: スマホのブラウザからアクセスするスワイプ評価画面。右スワイプ=良い、左スワイプ=ぼつ。LAN内+トークン認証で自分だけがアクセス可能(画像生成の内容がプライベートでも安心)
- ギャラリー: 良い評価の画像だけが自動でギャラリーに蓄積される。タップで原寸表示

フィードバックループの実装ポイント
- 重み付き選択: シナリオごとのgood率を集計し、
重み = 1 + (good-bad) ÷ (good+bad) × 2で選択確率を調整。評価データがなければ均等に生成 - バッチ反映: 5枚生成ごとにフィードバックをまとめて反映。毎回反映すると重みがチョコチョコ変わって生成が不安定になる
- シード近傍生成: 良い評価が付いたシードの±5を10%の確率で生成。「好みの延長線上」を狙う
- モデルも可変: 2つのモデル(アニメ寄り/実写寄り)を使い分け、評価で生き残る方を自動選択。悪い評価が続いた要素は重みが0になり自然淘汰される
実測データ
- 生成ペース: 約12枚/時(1枚4〜5分・768×1024+高解像度化)
- ストック200枚で約400MB。ディスクの心配はほぼ無し
- フィードバック反映後、低評価シナリオの生成比率が明確に低下(100回シミュレーションで6%まで減衰)
ハマった罠
- キュー飢餓: 複数スクリプトが同時にComfyUIへ生成を投げると、待ち行列に押し出されてタイムアウトする。対策は「ComfyUIのキューが空くのを待ってから次のジョブを投げる」
- シード使い回し: 別のプロンプトに同じシードを使うと不自然な絵になる。1枚1枚を新シードで生成するのが正解
応用
この「生成→評価→重み付け」のループは画像に限らない。テキスト生成の文体、商品レコメンド、UIデザイン案など、「大量生成+人間の好み」が絡む場所ならどこにでも転用できる。生成AIが日常化した今、勝負どころは「どう選び、どう育てるか」の方に移っている。
