3.3 KiB
3.3 KiB
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 примера:
partial, UPDATE ценыpartial, ADD + UPDATE qty + UPDATE мощности (внутри name)full_replace(новая редакция приложения)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 руб.» → строка вместо числа | Правило чисел |
Размещение
Два варианта:
- Заменить
FALLBACK_EXTRACT/FALLBACK_DIFFвllm_prompt.py - Обновить активный промпт в БД через UI (вкладка «⚙ Промпты»)
Рекомендация: оба. Fallback в Python — защита если БД недоступна. БД — основной источник. Сделать одновременно.
⚠️ Важно: фигурные скобки в Python
В Python-строке (тройные кавычки) { и } НЕ требуют удвоения — они не являются f-string placeholder'ами. Удвоение ({{, }}) нужно ТОЛЬКО если используется .format(). В текущем коде промпты — обычные строки в тройных кавычках, подстановка через .replace(). Поэтому фигурные скобки оставляем одинарными.
Статус
- Opus выдал готовые промпты
- Заменить в
llm_prompt.py - Обновить в БД (сохранить как новую версию)
- Bump + пуш + синк VM