# ラーメン豚山 スープ画像評価プロンプト方針

この文書は、ラーメン豚山の寸胴鍋・大鍋・スープ釜内のスープ画像をAIで評価する際の固定方針です。  
他チャットルームや別担当者に引き継ぐ場合も、この方針を基準にしてください。

## 目的

画像だけで、厨房内の鍋に入っているラーメンスープの見た目状態を評価する。

評価対象は完成した丼ではなく、寸胴鍋・大鍋・スープ釜の中のスープ表面です。

## 共通ルール

- 出力は必ずJSONのみ。
- Markdown、コードブロック、前置き、補足説明は出力しない。
- 味、香り、塩分、Brix値は画像から推定しない。
- Brixは別入力として扱う。
- 静止画像なので、対流速度、泡の動き、湯気の流れなど時間変化が必要な判断はしない。
- 撮影不備とスープ品質の低評価は分ける。
- 撮影不備が強い場合は `assessable=false` または `retake_recommended=true` にする。
- 丼、麺、盛り付けは評価対象外。
- 鍋内の具材は、濃度や水位の見え方を判断する補助情報としてのみ使う。
- 画像だけで断定できない場合は「画像上は〜に見える」と表現し、`confidence` を下げる。

## 観察と過大評価の抑制（採点は必ず行う）

採点する前に、まず画像に写っているものを事実として正確に把握する。`summary` の冒頭に
「何が写っているか（鍋／液体／具材の種類・量・状態／仕込み工程か提供前か）」を事実として記述し、
その観察に基づいて各項目を判定する。**写っている内容を正確に反映した点数を出すことが目的**であり、
評価対象外にしたり採点を放棄したりはしない（`判定不可` は液面が本当に視認できない場合に限る）。

過大評価の抑制（重要）:

- 各項目は「明らかに良い」と確認できる場合にのみ良い状態とする。確信が持てないのに「良い」「良好」に倒さない。
- 液面の大部分が具材・網包み肉・生肉・脂・泡で覆われ、泡のない液体本体を十分に観察できない場合は、
  良い状態と判断せず、実際に見えている範囲に基づいて**現実的な非良好の状態**を選ぶ（例: 水位不足、油感が強い、弱い 等）。
  併せて `image_condition_score` と各 `confidence` を下げる。
- 仕込み・下処理段階（生肉・半生肉・塊肉・骨・ガラが主体で、仕上がったスープ表面になっていない）に見える場合は、
  「提供前の良いスープ」とはみなさない。見えている状態をそのまま評価し、安易に高評価へ倒さない。
- 具材が写っていること自体は減点理由ではないが、**具材が主で液体本体が十分に見えない構図を「良い」と評価しない**。
- 迷ったら、良い側ではなく実際に見える状態に忠実な側へ倒す。

## 固定評価項目

評価項目は以下で固定します。

- `photo_quality`
- `visual_density`
- `water_level`
- `oil_emulsification`
- `boiling_heat_state`

## visual_density 方針

`visual_density` は、画像上の見た目からスープ濃度だけを `10 / 11 / 12 / 13 / 14 / 判定不可` で判定する。

水位、火力、具材量、撮影角度、鍋の大きさは評価しない。

判定対象は、泡、湯気、脂膜、白い膜、沸騰面、具材表面を除いた「液体本体」です。  
白い面積の広さではなく、泡のない液体部分の透明感、白濁度、色、厚み、具材輪郭の見え方を優先します。

判定手順:

1. 泡、湯気、白い脂膜、白い具材表面ではなく、液体が直接見えている部分を複数箇所見る。
2. 液体部分が「薄茶色に透けている」のか、「白濁ベージュに濁っている」のかを見る。
3. 具材や脂身の輪郭が、液体越しにはっきり見えるか、少しぼやけるかを見る。
4. 白い泡や脂膜の量ではなく、茶色い液体部分そのものの濁り具合で判定する。

濃度基準:

- `10`: 透明感が強い。黄色〜薄茶色で、具材輪郭や肉の赤みが見えやすい。白濁や乳化が弱く、サラサラに見える。
- `11`: 薄め。液体本体は淡い白ベージュ〜薄茶色で、透明感が残る。泡や脂膜が広くても、泡のない液体部分が薄茶色に透け、具材、脂身、肉の輪郭が比較的はっきり見える場合は11とする。白い部分と茶色い液体部分の境界が分かれて見える場合も11寄り。
- `12`: 標準。液体本体が白濁ベージュ〜濁った薄茶ベージュで、11より透明感が弱い。茶色い部分や具材輪郭が一部見えていても、泡のない液体部分そのものに乳化した濁りと標準的な厚みがある場合は12とする。具材輪郭は完全に消えなくてもよいが、液体越しにややぼやけて見える。
- `13`: 濃い。液体本体がクリーミーな白ベージュで、透明感がかなり弱い。具材輪郭は見えにくく、液体そのものに明確な厚みと不透明感がある。
- `14`: かなり濃い。表面がもったり重く、液体本体の不透明感が非常に強い。泡、乳化層、脂膜も厚く、具材輪郭がかなり見えにくい。

11と12の境界:

- 11は薄い白濁。薄茶色の透け感が主で、白さは泡、脂膜、具材表面による影響が大きい。
- 12は標準的な白濁。茶色い部分が残っていても、液体本体が濁ったベージュで、薄茶色の透明感が弱い。
- 具材が見えるだけで11にしない。12でも具材や脂身の輪郭は一部見える。
- 茶色い部分があるだけで11にしない。12でも茶色いスープ部分は一部残る。
- 白い泡や脂膜が広いだけで12にしない。液体本体が薄茶色に透けていれば11とする。

11と12で迷う場合は、次の3点で決める。

1. 泡のない液体本体が薄茶色に透ける → 11。白濁ベージュに濁る → 12。
2. 具材輪郭がはっきり見える → 11。液体越しに少しぼやける → 12。
3. 白い部分と茶色い液体が分離して見える → 11。液体全体に濁りが回って見える → 12。

上記3点のうち2点以上が11寄りなら11、2点以上が12寄りなら12とする。

注意:

- 泡、湯気、沸騰、脂膜、白い具材表面の白さだけで濃度を高くしない。
- `confidence` が中であることだけを理由に11へ下げない。
- 12は完全な不透明や均一な白濁を必要としない。
- 標準的な乳化感があり、液体本体の透明感が11より弱ければ12とする。
- 液体本体がほとんど確認できない場合は `判定不可` も検討する。

## water_level 方針

`water_level` は水位だけを `水位良好 / 水位不足 / 判定不可` で判定する。

スープの色、濃度、脂、泡、火力、乳化、ガラ感は評価しない。

見る点:

- 液面が鍋内側高さの6割以上なら水位良好寄り、半分以下なら水位不足寄り。
- 液面から鍋縁までの空きが狭ければ良好、上側の余白が大きければ不足。
- 具材の7割以上が液面下なら良好。
- 3割以上が液面上に大きく露出し、具材の隙間に少量のスープがあるように見えるなら不足。

注意:

- 具材が見えているだけでは不足にしない。
- 具材が液体に包まれて浮いていれば良好。
- 泡や白い膜だけで不足にしない。
- 液面や鍋縁が確認できない場合は判定不可。

## oil_emulsification 方針

`oil_emulsification` は油感と乳化状態だけを判定する。

選択肢:

- `油感が強い`
- `乳化が進んでいる`
- `乳化しすぎ`
- `油感と乳化の状態が良い`
- `判定不可`

水位、濃度、火力、具材量、鍋の大きさ、撮影角度は評価しない。

判定優先順位:

1. 透明〜半透明の茶色い油膜が大きく分離し、光沢が強く、白い泡やスープとの境界が明確 → `油感が強い`
2. 油膜分離は少ないが、液体全体が白く重く均一化し、茶色いスープ部分が少ない → `乳化しすぎ`
3. 油膜分離は少なく、全体に白濁感があり、白ベージュ〜クリーム色にまとまっている → `乳化が進んでいる`
4. 白い部分、茶色い部分、泡、脂が自然に混在し、強い分離も過乳化もない → `油感と乳化の状態が良い`

注意:

- 茶色いスープが見えるだけで油感が強いにしない。
- 白い泡が多いだけで乳化や過乳化にしない。
- 液体そのものの白濁と油膜分離を見る。
- 表面が確認できない場合は判定不可。

## boiling_heat_state 方針

`boiling_heat_state` は沸騰・火力を `良い / 強すぎる / 弱い / 判定不能` で判定する。

静止画像で確認できる泡立ち、液面の荒れ、表面の乱れだけを見る。  
対流速度、泡の動き、湯気の流れは判断しない。

## photo_quality 方針

`photo_quality` は撮影品質を `良い / 湯気が多い / 白飛び / 暗い / 角度不良 / 判定不能` で判定する。

見る点:

- スープ表面の見え方
- 液面と鍋縁の確認可否
- 湯気
- 白飛び
- 暗さ
- 色かぶり
- 影
- 反射
- ブレ
- 遮蔽

## JSONスキーマ

```json
{
  "assessable": true,
  "retake_recommended": false,
  "image_condition_score": 0,
  "visual_density": {
    "value": "10 / 11 / 12 / 13 / 14 / 判定不可",
    "reason": "透明感、色、表面の厚み、具材の見え方の根拠を1〜3文で説明",
    "confidence": "高 / 中 / 低"
  },
  "water_level": {
    "state": "水位良好 / 水位不足 / 判定不可",
    "reason": "液面の高さ、鍋内壁の空き、具材の沈み具合の根拠を1〜3文で説明",
    "confidence": "高 / 中 / 低"
  },
  "oil_emulsification": {
    "state": "油感が強い / 乳化が進んでいる / 乳化しすぎ / 油感と乳化の状態が良い / 判定不可",
    "reason": "油膜の分離、白濁の均一感、表面の重さ、茶色いスープ部分の残り方を根拠に1〜3文で説明",
    "confidence": "高 / 中 / 低"
  },
  "boiling_heat_state": "良い / 強すぎる / 弱い / 判定不能",
  "photo_quality": "良い / 湯気が多い / 白飛び / 暗い / 角度不良 / 判定不能",
  "deduction_reasons": ["理由1", "理由2"],
  "craftsperson_check_points": ["確認したい点1", "確認したい点2"],
  "summary": "短い文章で評価理由を説明"
}
```

## 変更禁止・注意事項

- `visual_density` の11/12境界ルールは固定する。
- 「泡が白いから12」「具材が見えるから11」のような単独判定は禁止。
- 濃度は液体本体を見る。泡、湯気、脂膜、白い膜、沸騰面、具材表面の白さに引っ張られない。
- 水位、濃度、油感・乳化、火力、撮影品質は混ぜて評価しない。
- `confidence` が中であることだけを理由に低い濃度へ倒さない。
- Brixは画像から推定しない。
