---
type: Evaluation
title: "Независимая оценка ответа Haiku — 2026-09-23__spb__18924141-changed-format (Хайнань, изменённое оформление), prompt-v3"
description: "Оценщик Claude Opus сверил ответ модели с постом по критериям v3: страны, места, отели, 10 предложений, цены, даты, условия, категория номера, перелёт, дословные поля, сомнения. Ожидаемый ответ агента, ответ prompt-v2 этого поста и скрипт price-v1 не открывались."
resource: trip-places-hotels-prices-llm/posts-one-folder-per-post/2026-09-23__spb__18924141-changed-format/prompt-v3/EVALUATION-independent-check-of-haiku-answer.md
tags: [cheaptrip, llm, haiku, evaluation, prompt-v3]
generated: { by: claude-code/claude-opus, at: 2026-10-09T09:05:39Z }
status: stable
sources:
  - id: rubric
    resource: trip-places-hotels-prices-llm/prompt-v3/EVALUATION-RUBRIC-for-independent-opus-check-of-haiku-answer.md
    title: Критерии независимой оценки v2 (папка prompt-v3)
    author: claude-code/claude-opus-5-5
    last_modified: 2026-10-09
  - id: input
    resource: trip-places-hotels-prices-llm/posts-one-folder-per-post/2026-09-23__spb__18924141-changed-format/prompt-v3/INPUT-user-message-exactly-as-sent-to-haiku.md
    title: Пост, ровно как его видела модель
    author: process:SCRIPT-run-haiku-on-one-post-and-save-prompt-input-answer-to-post-folder
    last_modified: 2026-10-09
  - id: answer
    resource: trip-places-hotels-prices-llm/posts-one-folder-per-post/2026-09-23__spb__18924141-changed-format/prompt-v3/ANSWER-haiku-json-for-this-post.json
    title: Ответ Haiku
    author: claude-haiku-5-5
    last_modified: 2026-10-09
  - id: check
    resource: trip-places-hotels-prices-llm/posts-one-folder-per-post/2026-09-23__spb__18924141-changed-format/prompt-v3/CHECK-as-in-post-fields-found-in-post-text-report.md
    title: Отчёт скрипта о дословных полях
    author: process:SCRIPT-check-as-in-post-fields-occur-literally-in-post-text
    last_modified: 2026-10-09
  - id: prompt
    resource: trip-places-hotels-prices-llm/posts-one-folder-per-post/2026-09-23__spb__18924141-changed-format/prompt-v3/PROMPT-system-exactly-as-sent-to-haiku.md
    title: Системный промпт v3, как его получила модель
    author: process:SCRIPT-run-haiku-on-one-post-and-save-prompt-input-answer-to-post-folder
    last_modified: 2026-10-09
---

# Итог

- **Справилась с одной мелкой ошибкой.** Все 10 предложений в 4 отелях — с верными ценами, датами, ночами и условиями. Изменённое оформление («5*», «—» вместо «•», «руб.») прочитано без потерь.
- Влияет на покупателя только роль острова Хайнань: «место по маршруту или программе» вместо «место отеля» (ошибка №1). Если программа выводит цену «от» на страницу острова только по местам отелей, страница Хайнаня может остаться без этой подборки.

# Счёт

| Что | В посте | В ответе | Цитата поста |
|---|---|---|---|
| Страны | 1 — Китай | 1 — Китай | «Китай, о. Хайнань — от 80 955 ₽ с прямым перелетом» |
| Места мельче страны | 5 — остров Хайнань, Бухта Дадунхай, Бухта Санья, Бухта Ялонг, город Санья | 5 — те же | «на острове Хайнань»; «— Бухта Дадунхай»; «— Бухта Санья»; «— Бухта Ялонг»; «авиаперелет Санкт-Петербург — Санья — Санкт-Петербург» |
| Места внутри названий отелей | Sanya, Dadonghai (оба уже есть в `places` как город Санья и Бухта Дадунхай) | Sanya; Dadonghai, Sanya | «Sanya Shengyi Seaview Hotel»; «Ascott Dadonghai Bay Sanya» |
| Отели | 4 | 4, в порядке поста | «Я собрала 10 предложений в 4 отелях на острове Хайнань» |
| Предложения | 10 (4 + 2 + 2 + 2) | 10 (4 + 2 + 2 + 2) | «10 предложений в 4 отелях» |
| Дословные поля | — | 49 проверено, 0 не найдено | отчёт скрипта: «Все дословные поля найдены в посте.» |

## Предложения построчно

| Отель | Строка поста | Условия над ценой | В ответе |
|---|---|---|---|
| Guan Hai Lou Hotel | «Вылет 26 сентября, 10 ночей (9 ночей в отеле): 80 955 руб.» | «С человека при покупке тура на двоих. Завтраки.» | 2026-09-26, 10 ночей, 80955, «с человека при покупке на двоих» — верно |
| Guan Hai Lou Hotel | «Вылет 28 ноября, 10 ночей (9 ночей в отеле): 104 657 руб.» | та же | 2026-11-28, 10, 104657 — верно |
| Guan Hai Lou Hotel | «Вылет 26 сентября, 10 ночей (9 ночей в отеле): 87 612 руб.» | «Одноместное размещение. Завтраки.» | 2026-09-26, 10, 87612, «одноместное размещение» — верно |
| Guan Hai Lou Hotel | «Вылет 28 ноября, 10 ночей (9 ночей в отеле): 113 158 руб.» | та же | 2026-11-28, 10, 113158, «одноместное размещение» — верно |
| Sanya Shengyi Seaview Hotel (…) 5* | «Вылет 26 сентября, …: 91 345 руб.» / «Вылет 28 ноября, …: 116 216 руб.» | «С человека при покупке тура на двоих. Завтраки.» | 91345 и 116216 — верно |
| Golden Palm Resort Hotel 4* | «Вылет 26 сентября, …: 112 843 руб.» / «Вылет 28 ноября, …: 130 023 руб.» | «С человека при покупке тура на двоих. Завтраки и ужины.» | 112843 и 130023, условия с ужинами — верно |
| Ascott Dadonghai Bay Sanya 5* | «Вылет 26 сентября, …: 127 190 руб.» / «Вылет 28 ноября, …: 136 230 руб.» | «С человека при покупке тура на двоих. Завтраки.» | 127190 и 136230 — верно |

## Проверка по пунктам задания

1. **Страны** — верно. Китай из заголовка «Китай, о. Хайнань»; страна вылета Россия не записана.
2. **Места** — все 5 найдены, типы верны («Бухта …» → «бухта или залив», «о. Хайнань» → «остров», «Санья» → «город»). Роль острова — ошибка №1, роль города Санья — замечание З1.
3. **Отели** — 4 из 4, порядок поста. Звёзды из нового оформления прочитаны: «Sanya Shengyi Seaview Hotel (ex. Shengyi Holiday Villa Hotel Sanya) 5*» → 5, «Golden Palm Resort Hotel 4*» → 4, «Ascott Dadonghai Bay Sanya 5*» → 5, у «Guan Hai Lou Hotel — Бухта Дадунхай» звёзд нет → `null`. Место после «—» вынесено в `hotel_place_names_as_in_post`. Слова «Hotel», «Resort», «Bay» местами не посчитаны.
4. **Предложения** — 10 из 10, лишних и чужих нет. Не взяты в предложения: «страховка от невыезда (по желанию)», «возвратный депозит при заселении», «Есть другие отели и срок проживания.» — верно, цен у них нет.
5. **Числа и даты** — пост от «2026-09-23»: «26 сентября» → 2026-09-26, «28 ноября» → 2026-11-28 — верно. «10 ночей (9 ночей в отеле)» → 10 — первое число, верно. Валюта «руб.» → RUB.
6. **Условия цены** — каждая цена привязана к ближайшей строке условий над ней; смена условий у Guan Hai Lou («Одноместное размещение. Завтраки.») подхвачена. `room_category_as_in_post: null` у всех — верно, особых категорий номера в посте нет.
7. **Перелёт** — `flight_included: true` у всех 10, доказательство — «прямой авиаперелет Санкт-Петербург — Санья — Санкт-Петербург (а/к Аэрофлот)», дословно из «В стоимость тура включено».
8. **Дословные поля** — скрипт не нашёл расхождений: «Не найдено в посте: 0». Разбирать нечего.
9. **Сомнения** — `doubts_comment` пустой — уместно. «Тур с 26.09 — под запрос — отель проверит, есть ли место» — по промпту не повод для сомнения, модель правило соблюла. Строка «Виза: для поездок в Китай в период с 15.09.2025 по 14.09.2026» устарела к дате вылета, но не меняет ни места, ни цены, ни даты — сомнение здесь не нужно.

# Ошибки

| № | Что не так | Дословно из поста | Что в ответе | Как это скажется на покупателе |
|---|---|---|---|---|
| 1 | Остров Хайнань — место, где стоят все 4 отеля, но роль дана «место по маршруту или программе», а дословное название и `found_in` взяты из заголовка, хотя роль лучше видна в тексте. Промпт прямо требует: «если в месте есть отель, роль — «место отеля»». | «Я собрала 10 предложений в 4 отелях на острове Хайнань, Китай.» | `"place_name_as_in_post": "о. Хайнань"`, `"place_role_in_trip": "место по маршруту или программе"`, `"found_in": "заголовок"` | Если страница острова Хайнань берёт цену «от» только из мест с ролью «место отеля», покупатель на этой странице не увидит подборку и цену «от 80 955 ₽». Если программа выводит тур и по роли «по маршруту» — вреда нет. |

## Замечания (не ошибки)

| № | Что | Дословно из поста | Что в ответе | Почему не ошибка и чем может помешать |
|---|---|---|---|---|
| З1 | Город Санья записан с ролью «город прилёта», хотя по определению в промпте эта роль — для города, где «отелей там нет», а «Sanya» стоит в названиях двух отелей подборки. | «прямой авиаперелет Санкт-Петербург — Санья — Санкт-Петербург»; «Sanya Shengyi Seaview Hotel»; «Ascott Dadonghai Bay Sanya 5*» | `"place_name_as_in_post": "Санья"`, `"place_role_in_trip": "город прилёта"`; «Sanya» — в `place_names_inside_hotel_name_as_in_post` двух отелей | Модель сделала ровно то, что велит пример в промпте («город Санья в «перелет Санкт-Петербург — Санья» — две записи, каждая со своим типом и ролью»). Но на странице города Санья подборка может не показаться, хотя все отели стоят в Санье. Это противоречие промпта, а не промах модели. |

# Что сделано хорошо

- **Новое оформление строк не сбило модель.** Разделитель «—» вместо «•»: «Golden Palm Resort Hotel 4* — Бухта Ялонг» → отель «Golden Palm Resort Hotel», 4 звезды, место «Бухта Ялонг». Цена «80 955 руб.» → 80955 RUB.
- **Отель без звёзд не потерян.** «Guan Hai Lou Hotel — Бухта Дадунхай» → `hotel_stars: null`, 4 предложения.
- **Две строки условий у одного отеля разведены.** Цены «87 612 руб.» и «113 158 руб.» привязаны к «Одноместное размещение. Завтраки.», а не к строке «С человека…» выше.
- **Бухта и город с одним именем — две записи.** «Бухта Санья» — «бухта или залив», «место отеля»; «Санья» из перелёта — «город».
- **Места внутри названий выписаны.** «Ascott Dadonghai Bay Sanya» → «Dadonghai», «Sanya»; «Bay» местом не посчитан.
- **«Под запрос» не превращено в сомнение.** «Тур с 26.09 — под запрос. Тур с 28.11 — гарантия.» — цены под ними взяты как обычные предложения.
- **Счёт сошёлся с редактором.** «10 предложений в 4 отелях» → 10 предложений в 4 отелях.

# Что поправить в промпте

- **К ошибке №1** — в «Шаг 4. Места мельче страны», раздел «Правила», после строки «Место отеля важнее остальных ролей…» добавить:
  - «Остров, регион или город, где стоят все отели подборки («10 предложений в 4 отелях на острове Хайнань»), — тоже «место отеля», даже если он есть в заголовке. `place_name_as_in_post` и `found_in` бери из этой фразы текста («острове Хайнань», «другой текст поста»), а не из заголовка.»
- **К ошибке №1** — в разделе «Что здесь важно» примера добавить строку: «„о. Бали“ — роль „место отеля“, а не „по маршруту“: в нём стоят отели подборки („10 ночей на о. Бали в отеле на выбор“).» Сейчас пример даёт верную роль, но не объясняет почему, и модель не перенесла правило на Хайнань.
- **К замечанию З1** — решить человеку, какая роль у города прилёта, который стоит и в названии отеля. Вариант формулировки для определения «город прилёта» в `$defs.place_role_in_trip`:
  - «„город прилёта“ — город, куда прилетает самолёт тура, если ни один отель подборки не стоит в нём и не несёт его имя в названии. Если имя города есть в названии отеля („Ascott Dadonghai Bay Sanya“) — роль „в названии отеля“.»
  - И поправить пример в правиле «Одно место — одна запись» про Санью, чтобы он не противоречил новому определению.
