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

# Итог

- **Справилась с одной ошибкой.** Непривычное оформление модель прочитала верно: все 4 отеля и все 10 предложений на месте, цены, даты, ночи и условия верны; минимальная цена «Вылет 26 сентября, 10 ночей (9 ночей в отеле): 80 955 руб.» совпадает с заголовком «Китай, о. Хайнань — от 80 955 ₽».
- Влияет на покупателя одно: место отеля «Бухта Санья» слито с городом «Санья» — страница бухты Санья тур не получит (ошибка 1). Плюс два замечания без влияния на цену.

# Счёт

| Что | В посте | В ответе | Совпадает |
|---|---|---|---|
| Страны | 1 — «Китай, о. Хайнань — от 80 955 ₽» | 1 — Китай, `found_in: заголовок` | да |
| Места мельче страны | 5 — «острове Хайнань», «Бухта Дадунхай», «Бухта Санья», «Бухта Ялонг», город «Санья» из «Санкт-Петербург — Санья — Санкт-Петербург» | 4 — Хайнань, Дадунхай, Санья (город), Ялонг | нет: бухта Санья слита с городом (ошибка 1) |
| Отели | 4 — «Я собрала 10 предложений в 4 отелях на острове Хайнань» | 4, в порядке поста | да |
| Предложения с ценой | 10 — «10 предложений в 4 отелях» (сам пересчитал: 4 + 2 + 2 + 2) | 10 (4 + 2 + 2 + 2) | да |
| Туры без отелей | 0 | 0 | да |
| Дословные поля, не найденные скриптом | — | 0 из 48 | да |

# Как модель справилась с изменённым оформлением

| Отличие от обычного поста | Дословно из поста | Что в ответе | Верно |
|---|---|---|---|
| Место отеля после «—», а не после «•» | «Golden Palm Resort Hotel 4* — Бухта Ялонг» | `hotel_name_as_in_post: "Golden Palm Resort Hotel"`, `hotel_place_names_as_in_post: ["Бухта Ялонг"]` | да |
| Звёзды «5*», «4*» вместо ⭐ | «Ascott Dadonghai Bay Sanya 5* — Бухта Дадунхай» | `hotel_stars: 5`, «5*» в название не попало | да |
| Отель без звёзд | «Guan Hai Lou Hotel — Бухта Дадунхай» | `hotel_stars: null` | да |
| Валюта «руб.» вместо ₽ | «Вылет 28 ноября, 10 ночей (9 ночей в отеле): 104 657 руб.» | `price_as_in_post: "104 657 руб"`, `price_amount: 104657`, `price_currency: "RUB"` | да |
| Строка цены «Вылет …, N ночей (M ночей в отеле): цена» | «Вылет 26 сентября, 10 ночей (9 ночей в отеле): 80 955 руб.» | `departure_date_as_in_post: "26 сентября"`, `nights: 10` | да — первое число ночей, по правилу |
| Наличие мест одной строкой на отель | «Тур с 26.09 — под запрос. Тур с 28.11 — гарантия.» | сомнений про «под запрос» нет, цены записаны обычными предложениями | да |
| Строка «Tripadvisor: 4,2» | «Tripadvisor: 4,2» | в предложения и звёзды не попала | да |

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

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

# Ошибки

| № | Что не так | Дословно из поста | Что в ответе | Как это скажется на покупателе |
|---|---|---|---|---|
| 1 | Место отеля «Бухта Санья» слито с городом Санья: нет записи с типом «бухта или залив», а запись «Санья» помечена `found_in: строка отеля`, хотя в строке отеля стоит «Бухта Санья». У двух других бухт модель родовое слово сохранила — «Бухта Дадунхай», «Бухта Ялонг» | «Sanya Shengyi Seaview Hotel (ex. Shengyi Holiday Villa Hotel Sanya) 5* — Бухта Санья»; город отдельно — «авиаперелет Санкт-Петербург — Санья — Санкт-Петербург» | `places`: `{"place_name_as_in_post": "Санья", "place_type": "город", "place_role_in_trip": "место отеля", "found_in": "строка отеля"}`; записи «Бухта Санья» нет. В самом отеле `hotel_place_names_as_in_post: ["Бухта Санья"]` — верно | Покупатель на странице «бухта Санья» (Sanya Bay) этот тур и цену «от 91 345 руб.» не увидит. Страница города Санья тур получит — это не страдает |

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

| № | Что | Дословно из поста | Что в ответе | Почему не ошибка |
|---|---|---|---|---|
| 2 | Лишнее сомнение про Хайнань с неверной подсказкой | «Я собрала 10 предложений в 4 отелях на острове Хайнань, Китай» | `doubts_comment`: «…при необходимости можно понизить до «только в заголовке или метках»» | Роль в ответе верная — «место отеля». Но подсказка неверна: «только в заголовке или метках» — для мест, которых нет в тексте, а здесь Хайнань в тексте есть. Если человек послушает подсказку, тур уйдёт со страницы Хайнаня |
| 3 | Город Санья как город прилёта отдельно не отмечен | «авиаперелет Санкт-Петербург — Санья — Санкт-Петербург» | одна запись «Санья» с ролью «место отеля» | Роль «место отеля» важнее «города прилёта» по правилу промпта, а отели в Санье и есть («Ascott Dadonghai Bay Sanya»). Замечание только о том, что запись взята из строки отеля, а не из строки перелёта, — связано с ошибкой 1 |

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

- **Новый разделитель прочитан без подсказки.** Промпт описывает только «•», а модель верно отрезала место после «—»: «Guan Hai Lou Hotel — Бухта Дадунхай» → название «Guan Hai Lou Hotel», место «Бухта Дадунхай».
- **Звёзды «5*» поняты как звёзды.** «Sanya Shengyi Seaview Hotel (ex. Shengyi Holiday Villa Hotel Sanya) 5*» → `hotel_stars: 5`, в названии «5*» нет, «(ex. …)» сохранено.
- **«руб.» → RUB**, все 10 сумм совпадают с постом: от «80 955 руб.» до «136 230 руб.».
- **Две строки условий у одного отеля разведены правильно:** «С человека при покупке тура на двоих. Завтраки.» — на 80 955 и 104 657, «Одноместное размещение. Завтраки.» — на 87 612 и 113 158.
- **«Завтраки и ужины.» у Golden Palm перенесены дословно,** а не заменены на соседнюю строку «Завтраки.».
- **Правка v2 про «под запрос» сработала:** на «Тур с 26.09 — под запрос. Тур с 28.11 — гарантия.» модель не сомневается и цены не выбрасывает.
- **Места в названиях отелей найдены, сеть не взята:** «Ascott Dadonghai Bay Sanya» → ["Dadonghai Bay", "Sanya"], без «Ascott».
- **Сверка со словами редактора:** «10 предложений в 4 отелях» → 10 предложений в 4 отелях.

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

- **К ошибке 1** — в шаг 4, раздел «Правила», добавить пункт:
  - «Место с родовым словом — „Бухта Санья“, „Пляж Джумейра“, „Залив Ха Лонг“ — отдельное место своего типа („бухта или залив“, „пляж“). Не сливай его с одноимённым городом: „Бухта Санья“ в строке отеля и „Санья“ в строке перелёта — две записи».
- **К ошибке 1** — в шаг 7 «Сверка» уточнить пункт «Каждое место из строк отелей есть в `places`»:
  - «…причём `place_name_as_in_post` совпадает с тем, что стоит в `hotel_place_names_as_in_post`, — „Бухта Санья“, а не „Санья“».
- **К замечанию 2** — в шаг 7, список «Не повод для сомнения», добавить:
  - «Место из вводной фразы „N предложений в M отелях на острове X“ — место отеля, даже если после „•“ у отелей стоят более мелкие места».
- **К замечанию 2** — в описание роли «только в заголовке или метках» добавить:
  - «Не ставь эту роль, если место хоть раз названо в тексте поста».
- **Без номера ошибки, для устойчивости к оформлению** — в шаг 5 перечислить варианты, которые модель сегодня угадала сама:
  - «Место отеля может стоять после „•“, „—“ или „|“; звёзды — „⭐⭐⭐⭐“, „4*“ или „4 звезды“; валюта — „₽“, „руб.“, „р.“».
