← AIバイブコーディングTips 一覧へ VLM Prompt Tuning / ZOZO TECH BLOG

「職人技」をループに渡してみた

WEARの「似合う」判定に使うVLMのプロンプトは、誤答を見て・原因を考えて・直して・再評価して、を特徴の数だけ繰り返す職人芸だった。1プロジェクトに数週間。ZOZOのデータサイエンス部は、この地道な反復をまるごとClaude CodeのSkillに渡してみた——プロンプトチューニングというクリエイティブな作業は、本当にループに落とし込めるのか、という実務レポートを読む。

この記事で手に入るもの

プロンプトの推論理由(reasoning)を改善の勾配として使うという設計思想と、4つのsub-agentへの分解の仕方。チューニングサイクルが6時間→2.5時間、全体評価が3.5週間→1週間に縮んだ実測値と、人間の判断がどこに残ったかまで。

01 — 何に数週間かかっていたか

「推論→誤答分析→修正→再評価→記録」を特徴の数だけ回す

WEARの「似合う」判定は、全身コーディネート画像から特徴を抽出するVLM(Vision Language Model)のプロンプト精度に左右される。ZOZO TECH BLOG「ループエンジニアリング実践」は、このプロンプトチューニングを「失敗を見る→直す→再評価する」というループとして描く。厄介なのは、アイテム・着こなし・サイズ感などファッション特徴の数だけ、このループを繰り返す必要がある点だ。

人手で回すと、1回のチューニングサイクルに約6時間。誤答分析から全体評価まで含めたサイクル(最大3回)には約3.5週間を要し、試したプロンプトのバージョンは約30回に及ぶこともあったという。プロジェクト単位で数週間、というのが記事の書き出しだ。


02 — 核心

reasoningを「改善の勾配」として使う

記事の核心は一つの比喩に集約されている。「reasoning ≒ 勾配(どの方向に直せば良くなるか)」。VLMが判定を出すときの推論理由(reasoning)を、プロンプトという"パラメータ"を更新するための"勾配"とみなす——プロンプトチューニングを勾配降下法になぞらえる発想だ。

これを実行する/tuneスキルは、4つのsub-agentに役割を分解している。

01

analyzer — 失敗を見る

誤答サンプルのVLM出力・reasoning・画像を読み、何が起きているかを言語化する。

02

planner — 原因を考える

定義と実際の判断のズレ、過検出や見落としのパターンを特定し、改善方針を立てる。

03

improver — プロンプトを直す

定義の補足・例示の追加・曖昧な表現の排除といった具体的な修正をプロンプトに反映する。

04

retrospector — 良し悪しを覚える

効いた施策・悪化した施策をlessons.mdにDO/DONTとして書き残し、次のイテレーションが同じ失敗を繰り返さないようにする。

この4つが行き当たりばったりに動かないよう、optimization-policy.md(改善の優先順位・採用棄却の判定基準・停止条件を集約した単一の方針ファイル)と、prompt-design-strategies.md(Gemini公式のプロンプト設計手法を要約した参照資料)が判断の土台として常時参照される。


03 — 人間はどこに残ったか

自動化しても、判断のすべては渡していない

「クリエイティブな作業までループに任せて大丈夫か」という懐疑への答えが、この記事の一番実務的な部分だ。

開始前の確認は人間がするexperiment_config.json(モデル・パラメータ・最大イテレーション数・データセットなどを集約したファイル)をユーザーが確認してから、自動最適化サイクルが始まる。
初期プロンプトは人間が渡す特徴の定義文だけを列挙した状態からスタートし、そこから先の改善ループをsub-agentに任せる設計。ゼロから発想させてはいない。
定性評価はドメインエキスパートが挟む最大3回の全体評価サイクルの中で、人間による定性的なチェックが組み込まれている。

ここが自動化の落とし穴。ablation実験では、reasoningを参照せずに改善したプロンプトはtest精度0.7983にとどまり、trainには効くがtestで伸びない過学習の兆候を示した。reasoningを参照した条件はtest精度0.8641まで汎化した。「reasoningを勾配として使う」という設計そのものが、単なる思いつきではなく検証された選択だったことが分かる。


04 — 結果と自分の運用への当てはめ

チューニングサイクルは2.4倍、全体評価は3.5倍速くなった

指標人手Claude Code自動化変化
チューニングサイクル約6時間約2.5時間約2.4倍速
全体評価サイクル約3.5週間約1週間約3.5倍速
イテレーション数約30回10〜20回減少
精度(T1タスク・test)0.84730.8641+0.017

スキーマ構造が異なる複数タスク(T1〜T3)すべてで改善が見られ、特定のタスクに過適合した改善ではなかった点も記事は強調している。

個人開発でも、AIに任せる委任プロンプトを書くだけで終わらせず、停止条件と検証の仕組みをセットで設計するという考え方はそのまま応用できる。「reasoningを勾配として使う」の核は、AIの判断理由そのものを次の改善の入力データにするという一般化可能な発想であり、プロンプトチューニングに限らず、誤答分析を伴う反復作業全般に転用できそうだ。

ループの4役割を分けて考える「見る」「考える」「直す」「覚える」を1つのプロンプトに詰め込まず、別々のsub-agentに分担させると、各ステップの検証がしやすくなる。
判断理由を捨てないAIの出した答えだけでなく、なぜその答えを出したかという理由(reasoning)を次の改善の材料として保存する。
開始前の確認ポイントを1つ作る全自動にする前に、設定ファイル1枚を人間が確認してから走らせる、という最小限のゲートを残す。

出典: ZOZO TECH BLOG — ループエンジニアリング実践:プロンプトチューニングをClaude Codeに任せてみた