---
type: Evaluation
title: "Независимая оценка ответа Haiku — Хайнань в изменённом оформлении 2026-09-23__spb__18924141-changed-format, prompt-v4"
description: "Проверка ответа модели на пост с изменённым оформлением строк («—» вместо «•», «5*» вместо значков, «руб.» вместо «₽»): страна, 5 мест, 4 отеля, 10 предложений, условия цен, перелёт, дословные поля. Ожидаемый ответ агента и скрипт price-v1 не открывались."
resource: trip-places-hotels-prices-llm/posts-one-folder-per-post/2026-09-23__spb__18924141-changed-format/prompt-v4/EVALUATION-independent-check-of-haiku-answer.md
tags: [cheaptrip, llm, haiku, evaluation, china, hainan, changed-format]
generated: { by: claude-code/claude-opus, at: 2026-10-09T09:09:21Z }
status: stable
sources:
  - id: rubric
    resource: trip-places-hotels-prices-llm/prompt-v4/EVALUATION-RUBRIC-for-independent-opus-check-of-haiku-answer.md
    title: Критерии независимой оценки v2
  - id: input
    resource: trip-places-hotels-prices-llm/posts-one-folder-per-post/2026-09-23__spb__18924141-changed-format/prompt-v4/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-v4/ANSWER-haiku-json-for-this-post.json
    title: Ответ Haiku
---

# Итог

**Справилась.** Изменённое оформление прочитано без потерь: 4 отеля, 10 предложений, все цены под своими отелями. Минимальная цена «80 955 руб.» и все три бухты на месте.

# Счёт

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

Предложения по отелям — пост → ответ:

| Отель (дословно) | Строк с ценой в посте | В ответе |
|---|---|---|
| «Guan Hai Lou Hotel» | 4 (2 «С человека…» + 2 «Одноместное размещение…») | 4 |
| «Sanya Shengyi Seaview Hotel (ex. Shengyi Holiday Villa Hotel Sanya)» | 2 | 2 |
| «Golden Palm Resort Hotel» | 2 | 2 |
| «Ascott Dadonghai Bay Sanya» | 2 | 2 |

# Ошибки

Ошибок нет.

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

| № | Что не так | Дословно из поста | Что в ответе | Как это скажется на покупателе |
|---|---|---|---|---|
| З1 | Это вопрос к правилу промпта, не к модели. Город Санья получил роль «город прилёта», хотя все три бухты подборки находятся на территории города Санья. Модель сделала ровно то, что велит промпт: «Бухта Санья» и город Санья — разные места; слово «Sanya» в названии отеля «не в счёт». | «— прямой авиаперелет Санкт-Петербург — Санья — Санкт-Петербург (а/к Аэрофлот);» и «Sanya Shengyi Seaview Hotel (…) 5* — Бухта Санья» | Санья — «город», «город прилёта», «состав тура «В стоимость включено»» | Если программа не выводит туры на страницу города прилёта, покупатель на странице «Санья» тур не увидит, хотя все 4 отеля — в Санье. По цели «пропуск хуже лишнего» это стоит решить в программе. |

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

- **Новое оформление строк отеля понято.**
  - «Sanya Shengyi Seaview Hotel (ex. Shengyi Holiday Villa Hotel Sanya) 5* — Бухта Санья»: название без «5*» и без места, `hotel_stars` = 5, место после «—» → «Бухта Санья».
  - «Golden Palm Resort Hotel 4* — Бухта Ялонг» → 4 звезды, «Бухта Ялонг».
- **Нет звёзд — нет звёзд.** «Guan Hai Lou Hotel — Бухта Дадунхай» без звёзд → `hotel_stars: null`, а не выдуманное число. Отель всё равно распознан: под строкой есть условия и цены.
- **Новая строка цены разобрана верно.** «Вылет 26 сентября, 10 ночей (9 ночей в отеле): 80 955 руб.»:
  - `departure_date_as_in_post` = «26 сентября»;
  - `nights` = 10 — первое число, не 9;
  - `price_as_in_post` = «80 955 руб.» вместе с точкой;
  - `price_amount` = 80955, `price_currency` = RUB.
- **Даты с годом.** При публикации «2026-09-23»: «26 сентября» → 2026-09-26 (через 3 дня, год тот же), «28 ноября» → 2026-11-28.
- **Условия цены.**
  - «С человека при покупке тура на двоих. Завтраки.» и «Одноместное размещение. Завтраки.» у «Guan Hai Lou Hotel» разведены по своим ценам.
  - У «Golden Palm Resort Hotel» строка своя: «… Завтраки и ужины.».
- **Хайнань взят из текста, а не из заголовка.** Фраза «Я собрала 10 предложений в 4 отелях на острове Хайнань» → «острове Хайнань», в именительном «остров Хайнань», роль «место отеля» — как велит шаг 4.
- **Бухта и город — две записи.** «Бухта Санья» (бухта, место отеля) и «Санья» (город прилёта) не склеены.
- **Места внутри названий отелей.**
  - «Ascott Dadonghai Bay Sanya» → «Dadonghai Bay», «Sanya».
  - «… Hotel Sanya» → «Sanya».
  - В `places` вторые записи не добавлены: Дадунхай уже есть после «—», город Санья — отдельной записью.
- **Перелёт.** `flight_included: true` у всех 10 цен. Доказательство — «прямой авиаперелет Санкт-Петербург — Санья — Санкт-Петербург (а/к Аэрофлот)».
- **Город вылета.** «Вылет из Санкт-Петербурга» → «Санкт-Петербурга» / «Санкт-Петербург», в `places` его нет.
- **Не предложения не попали в `offers`.** «страховка от невыезда (по желанию)» и «возвратный депозит при заселении» не записаны.
- **«Под запрос» не стал сомнением.** «Тур с 26.09 — под запрос. … Тур с 28.11 — гарантия отеля» → цены обычные, `doubts_comment` пуст.
- **Дословные поля.** Скрипт проверил 49 полей, не найдено 0 — разбирать нечего.

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

- Ошибок модели нет — правок промпта, которые их предотвращают, нет.
- **З1 — правка не в промпте, а в правиле вывода на страницы.** Промпт трогать не нужно: роль «город прилёта» передаёт пост честно. Решение — в программе: выводить тур на страницу города прилёта, если места отелей подборки лежат в этом городе («Бухта Санья», «Бухта Дадунхай», «Бухта Ялонг» → Санья). Если всё же решат править промпт — в описание роли «город прилёта» добавить: «Если отели подборки стоят в бухтах или районах этого же города, роль — „место отеля"».
