# Opus Prompt Improvement — Few-Shot + Domain Glossary Дата: 2026-06-23 | Источник: Opus (раунд 3, старый чат) Связано: llm_prompt.py, prompt-strategy.md, provenance-columns.md --- ## Что попросили у Opus Улучшить промпты для extract (первый документ) и diff (сравнение ДС). Ключевые требования: - Few-shot примеры на домене ЦОД/colocation - Доменный глоссарий (кВт, юнит, стойко-место, IP, каналы) - Edge-cases инструкция - JSON-формат не менять - Новые actions не добавлять ## Что Opus выдал ### EXTRACT - Добавлен доменный глоссарий - 1 few-shot пример (стойко-место + IP-адрес) - Усилены правила чисел и null ### DIFF - Добавлен доменный глоссарий - 4 few-shot примера: 1. `partial`, UPDATE цены 2. `partial`, ADD + UPDATE qty + UPDATE мощности (внутри name) 3. `full_replace` (новая редакция приложения) 4. `UNRESOLVED` (не с чем сопоставить) - Edge-cases: сопоставление по смыслу (не по символам), qty++ = UPDATE, мощность внутри name, приоритет full_replace, null при отсутствии данных ## Какие проблемы решает | Проблема | Решение | |----------|---------| | Модель путает единицы (кВт vs шт.) | Глоссарий | | Не понимает что «Аренда стойко-места» = «Colocation» | Сопоставление по смыслу | | При увеличении qty создаёт ADD вместо UPDATE | Пример 2 | | full_replace: пишет UPDATE вместо ADD | Пример 3 | | Не создаёт UNRESOLVED для незнакомых услуг | Пример 4 | | «55 000,00 руб.» → строка вместо числа | Правило чисел | ## Размещение Два варианта: 1. Заменить `FALLBACK_EXTRACT` / `FALLBACK_DIFF` в `llm_prompt.py` 2. Обновить активный промпт в БД через UI (вкладка «⚙ Промпты») **Рекомендация:** оба. Fallback в Python — защита если БД недоступна. БД — основной источник. Сделать одновременно. ## ⚠️ Важно: фигурные скобки в Python В Python-строке (тройные кавычки) `{` и `}` НЕ требуют удвоения — они не являются f-string placeholder'ами. Удвоение (`{{`, `}}`) нужно ТОЛЬКО если используется `.format()`. В текущем коде промпты — обычные строки в тройных кавычках, подстановка через `.replace()`. Поэтому фигурные скобки оставляем одинарными. ## Статус - [x] Opus выдал готовые промпты - [ ] Заменить в `llm_prompt.py` - [ ] Обновить в БД (сохранить как новую версию) - [ ] Bump + пуш + синк VM