4.4 KiB
Opus 4.8 — Раунд 2: Практические ответы для реального проекта
Дата: 2026-06-23
Вопрос 1: Одна идея с максимальным преимуществом
Provenance с кликабельной трассировкой до исходного текста.
Юрист подписывается под результатом. «Добавилась услуга X за 15000» без источника — бесполезно. «Добавилась услуга X ← допник №3, п.2.4, вот абзац» → проверка за 2 секунды → реальная экономия.
Механика: каждая op содержит source_quote (точная цитата из документа). Клик по строке → показать исходный абзац в документе.
Вопрос 2: Self-consistency vs logprobs
N=1 + self-reported confidence. Не logprobs.
Причины:
- logprobs на JSON шумные — не отражают уверенность в смысле
- Модель сама возвращает
confidence: 0.0-1.0— ноль инфраструктуры - Self-consistency 3 прогона НЕ утраивает время: прогоны одного файла независимы → параллельно ~80с, не 240с
Оптимальный гибрид: N=1 по умолчанию. Для ops с confidence < 0.7 → выборочный повторный прогон. Низко-confidence → в очередь на ручную проверку.
Вопрос 3: Минимальный двухслойный лог
Слой 1 уже есть — таблица documents (original_bytes + elements_json = сырые факты).
Минимальное: добавить в spec_events колонку source_document_id (FK → documents).
Не нужно event_type, не нужно parent_event_id. Одна FK-колонка даёт:
- Двухслойное разделение
- Provenance-костяк
- Возможность ре-интерпретации новыми моделями
Вопрос 4: Эмбеддинги vs NFKC
NFKC покрывает ~90-95%. Эмбеддинги преждевременны.
NFKC ловит типографику (тире, пробелы, кавычки). Эмбеддинги нужны только для семантического перефраза — но в домене облачного провайдера допники копируют названия дословно. Плюс после подачи LLM spec_current с готовыми ID проблема матчинга почти исчезает.
Рекомендация: NFKC достаточно. pgvector добавлять только при доказанных промахах.
Вопрос 5: Temporal UI
Шаговый таймлайн: Договор → Допник1 → Допник2 → Допник3.
Клик на узел = спецификация на этот момент.
Две ручки выбора (from/to): diff-таблица между версиями.
Визуализация: 🟢 добавлено / 🔴 удалено / 🟡 изменено с inline old→new.
Каждая строка кликабельна → provenance (исходный абзац).
Два режима: «Итог» (последняя vs база) и «Пошагово» (дельта каждого допника).
Вопрос 6: Provenance MVP — колонки
Три колонки в spec_events:
source_document_idFK → documents — самая важная. Костяк всего.prompt_versionTEXT — какая версия промпта.raw_llm_responseJSONB — полный ответ модели.
Поле source_quote — внутри op (в raw_llm_response), не отдельная колонка.
Сквозная логика
source_document_id + source_quote от LLM закрывают provenance, двухслойность и трассировку одновременно. Самый дешёвый и конкурентный ход. Temporal UI — следующий слой поверх той же истории.